05. 아두이노 스위치 2개로 LED ON OFF 제어 해보기
오늘 배울 내용
- 스위치 2개를 이용하여 LED를 ON/OFF 할 수 있다.
- 변수값을 저장하고, 그 변수값에 의해 Action을 취할 수 있다.
준비물 :
220옴 : 빨강 빨강 갈색
10K옴 : 갈색 검정 주황
코드 개요
스위치 1을 누를 시 LED가 점등상태가 된다.
스위치 2를 누를 시 LED가 소등상태가 된다.
void setup() {
pinMode(7, INPUT); // 스위치는 입력신호!
pinMode(8, INPUT); // 스위치는 입력신호!
pinMode(2, OUTPUT); // 램프는 출력신호!
}
void loop() {
if (1번 스위치가 켜지면?)
{
digitalWrite(2, HIGH);
}
if (2번 스위치가 켜지면?)
{
digitalWrite(2, LOW);
}
개인마다 다르겠지만, 글쓴이는 코딩을 할때 처음과 끝을 먼저 작성합니다.
[Input] 신호를 받으면 ~ 조건 생략 ~ 결과 LED "ON"
[Input] 신호를 받으면 ~ 조건 생략 ~ 결과 LED "OFF"
이 상태에서, 이제 조건을 작성해야 합니다.
만약~ 1번 스위치가 켜진다면, HIGH 라는 신호를 내주게 되면 그 HIGH를 LED 변수로 끌어와서 사용할 수 있습니다.
예시 뼈대는 이런식으로 작성이 될 수 있습니다.
int data_v = 0; // 변수 이름을 그냥 data_v라고 지어줬어요
void setup() {
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(2, OUTPUT);
}
void loop() {
if(digitalRead(7)==HIGH){ // LED HIGH
data_v = 1;
}
if(digitalRead(8)==HIGH){ // LED LOW
data_v = 0;
}
digitalWrite(2, data_v);
}
var 이라는 변수의 초기값은 0 입니다.
digitalWrite(2, 0) 이 초기값이 됩니다.
7번 핀에 연결 된 스위치를 누를 시 var 값은 1이 됩니다.
디지털 신호가 0 / 1 = LOW / HIGH로 이루어진다고 본다면, LED 제어가 가능할 것 입니다.
이제 아래의 회로도를 참고하여 결선하시기 바랍니다.(풀다운)
혹은, 이전 시간글을 참고하여 PULLUP 저항으로 구성하셔도 좋습니다(선택)
이전 글 링크 https://kjswizard.tistory.com/6
결과
성공적으로 스위치로 LED를 제어할 수 있게되었습니다.
오늘은 스위치 2개로 LED ON/OFF 제어를 하는법에 대해서 배워보았습니다.
도움이 되셨다면 공감이나, 구독, 댓글중에 아무거나 action을 취해주신다면 더 좋은 퀄리티로 보답드리겠습니다.
감사합니다!