스위치 모듈(KY-004)
개요
KY-004 스위치 모듈은 아두이노 보드와 호환되는 간단한 스위치 입력 모듈입니다. 아두이노 보드에 연결하여 스위치 입력을 받을 수 있습니다.
택트 스위치(Tact Switch)와 거의 동일한 기능을 하는 모듈이기 때문에 플로팅 현상, 풀업, 풀다운 저항 등 스위치와 관련된 다른 자세한 내용은 택트 스위치 문서를 참고해주세요.
사양
- 작동 전압: 3.3V ~ 5V
- 스위치 출력 레벨: LOW(0V) / HIGH(VCC)
활용 예제
1. 시리얼 모니터로 스위치 입력 여부 확인
스위치를 눌렀는지, 누르지 않았는지 시리얼 모니터로 확인하는 예제입니다.
회로 구성
아두이노 코드
int switchPin = 2; // KY-004 모듈의 OUT 핀을 2번 디지털 핀에 연결
void setup() {
pinMode(switchPin, INPUT);
Serial.begin(9600); // 시리얼 통신 시작
}
void loop() {
int switchState = digitalRead(switchPin); // 스위치 상태 읽기
if (switchState == LOW) { // 스위치가 눌렸을 때
Serial.println("스위치 누름");
} else { // 스위치가 눌리지 않았을 때
Serial.println("스위치 누르지 않음");
}
delay(100); // 100ms 딜레이
}
실행 결과
스위치의 상태가 시리얼 모니터에 표시됩니다.
2. 스위치와 LED를 함께 활용하기
스위치를 누르면 LED가 켜지고, 누르지 않으면 LED가 꺼지는 예제입니다.
회로 구성
아두이노 코드
int switchPin = 2; // KY-004 스위치 모듈 연결 핀
int ledPin = 13; // LED 연결 핀
void setup() {
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT); // LED 핀을 출력으로 설정
}
void loop() {
int switchState = digitalRead(switchPin); // 스위치 상태 읽기
// 스위치가 눌려있으면(LOW 레벨)
if (switchState == LOW) {
digitalWrite(ledPin, HIGH); // LED 켜기
} else {
digitalWrite(ledPin, LOW); // LED 끄기
}
}
실행 결과
스위치를 누를 때만 LED가 켜지는 것을 확인하실 수 있습니다.