반응형

 

아두이노, 초음파 센서 예제 2

 

글. 오상문 sualchi@daum.net

 

 

초음파센서 TRIG 핀은 아두이노 디지털 4번에 연결

초음파센서 ECHO 핀은 아두이누 디지털 3번에 연결

초음파센서 양극은 POWER 5V에 연결 

초음파센서 음극은 GND에 연결

 

피에조 부저(스피커) 양극은 디지털 9번 핀

피에조 부저 음극(양극 반대쪽)은 GND 핀에 연결 

 

[참고] 예제에 사용한 부저는 수동 부저입니다. (부저에는 능동 부저와 수동 부저가 있어요.)

 

 

 

 

 

/*
초음파 센서 참고 예제

 

초음파 TRIG 핀은 아두이노 디지털 4번에 연결

초음파 ECHO 핀은 아두이누 디지털 3번에 연결

초음파 양극은 POWER 5V에 연결 

초음파 음극은 GND에 연결

 

피에조 부저(스피커) 양극은 디지털 9번 핀에 연결하고 반대쪽은 GND에 연결 

*/

 

/*

초음파 센서 예제

*/

#define TRIG 4

#define ECHO 3

#define BUZ  9

 

unsigned long distance = 0;

 

void setup() {

  Serial.begin(9600);

  pinMode(BUZ, OUTPUT);  // 피에조 부저 출력 설정  

  pinMode(TRIG, OUTPUT);  // 초음파 출력 설정

  pinMode(ECHO, INPUT);   // 초음파 입력 설정

 

void loop() {  

  digitalWrite(TRIG, LOW);

  delayMicroseconds(2);

  digitalWrite(TRIG, HIGH);

  delayMicroseconds(5);

  digitalWrite(TRIG, LOW);      

  

  distance = pulseIn(ECHO, HIGH) / 29 / 2;  // cm 단위로 변경

  Serial.println( distance );

    

  if (distance < 10)         // 10cm보다 가까우면...

    tone(BUZ, 330, 200);    // 330Hz(미), 시간 0.2초    

  else if (distance < 20)   // 20cm보다 가까우면...

    tone(BUZ, 294, 200);    // 294Hz(레)   

  else if (distance < 30)    // 30cm보다 가까우면...

    tone(BUZ, 262, 200);    // 262Hz(도) 

 

  delay(300);  

}

 

<이상>

 

반응형

+ Recent posts