아두이노 - 키패드 도어락 | Arduino - Keypad Door Lock
이 튜토리얼에서는 키패드와 솔레노이드 잠금장치를 사용하여 비밀번호가 있는 도어락 시스템을 만드는 방법을 배웁니다.
정확한 비밀번호로 문이 열리면, 문을 20초 동안 열린 상태로 유지한 후 자동으로 다시 문을 잠근다. 아두이노 코드는 여러 비밀번호를 지원한다.
※ NOTE THAT:
우리는 또한 다른 문 잠금 시스템 튜토리얼을 제공합니다:
준비물
1 | × | Arduino Uno | Amazon | |
1 | × | USB 2.0 cable type A/B | 쿠팡 | Amazon | |
1 | × | Keypad 3x4 and 4x4 Kit | 쿠팡 | Amazon | |
1 | × | (Alternative) Keypad 3x4 | 쿠팡 | Amazon | |
1 | × | (Alternative) Keypad 4x4 | 쿠팡 | Amazon | |
1 | × | Relay | Amazon | |
1 | × | Solenoid Lock | Amazon | |
1 | × | 12V Power Adapter | Amazon | |
1 | × | DC Power Jack | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino Uno | Amazon |
키패드 및 솔레노이드 잠금에 대하여
솔레노이드 잠금장치와 버튼(핀 아웃, 작동 원리, 프로그래밍 방법 등)에 대해 모른다면, 다음 튜토리얼에서 배워보세요:
아두이노 코드 - 키패드와 솔레노이드 잠금을 사용한 비밀번호 도어락 시스템
※ NOTE THAT:
LCD의 I2C 주소는 제조업체에 따라 다를 수 있습니다. 코드에서 우리는 DIYables 제조업체에서 명시한 0x27을 사용했습니다.
사용 방법
- USB 케이블을 이용하여 아두이노를 PC에 연결하세요.
- 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요.
- 아두이노 IDE 왼쪽 바의 Libraries 아이콘으로 이동하세요.
- “keypad”를 검색한 다음, Mark Stanley, Alexander Brevig가 만든 키패드 라이브러리를 찾으세요.
- 키패드 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
- 위의 코드를 복사하고 Arduino IDE로 열기
- Arduino IDE에서 Upload 버튼을 클릭해 Arduino로 코드 업로드
- 시리얼 모니터 열기
- 12345 키를 누르고 # 누르기
- 1234ABC 키를 누르고 # 누르기
- 20초 동안 잠금 혀의 상태 확인하기
- 시리얼 모니터에서 결과 보기
코드 설명
아두이노 코드에서 미리 정의된 유효한 비밀번호가 있습니다.
사용자의 입력 비밀번호를 저장하는 데 사용되는 문자열을 입력 문자열이라고 합니다. 키패드에서는 두 개의 키(*와 #)가 특별한 목적으로 사용됩니다: 비밀번호 지우기와 비밀번호 종료입니다. 시스템은 다음과 같이 작동합니다:
- 두 개의 특수 키를 제외하고 다른 키가 눌리면, 입력 문자열에 추가됩니다.
- *가 눌리면, 입력 문자열이 초기화됩니다. 이것을 사용해서 비밀번호를 입력하거나 재입력하는 것을 시작할 수 있습니다.
- #가 눌리면:
- 입력 문자열이 사전에 정의된 비밀번호와 비교됩니다. 만약 사전에 정의된 비밀번호 중 하나와 일치한다면, 릴레이를 제어하여 문을 개방합니다.
- 비밀번호가 맞든 틀리든 관계없이, 다음 입력을 위해 입력 문자열이 초기화됩니다.
※ NOTE THAT:
위 코드에서, 간단하게 하기 위해 delay 함수를 사용했습니다. delay() 대신 millis()를 사용하는 것이 더 좋습니다. millis()를 delay() 대신 사용하는 방법을 보세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.