Arduino 제어

05. 아두이노 스위치 2개로 LED ON OFF 제어 해보기

대마법사kjs 2022. 5. 4. 03:06

오늘 배울 내용

  • 스위치 2개를 이용하여 LED를 ON/OFF 할 수 있다. 
  • 변수값을 저장하고, 그 변수값에 의해 Action을 취할 수 있다.


준비물 : 

브레드보드, 아두이노 UNO, 스위치 2개, 220옴 저항 1개, 10K옴 저항 2개, LED 1개

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

 

04. 아두이노 내부 풀업 저항 사용하기

이전 시간에서 언급했던 플로팅 현상에 대해서, 다른 방법으로 파훼하는 방법을 진행해보도록 합니다. 오늘의 준비물 : 이번 시간에는 아두이노의 내부 풀업 저항을 사용하여 이전 시간보다 더

kjswizard.tistory.com

 

 

 


결과

 

 

성공적으로 스위치로 LED를 제어할 수 있게되었습니다.

오늘은 스위치 2개로 LED ON/OFF 제어를 하는법에 대해서 배워보았습니다.
도움이 되셨다면 공감이나, 구독, 댓글중에 아무거나 action을 취해주신다면 더 좋은 퀄리티로 보답드리겠습니다.

감사합니다!