적외선센서, 재실감지 카운터

적외선센서, 재실감지 카운터

Makerist 0 807
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를 끕니다.
0 Comments
Category
반응형 구글광고 등
State
  • 현재 접속자 90 명
  • 오늘 방문자 1,337 명
  • 어제 방문자 3,368 명
  • 최대 방문자 4,586 명
  • 전체 방문자 676,597 명
  • 전체 게시물 26,446 개
  • 전체 댓글수 36 개
  • 전체 회원수 22 명
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand