반응형
아두이노에 버튼을 연결하는 것은 가장 기초적인 부분이지만 연결하는 방법이 가끔은 헷갈릴때가 있다. 우선 아래의 코드를 고려해보자
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 |
int trig = 5;
int msg3;
void setup() {
Serial.begin(9600);
pinMode(trig, INPUT);
}
void loop() {
int trig = digitalRead(5);
if(trig==0){
msg3 = 0;
}
else{
msg3 = 1;
}
Serial.print(msg3);
} |
cs |
만약 이 상태에서 버튼을 아래와 같이 연결했다면 버튼을 누르면 확실이 버튼을 누른것으로 인식한다. 그 이유는 디지털핀 5번과 GND가 연결되었기 때문에 LOW의 상태로 인식된다.
하지만 스위치가 열려있는 상태에서는 디지털 핀 5가 HIGH인지 LOW인지 정확히 알기 어려운 상태가 된다. (플로팅 상태라고 한다) 실제로 시리얼 모니터로 확인해보면 0과 1을 반복해서 출력한다. 이 현상을 해결하기 위해서는 아래와 같이 회로를 꾸미면 된다.
저항은 클수록 좋지만 수백옴 이상이면 별 상관이 없다.
반응형
'아두이노' 카테고리의 다른 글
비트코인 시세 모니터 만들기 [아두이노/ESP8266] (2) | 2018.01.28 |
---|---|
아두이노 I2C 주소 스캔하기 (3) | 2018.01.25 |
아두이노로 자동 로그인 장치 만들기 (16) | 2017.12.23 |
wemos d1으로 인터넷 시계 만들기 (0) | 2017.11.14 |
DHT22 온습도 모듈 사용하기 (0) | 2017.11.05 |