BASIC4MCU | 질문게시판 | 3색 LED모듈 질문이 있습니다.
페이지 정보
작성자 규태뱃살 작성일2019-11-08 15:09 조회6,040회 댓글2건본문
신호등이 빨간불일 때 초음파 센서가 작동하고 초음파 센서에 10cm이내에 물체가 감지되면 LED가 켜지도록 작성했습니다.
신호가 빨간불에서 노란불로 넘어가는 순간 초음파 센서에 감지되면 LED가 계속 켜져있고 다음 빨간불이 올때까지 계속 켜져있습니다.
어떻게 해야 빨간불에서 노란불로 바뀔 때 LED가 작동이 안하나요?
#define LED_R 3
#define LED_Y 4
#define LED_G 5
#define trig 13
#define echo 12
#define led 8
//
void setup()
{
Serial.begin(9600);
pinMode(LED_R,OUTPUT); pinMode(LED_Y,OUTPUT); pinMode(LED_G,OUTPUT);
pinMode(trig, OUTPUT); pinMode(echo, INPUT); pinMode(led, OUTPUT);
}
//
void loop(){
turnOffAll(); digitalWrite(LED_R,HIGH);
for(int i=0;i<100;i++)
{
digitalWrite(trig, LOW);
digitalWrite(echo, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
unsigned long duration = pulseIn(echo, HIGH);
float distance = duration / 29.0 / 2.0;
Serial.print(distance);
Serial.println("cm");
if (distance < 10) {
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
delay(100);
}
turnOffAll(); digitalWrite(LED_Y,HIGH); delay(2000);
turnOffAll(); digitalWrite(LED_G,HIGH); delay(10000);
turnOffAll(); digitalWrite(LED_Y,HIGH); delay(2000);
}
//
void turnOffAll(){
digitalWrite(LED_R,LOW); digitalWrite(LED_Y,LOW); digitalWrite(LED_G,LOW);
}
댓글 2
조회수 6,040master님의 댓글
master 작성일
초음파센서 벌써 동작시켜보셨나요?
초음파센서 동작시키기 전에는 질문하실 필요 없다고 적어 드렸을텐데요..
뭐라도 내용을 좀 알아야지 설명을 드렸을 때 이해를 할 수가 있죠...
초음파센서 돌려봤으면 예제소스 공부를 좀 하신 후에
지금 예제와 초음파센서 예제를 함께 첨부해서 질문글을 작성해주세요
규태뱃살님의 댓글
규태뱃살 작성일네 해보고 다시 글 작성하겠습니다. 감사합니다