본문 바로가기
Programming/아두이노

아두이노 : 버튼 제어, LED 불켜기

by 공부합시다홍아 2020. 7. 1.
const int LED = 3;
const int button = 2;
int state = 0;

void setup() {
  // put your setup code here, to run once:
  pinMode(LED, OUTPUT);
  pinMode(button, INPUT);

}

void loop() {
  // put your main code here, to run repeatedly:
  int Input = digitalRead(button);

  if(Input == HIGH) //입력이 1일 때
  {
    if(state == 0)   //상태 0 일때 1로 변환
    {
      state = 1;
    }
    else if(state == 1)  //상태 1일 때 0으로 변환
    {
      state = 0;
    }
  }
    if(state == 0 )
    {
      digitalWrite(LED, LOW); //0이라면 LED끄기
    }
    else if(state == 1)
    {
      digitalWrite(LED, HIGH); //1이라면 LED 키기
       
  }
  digitalWrite(LED, Input);
}

1. 버튼을 누르면 지속적으로 LED가 켜져있습니다.

2. LED가 켜져있는 상태로 버튼을 누르면 LED가 꺼집니다.

- int state = 0;     :    state라는 변수에 0을 저장한 변수

- button이 한 번씩 HIGH가 될 때마다 0에서 1로, 1에서 0으로 바뀔 수 있도록 합니다.

즉, button이 한 번 눌러지면 지속적으로 LED가 켜지고 다시 한 번 누르면 LED가 꺼집니다.

 

사용 센서 : LED 1개 , 저항(10K) , 버튼 센서 

 

다른 방법 

현재 값과 이전 값을 저장하는 변수로 선언하고, 이전 값에 현재 값을 저장시켜 불이 들어오고 켜지게 한다.

728x90

'Programming > 아두이노' 카테고리의 다른 글

아두이노 : LED, 점점 밝게 하기  (0) 2020.07.01