적외선센서, 재실감지 카운터
Makerist
예제&실습
0
806
2024.03.06 20:15
const int irSensorPin1 = 2; // 1번 적외선 센서 연결 핀 const int irSensorPin2 = 3; // 2번 적외선 센서 연결 핀 const int ledPin = 13; // LED를 제어하기 위한 핀 int counter = 0; // 카운터 변수 void setup() { pinMode(irSensorPin1, INPUT); pinMode(irSensorPin2, INPUT); pinMode(ledPin, OUTPUT); Serial.begin(9600); // 시리얼 통신 시작 } void loop() { int irSensorState1 = digitalRead(irSensorPin1); int irSensorState2 = digitalRead(irSensorPin2); if (irSensorState1 == HIGH && irSensorState2 == HIGH) { // 2번과 1번 모두 감지되면 카운터 감소 counter--; Serial.println("2번과 1번 감지됨, 카운터 감소"); } else if (irSensorState1 == HIGH) { // 1번 감지되면 카운터 증가 counter++; Serial.println("1번 감지됨, 카운터 증가"); } // 카운터가 0 이상인 경우 LED를 켬 if (counter >= 0) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }
카운터가 0 이상인 경우에만 LED를 켭니다. 그렇지 않으면 LED를 끄게 됩니다.
감지된 상태에 따라 카운터를 증가 또는 감소시키며, 카운터가 0 이하일 때 LED를 끕니다.