인투피온 강좌/아두이노 팁(Tip)

아두이노 초음파센서로 경보음 울리기

인투피온 2021. 12. 13. 11:13

 

 

안녕하세요. 오늘은 지난시간에 이어

초음파 센서를 활용한 접근금지 경보음 울리기

를 알아보겠습니다.

 

이렇게 거리별로 단계를 나누어서 색을 정하고

빨간불이 들어오면 부저가 울리게 됩니다.

 

준비물

 

 

RGB LED 사용방법

 

https://intopionshop.tistory.com/67?category=1021753 

 

아두이노 RGB LED 모듈 사용하기

안녕하세요. 오늘은 아두이노 RGB LED 모듈을 사용해보겠습니다. ​ RED, GREEN, BLUE 3색을 이용해 원하는 색을 나타낼 수 있는데요. 그럼 사용법에 대해 알아보겠습니다. RGB LED 모듈 사용하기 준비물

intopionshop.tistory.com

 

 

 

회로 연결하기

 

초음파센서 HC-SR04
RGB LED 모듈
부저 ALP1205S
GND
GND
GND
GND
-
GND
Echo
4
R
8
+
12
Trig
5
G
9
VCC
5V
B
10

각 핀에 맞는곳에 연결해 주시면 됩니다.

 

 

 
 

모든 연결은 마친 상태입니다. 이제 소스만 업로드해주면 됩니다.

 

 

코딩하기

 

//각 센서의 핀을 설정해줍니다.. 다른 핀에 연결해도 됩니다.

#define RED 8
#define GREEN 9
#define BLUE 10
int buzzer=12;
int trigPin = 5;
int echoPin = 4;

void setup(){
   Serial.begin(9600);
   pinMode(trigPin, OUTPUT);
   pinMode(echoPin, INPUT);

   pinMode(buzzer, OUTPUT);

   pinMode(RED, OUTPUT);
   pinMode(GREEN, OUTPUT);
   pinMode(BLUE, OUTPUT);
   digitalWrite(RED, HIGH);
   digitalWrite(GREEN, LOW);
   digitalWrite(BLUE, LOW);
}

void loop(){
   int redValue=0; //RGB는 각 색상의 0~255까지의 값을 이용해 출력하므로   int greenValue=0; // 값을 저장할 변수를 지정해 줍니다.
   int blueValue=0;

   float duration, distance;

   digitalWrite(buzzer, LOW);
   analogWrite(RED, redValue);
   analogWrite(GREEN, greenValue);
   analogWrite(BLUE, blueValue);


   digitalWrite(trigPin, HIGH); //초음파를 보낸후 echopin이 HIGH 상태로 대기합니다.
   delay(20);
   digitalWrite(trigPin, LOW);

   // echopin HIGH 지속시간을 저장합니다.
   duration = pulseIn(echoPin, HIGH);
   // 초음파의 속도 340, 밀리세컨드에서 세컨드로 10000
   // 초음파가 나갔다가 돌아오는 거리이므로 2로 나누어줍니다.
   distance = ((float)(340 * duration) / 10000) / 2;

         if(distance<30)
         {
         redValue=0;
         greenValue=0;
         blueValue=255;

         analogWrite(RED, redValue);
         analogWrite(GREEN, greenValue);
         analogWrite(BLUE, blueValue);
                  if(distance<20)
                  {
                           redValue=0;
                           greenValue=255;
                           blueValue=0;
                           analogWrite(RED, redValue);
                           analogWrite(GREEN, greenValue);
                           analogWrite(BLUE, blueValue);
                  }
                    if(distance<13)
                    {
                          redValue=200;
                          greenValue=100;
                          blueValue=0;

                          analogWrite(RED, redValue);
                          analogWrite(GREEN, greenValue);
                          analogWrite(BLUE, blueValue);
                    }
                      if(distance<7)
                      {
                          redValue=255;
                          greenValue=0;
                          blueValue=0;

                          analogWrite(RED, redValue);
                          analogWrite(GREEN, greenValue);
                          analogWrite(BLUE, blueValue);
                          digitalWrite(buzzer, HIGH);
                      }
         }
delay(1000); }


}

 

거리별로 30, 20, 12, 7CM 보다 가까워졌을때 단계적으로 색이 변하고

7CM보다 가까워지면 빨간색과 함께 부저가 울리게 됩니다.

 

 

 

이렇게 일정거리보다 가까워지면 부저가 울리게 되고,

거리를 세분화해서 RGB로 나타낼 수 도 있습니다.

이상으로

초음파 센서를 활용한 접근금지 경보음 울리기

를 알아 보았습니다.

 

 

 

해당 내용을 영상으로 보고싶다면 인투피온TV 유튜브로 볼 수 있습니다.

 

 

 

 

전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.

▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net