아두이노, 버튼을 활용한 시리얼프린트 예제(풀다운 저항 설명)

2021. 10. 3. 00:39아두이노

반응형

 

 

안녕하세요 통클입니다. 제가 이전에 교육하기 위해 정리했던 아두이노 관련 교육 자료들을 정리해서 포스팅하려고 합니다. 아두이노를 공부하는 초심자들에게 조금이나마 도움이 되었으면 좋겠습니다.

 

2020.11.14 - [아두이노] - 아두이노 입문하기-3, 버튼으로 led 제어하기, 플루팅 현상이란?

2020.12.24 - [아두이노] - 아두이노 입문하기 6 - 스케치 시리얼 통신


위 글을 보고 오시면 이번 포스팅 내용을 이해하기 쉽습니다.


1. 버튼 회뢰 구성과 코드

시리얼 함수를 단순히 스케치 내에 출력만 하는 것이 아니라 아두이노 회로와 연동하여 활용하는 방법을 소개합니다.

첫 번째로 버튼을 사용해 볼 건데요. 아래와 같이 버튼을 아두이노와 연결합니다.

아두이노 버튼 회로

 

버튼을 눌렀을 때 아두이노가 버튼의 값을 확인해서 시리얼 통신으로 스크린에 출력하는 기능을 코드로 나타내 보겠습니다.

버튼, 시리얼 통신 코드

코드를 단순히 해석해 보면 6번 핀을 buttonPin이라는 이름으로 지정했습니다. (digitalRead 사용)

그리고 buttonPin의 디지털 값을 읽어 오는 변수를 a라고 지정한 상황입니다.

그리고 시리얼 함수 Serial.prinln()로 그 값을 출력하는 것이죠.

확 줄여 말하면 '6번 핀의 값을 시리얼 프린트로 출력한다'입니다.

 

과정을 확 줄여서 코드를 짤 수도 있지만 나중에 코드가 길어질 때를 대비(?)했습니다.

 

자 그러면 코드가 실제로 진행되면 어떤 값이 출력이 될지 알아봐야겠죠.

 

 

2. 풀다운 저항

그전에 풀다운(pull-down) 저항에 대해서 알아보겠습니다.

풀다운 저항

아두이노 입장에서 생각을 해 볼게요. 버튼이 눌리지 않았을 때 6번 핀은 GND와 연결이 되어 있으므로 입력 신호는 0이 됩니다. 하지만 버튼이 눌리면 5V 전압이 6번 핀으로 가게 되면서 입력 신호가 1이 됩니다.

 

그렇게 되면 시리얼 함수로 버튼 값을 출력하게 되면 Serial.prinln()으로 출력이 되기 때문에 줄 바꿈이 생깁니다.

그러면서 시리얼 프린트에서 아래와 같은 상황이 연출이 될 겁니다.

 

버튼을 누르지 않았을 때

0

0

0

0

.

.

.

(버튼을 누른 순간)

1

1

1

1

(버튼에서 손을 떼면)

0

0

0

0

 

코드와 회로를 이해하면서 코드를 짜면 더욱 실력이 높아질 것 같습니다.

이상으로 아두이노 버튼과 시리얼통신에 대한 내용을 마무리하겠습니다.

여기까지 읽어주셔서 감사합니다.



출처: https://rf-yeolmu.tistory.com/74?category=895357 [RF 스터디 블로그]

반응형