BASIC4MCU | 질문게시판 | 아두이노 질문
페이지 정보
작성자 ㅈㅈㅇ 작성일2018-06-12 16:25 조회9,211회 댓글1건본문
적외선 센서에 손을 3초동안 유지된 후에 그 값이 지속되어야 하는데 센서에 손이 떨어지면 그 값이 지속되지 않습니다.
한번 값을 읽으면 그 값이 유지되도록 어떻게 코드를 짜야할까요??
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
SoftwareSerial mySerial(10, 11); // RX, TX
int IRPin = 8;
int ledPin = 13;
int val;void setup() {
pinMode(3, OUTPUT);
pinMode(13, OUTPUT);
pinMode(8, INPUT);
Serial.begin (9600);
mySerial.begin (9600);
mp3_set_serial (mySerial); //set softwareSerial for DFPlayer-mini mp3 module
delay(1); // delay 1ms to set volume
mp3_set_volume (1); // value 0~30
}void loop() {
sensor_timer();
val = digitalRead(IRPin); //read state of the PIR
if (val == LOW) {
digitalWrite(3, LOW);
}
else {
digitalWrite(3, HIGH);
}
delay(1000);
boolean play_state = digitalRead(3);// connect Pin3 to BUSY pin of player
if(play_state == HIGH){
mp3_next ();
}
}
void sensor_timer()
{
if(!digitalRead(IRPin)){
delay(1000);
if(!digitalRead(IRPin)){
delay(1000);
if(!digitalRead(IRPin)){
delay(1000);
Serial.println("3sec");
digitalWrite(ledPin, HIGH);
return;
}
}
}else
digitalWrite(ledPin, LOW);
}
댓글 1
조회수 9,211master님의 댓글
master 작성일
LED가 켜진채로 유지 되어야 한다는 건가요?
뭐가 유지 되어야 하는거죠?