# 제목: 3-pin 스위치(토글 스위치)를 사용해서 두가지 상태를 만들어보자.



# 내용: 3-pin 스위치에 경우 방향에 따라 다른 회로를 구성할 수 있다.



위 사진과 같이 회로를 구성하고 스위치를 좌-우로 움직여보면 어떤 상황일 때 LED가 켜지는 지 확인할 수 있다.

(스위치 구성에 따라 방향이 반대일 수 있으므로 꼭 사용하기 전에 확인하세요)


가운데 핀은 항상 연결이 되어있고, 스위치의 이동에 따라 좌측핀 혹은 우측핀과 가운데핀이 연결되는 구조이다.


오른쪽 버튼스위치의 경우 아예 회로가 단절되었다가 버튼을 눌렀을 때만 회로가 연결되는 구조라면, 토글스위치는 회로가 항상 연결은 되어있으나


두가지 회로 중 선택하는 스위치라고 생각하면 된다.


이번 예제에서는 스위치로 Apple 혹은 Banana 를 표시할 수 있는 회로를 만들어본다.


# 코드:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C lcd(0x3F162);  // I2C LCD 객체 선언
 
const int switchPin = 2;   //아두이노 디지털핀 2번 I/O에 스위치를 연결합니다.
int sensorValue = 0;
 
void setup() {
  lcd.begin(); // lcd를 사용을 시작합니다.
  lcd.clear(); // lcd를 전부 지웁니다.
  lcd.home();  // 첫번째 줄 첫번째(좌측) 위치로 이동한다.
 
  pinMode(switchPin, INPUT);  //switchPin 을 입력으로 설정합니다.
}
 
void loop() {
  lcd.home();
  sensorValue = digitalRead(switchPin);  //digitalRead()를 사용해서 디지털 입력을 받는다.
  if(sensorValue == HIGH) {  //스위치가 +5V와 연결되었을 경우 (HIGH)
    lcd.print(" Apple");
  }
  else {                     //스위치가 GND와 연결되었을 경우 (LOW)
    lcd.print("Banana");
  }
}
cs


# 회로도(Fritzing):




# 실행결과:



# 비고:




+ Recent posts