ESP32 - 키패드 도어락 | ESP32 - Keypad Door Lock
이 튜토리얼은 키패드와 솔레노이드 잠금장치를 사용하여 비밀번호가 있는 도어 잠금 시스템을 만드는 방법에 대해 안내합니다. 올바른 비밀번호가 입력되면 시스템은 문을 잠금 해제하고 20초 동안 문을 잠금 해제 상태로 유지한 후 자동으로 다시 잠급니다. ESP32 코드는 여러 비밀번호를 지원하는 기능도 가지고 있습니다.
※ NOTE THAT:
이 튜토리얼 외에도 다음과 같은 문 잠금 시스템에 관한 다른 튜토리얼도 있습니다:
준비물
1 | × | ESP-WROOM-32 Dev Module | 쿠팡 | Amazon | |
1 | × | USB Cable Type-C | 쿠팡 | Amazon | |
1 | × | Keypad 3x4 | 쿠팡 | Amazon | |
1 | × | Relay | Amazon | |
1 | × | Solenoid Lock | Amazon | |
1 | × | 12V Power Adapter | Amazon | |
1 | × | (Optional) DC Power Jack | 쿠팡 | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Recommended) Screw Terminal Expansion Board for ESP32 | 쿠팡 | Amazon |
키패드 및 솔레노이드 잠금장치에 관하여
우리는 키패드와 솔레노이드 잠금장치에 특별히 초점을 맞춘 별도의 튜토리얼을 가지고 있습니다. 각 튜토리얼은 하드웨어 핀아웃, 작동 원리, ESP32에 대한 배선 연결, ESP32 코드 등에 관한 자세한 정보와 단계별 지침을 제공합니다. 이 튜토리얼에 대한 자세한 정보는 다음 링크를 참조하십시오:
선연결
ESP32 - 키패드가 있는 도어 락, 솔레노이드 락
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.
ESP32 코드 - 키패드와 솔레노이드 잠금장치를 사용한 비밀번호 도어락 시스템
사용 방법
- ESP32를 USB 케이블을 사용하여 PC에 연결합니다.
- 아두이노 IDE를 열고, 적절한 보드와 포트를 선택합니다.
- 아두이노 IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭합니다.
- “keypad” 라이브러리를 검색한 다음, Mark Stanley와 Alexander Brevig이 만든 keypad 라이브러리를 찾습니다.
- Install 버튼을 클릭하여 keypad 라이브러리를 설치합니다.
- 제공된 코드를 복사하여 Arduino IDE에 붙여넣으세요.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP32 보드에 컴파일하고 업로드하세요.
- Arduino IDE에서 시리얼 모니터를 엽니다.
- 12345 키를 누르고 그 다음에 # 키를 누르세요.
- 1234567 키를 누르고 그 다음에 # 키를 누르세요.
- 20초 동안 자물쇠 혀의 상태를 관찰하세요.
- 시리얼 모니터에서 출력을 관찰하세요.
코드 설명
이 시스템에서 유효한 비밀번호는 ESP32 코드에 사전 프로그래밍됩니다. 사용자가 입력한 비밀번호를 저장하기 위해 입력 문자열이 사용됩니다. 키패드에는 입력된 비밀번호를 지우고 종료하는 데 사용되는 두 개의 특수 키, *과 #이 있습니다. 시스템은 다음과 같이 작동합니다:
- 특수 키를 제외한 다른 키가 눌리면, 그것은 입력 문자열에 추가됩니다.
- * 키가 눌리면, 입력 문자열이 초기화되고 비밀번호 입력 과정을 다시 시작할 수 있습니다.
- # 키가 눌렸을 때:
- 입력 문자열은 사전에 정의된 비밀번호와 비교됩니다. 만약 사전에 정의된 비밀번호 중 하나와 일치하면, 리레이가 활성화되어 문을 열 수 있습니다.
- 비밀번호가 정확하든 아니든, 다음 입력을 위해 입력 문자열은 초기화됩니다.
※ NOTE THAT:
위의 코드에서 간단하게 하기 위해 delay 함수를 사용했습니다. delay() 대신 millis()를 사용하는 것이 더 좋습니다. millis()를 delay() 대신 어떻게 사용하는지 확인해 보세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.