본문 바로가기

프로젝트

캡스톤 : 진동모터와 초음파센서

반응형
#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에수렴할수록 모터의 출력을 키운다.

 

팔이 가까워질수록 진동이 강해지는것을 볼수가 있다.

 

반응형