반응형
#include <SoftwareSerial.h>
#define SIGN_RX 8
#define SIGN_TX 7
#define VIBRATION 11
#define trigPin 13
#define echoPin 12
int blue_distacne;//블루투스로 측정한거리
int echo_distance;
SoftwareSerial SIGN(SIGN_RX, SIGN_TX); // 신호등과 통신할 블루투수 모듈
void setup() {
Serial.begin(9600);
SIGN.begin(9600); // blutooth 송신준비
pinMode(VIBRATION,OUTPUT);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
}
//초음파센서 거리구하는 함수 가까우면 진동발생
void How_long_echo(){
//trigger 핀으로 10us의 펄스를 발생
int echo_distance;//초음파센서로 측정한거리
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
echo_distance = pulseIn(echoPin,HIGH)/58;
if(echo_distance <= 50){
analogWrite(VIBRATION,255-(echo_distance*4));
// Serial.print("how_distance: ");
// Serial.println(echo_distance);
}
else{
analogWrite(VIBRATION,0);
}
}
void loop() {
if (SIGN.available()) {
Serial.write(SIGN.read());
SIGN.write(SIGN.read());
}
if (Serial.available()) {
SIGN.write(Serial.read());
}
How_long_echo();// 초음파센서 측정 50센티보다 가까우면 위치별 진동을 다르게줌
}
https://www.youtube.com/watch?v=aVcUnv1ABVw&feature=youtu.be
지팡이 하단부에 초음파센서를 두어서 진동의세기에따라 장애물의 위치를 알수잇는 지팡이의 소스
최대 출려이 255 이면 가까워지는 값이 0에수렴할수록 모터의 출력을 키운다.
팔이 가까워질수록 진동이 강해지는것을 볼수가 있다.
반응형
'프로젝트' 카테고리의 다른 글
캡스톤 : 오류해결2일차(hm10 안드로이드 블루투스) (1) | 2020.07.04 |
---|---|
캡스톤 : anroid connect(); 오류에 관하여 (0) | 2020.07.04 |
캡스톤 : 아두이노간 블루투스 통신 (0) | 2020.07.04 |
캡스톤 : 안드로이드 개발 (0) | 2020.07.04 |
캡스톤 : 블루투스 (0) | 2020.07.04 |