아두이노 나노 - 버튼 - 릴레이 | Arduino Nano - Button - Relay
이 튜토리얼은 아두이노 나노와 버튼을 사용하여 릴레이를 제어하는 방법을 안내합니다. 릴레이를 솔레노이드 잠금장치, 전구, LED 스트립, 모터 또는 액추에이터 등에 연결함으로써, 우리는 버튼을 사용하여 그것들을 제어할 수 있습니다. 우리는 두 가지 다른 응용 프로그램을 배울 것입니다:
애플리케이션 1 - 릴레이 상태가 버튼 상태와 동기화됩니다. 자세히 설명하자면:
- 버튼을 누르면 아두이노 나노가 릴레이를 켭니다.
- 버튼을 누르지 않으면 아두이노 나노가 릴레이를 끕니다.
응용 프로그램 2 - 버튼이 눌릴 때마다 릴레이 상태가 토글됩니다. 보다 구체적으로:
아두이노 나노가 버튼이 눌려짐을 감지했을 때(높은 상태에서 낮은 상태로 변경됨), 현재 꺼져 있다면 릴레이를 켜고, 현재 켜져 있다면 릴레이를 끕니다.
버튼을 놓아도 릴레이 상태에는 영향을 주지 않습니다.
애플리케이션 2에서 우리는 버튼을 제대로 작동하게 하기 위해 디바운스(Debounce) 처리를 해야 합니다. 버튼의 디바운싱을 사용하지 않았을 때와 사용했을 때 아두이노 코드를 사용하여 릴레이가 어떻게 동작하는지 비교함으로써 그것이 왜 중요한지 알게 될 것입니다.
준비물
1 | × | Arduino Nano | Amazon | |
1 | × | USB A to Mini-B USB cable | 쿠팡 | Amazon | |
1 | × | Push Button | 쿠팡 | Amazon | |
1 | × | (Optional) Panel-mount Push Button | Amazon | |
1 | × | Relay | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) Solenoid Lock | Amazon | |
1 | × | (Optional) 12V Power Adapter | Amazon | |
1 | × | (Optional) DC Power Jack | 쿠팡 | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for Arduino Nano | 쿠팡 | Amazon |
릴레이와 버튼에 관하여
만약 여러분이 릴레이와 버튼(핀 배치, 작동 방법, 프로그래밍 포함)에 익숙하지 않다면, 다음과 같은 튜토리얼이 도움이 될 수 있습니다:
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
애플리케이션 1 - 릴레이 상태가 버튼 상태와 동기화됩니다
아두이노 나노 코드
사용 방법
- USB 케이블로 컴퓨터에 아두이노 나노를 연결하세요.
- 아두이노 IDE를 실행하고, 올바른 보드와 포트를 선택하세요.
- 코드를 복사하고 아두이노 IDE에서 열어보세요.
- 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 컴파일하고 아두이노 나노로 업로드하세요.
- 버튼을 누르고 몇 초간 계속 누르세요.
- 릴레이 상태의 변화를 확인하세요.
버튼 상태와 릴레이 상태가 동기화되어 있음을 확인하게 될 것입니다.
코드 설명
소스 코드의 주석에 포함된 줄별 설명을 확인하세요!
애플리케이션 2 - 버튼이 릴레이를 전환합니다
아두이노 나노 코드 - 디바운싱 없이 버튼으로 릴레이 전환
코드 설명
Arduino Nano 코드 위의 주석 줄에서 설명을 찾을 수 있습니다.
코드에서 relay_state = !relay_state 표현식은 다음 코드와 동일합니다:
사용 방법
- 코드를 복사하여 아두이노 IDE에서 열어보세요.
- 코드를 아두이노 나노에 업로드하세요.
- 릴리스와 버튼을 여러 번 눌러보세요.
- 릴레이 상태의 변화를 확인하세요.
버튼을 누를 때마다 릴레이가 켜지거나 꺼지는 것을 알아차릴 수 있지만, 항상 같지는 않을 수 있습니다. 때로는 버튼을 한 번 누르는 것만으로도 여러 번 빠르게 전환되거나 전혀 전환되지 않을 수도 있습니다(맨눈으로는 볼 수 없을 정도로 매우 빠르게 두 번 전환됩니다).
이 문제를 해결하려면, 버튼에 대해 디바운스를 해야 합니다.
아두이노 나노 코드 - 디바운싱으로 버튼 토글 릴레이
버튼 디바운싱은 초보자에게 도전적일 수 있습니다. 다행히도, ezButton 라이브러리가 쉽게 만들어 줍니다.
디바운싱이 왜 필요한가요? 자세한 정보는 아두이노 나노 - 버튼 디바운스 튜토리얼을 참조하세요.
사용 방법
- EzButton 라이브러리를 설치하세요. 지침은 방법을 참조하세요.
- 코드를 복사하고 Arduino IDE로 엽니다.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino Nano에 업로드하세요.
- 버튼을 여러 번 누르고 놓으세요.
- 릴레이의 상태 변경을 확인하세요.
버튼을 누를 때마다 릴레이가 한 번만 켜지거나 꺼짐을 알 수 있습니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.