[Switch를 이용한 LED 제어하기]

 

* Switch와 LED 제어

 

 

* 소스

int b = 7;
int led = 12;
int led2 = 13;

void setup(){
  pinMode(b, INPUT);
  pinMode(led, OUTPUT);
  pinMode(led2, OUTPUT);
}

void loop() {
  if(digitalRead(b) == HIGH) {
    	digitalWrite(led, HIGH);
      	digitalWrite(led2, LOW);
      	delay(500);
      	digitalWrite(led, LOW);
      	digitalWrite(led2, HIGH);
      	delay(500);
    	digitalWrite(led2, LOW);
  }
}

 

 

* 스위치 구조

 

 

 - 위의 그림과 회로와 같이 푸시버튼의 구조는 왼쪽 위(1), 왼쪽 아래(2), 오른쪽 위(3), 오른쪽 아래(4)를 기준으로 1번과 2번, 3번과 4번이 연결되어 있는 형태 (푸시버튼의 모델마다 회로는 다를 수 있음)

 

  - 사용할 때는 서로 떨어진 다리를 이용하여 사용함. (1번과 3번, 1번과 4번, 2번과 3번, 2번과 4번)

 

  - 회로의 연결시 버튼이 5V와 GND 모두에 연결되어 쇼트 상황이 나올 수 있어서 저항을 사용하여 풀다운 역할을 하게 함.

 

    = 풀다운 저항 : 버튼이 눌리지 않았을 때 회로를 낮은 상태(GND, 0V)로 묶어주는 저항

  

    = 풀업 저항 : 풀다운 저항과 반대로 버튼이 눌리지 않았을 때 회로를 높은 상태(HIGH, 5V)로 묶어주는 저항

+ Recent posts