안녕하세요 에듀이노입니다.
소스코드 구성에 대한 문의는 따로 답변을 제공하지 않고 있습니다.
다만 가이드라인만 추천해드리자면, 원하는 기능을 함수화를 통한 분할, 조건문을 이용해 함수를 호출하는 방향으로
구성해보시는 것을 추천드립니다.
감사합니다.
[ Original Message ]
int Sensor = 9;
int redpin = 7; // 3색 led 출력, 빨강
int greenpin = 8; // 녹색
int bluepin = 6;
int val;
int delayperiod = 100;
void setup() {
pinMode(Sensor, INPUT); // 센서값을 입력으로 설정
pinMode(redpin, OUTPUT); // 3색 led 출력으로 설정, 빨강
pinMode(greenpin, OUTPUT); // 녹색
pinMode(bluepin, OUTPUT); // 파랑
}
void loop() {
val = digitalRead(Sensor); // 센서값 읽어옴
if (val == HIGH)
{ // 장애물 감지가 안되면
setColor(0,255,255); // 빨간색
delay(delayperiod);}
else { // 장애물이 감지되면
setColor(255,0,255);; // 초록색
delay(delayperiod);
}
delayperiod = delayperiod = 100;
if(delayperiod > 3000)
{ setColor(0,150,150);
}}
void setColor(int red, int green, int blue)
{
analogWrite(redpin, red);
analogWrite(greenpin, green);
analogWrite(bluepin, blue);
}
약 20초 후에 적외선 센서가 작동을 멈춰 장애물이 감지가 되더라도 붉은색만 나오게 만들고 싶습니다.
어떤 부분을 수정하면 될 지 조언 부탁드리겠습니다.