1. 버튼다루기!!
버튼이란 눌렸을때 , 안눌렸을때 를 구분하는 기능을 합니다. 오락실가면 보는 버튼들을 생각하시면되죠.
이번에 할 소스는 '버튼' 을 이용하여 'LED'를 껏다 켰다 하기입니다.
설계도를보시면 5V로 출력하는 부분이 스위치에 연결되어있고
- 하나는 저항을 통해 접지로
- 다른하나는 2번핀으로 들어갑니다.
* 여기서 저항을 사용하는이유 => 저항이없으면 모든전력이 GND로 들어가게됩니다, 하지만 저항이있기에 남는전류가 2번핀으로 들어가게되여 입력되게 됩니다.
위 설계도는 버튼을 눌렀을때 , 안눌렀을때 를 구분하는법입니다. 이제 빵판에 버튼을 이용해 LED를 제어해보도록 하겠습니다.
우선 편하게 진행하기위해 5v는 +에 접지는 -에 꼳아줍니다.
그다음
버튼을 설치합니다.
버튼은 대각선으로 작동합니다. 버튼이 눌렸을때 대각선끼리 이어준다고 생각하시면됩니다.
이렇게되면 위의 설계도처럼 완성이되었내요.
다음은 LED를 설치합니다. 1일차와 같은원리니 어렵지 않다고 생각합니다.
소스코드 1 |
const int buttonPin = 2; const int ledPin = 11; int buttonState = 0; // v void setup() { pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); } void loop(){ buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } } |
위의 소스코드를 적고 작동시키면 아래와 같이 실행될 것입니다.
2. 버튼 2개로 LED 제어하기
빨간 LED는 아직사용할것이 아니니 신경쓰지 마셔도됩니다.
위의 설계도를 참고하여 버튼을 하나더 추가한뒤 소스를 변경해줍니다.
소스코드 2 |
const int buttonPin = 2; const int buttonPin2 = 4; const int ledPin = 11; int buttonState = 0; int buttonState2 = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); pinMode(buttonPin2, INPUT); } void loop(){ buttonState = digitalRead(buttonPin); buttonState2 = digitalRead(buttonPin2); if (buttonState == HIGH && buttonState2 == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } } |
위의 소스코드를 적고 작동시키면 아래와 같이 실행될 것입니다.
- 보너스
위의 방법을 활용하여 버튼2개눌렸을때 3개눌렸을때를 제어해봅시다.
솔직히 동영상이나 설명만보면어렵고
제글을 보러오신분들은 직접 해보시는걸 추천합니다. 사진만 따라하셔도 도움이 되리라 생각드려요.
C를 하신다는 가정하에 글을적기에 소스코드는 따로 설명드리지않습니다.
내일 또 오겠습니다.
'Programming > Arduino' 카테고리의 다른 글
74HC595를 이용한 3핀->8핀 만들기 (1) | 2013.01.17 |
---|---|
4일차 가변저항으로 LED 제어하기 (2) | 2013.01.12 |
3일차 아두이노 피아노 만들기!!! (2) | 2013.01.11 |
보너스 - LED CUBE (0) | 2013.01.09 |
1일차 LED에 불켜보기. (0) | 2013.01.07 |