아두이노 키패드 도어락
이 튜토리얼에서는 키패드와 솔레노이드 잠금장치를 사용하여 비밀번호가 있는 도어락 시스템을 만드는 방법을 배웁니다.
정확한 비밀번호로 문이 열리면, 문을 20초 동안 열린 상태로 유지한 후 자동으로 다시 문을 잠근다. 아두이노 코드는 여러 비밀번호를 지원한다.
준비물
| 1 | × | 아두이노 우노 R3 | 쿠팡 | 아마존 | |
| 1 | × | USB 2.0 타입 A-to-B 케이블 (USB-A PC용) | 쿠팡 | 아마존 | |
| 1 | × | USB 2.0 타입 C-to-B 케이블 (USB-C PC용) | 아마존 | |
| 1 | × | 키패드 3x4 and 4x4 Kit | 쿠팡 | 아마존 | |
| 1 | × | (또는) 키패드 3x4 | 쿠팡 | 아마존 | |
| 1 | × | (또는) 키패드 4x4 | 쿠팡 | 아마존 | |
| 1 | × | 릴레이 | 아마존 | |
| 1 | × | 솔레노이드 잠금장치 | 쿠팡 | 아마존 | |
| 1 | × | 12V 전원 어댑터 | 아마존 | |
| 1 | × | DC 커넥터 전원 연결 잭 플러그 소켓 | 쿠팡 | 아마존 | |
| 1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 스크루 터미널 블록 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) Sensors/Servo Expansion Shield for Arduino Uno | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 브레드보드 쉴드 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 케이스 | 쿠팡 | 아마존 | |
| 1 | × | (추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 | 아마존 |
키패드 및 솔레노이드 잠금에 대하여
솔레노이드 잠금장치와 버튼(핀 아웃, 작동 원리, 프로그래밍 방법 등)에 대해 모른다면, 다음 튜토리얼에서 배워보세요:
선연결
아두이노 - 키패드가 있는 도어락, 전자석 잠금장치

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
오래 사용할 프로젝트라면 나사 단자가 점퍼 와이어보다 전선을 더 잘 고정합니다. Proto Screw Terminal Block Shield 또는 Screw Shield V2로 이 문제를 해결할 수 있습니다. Arduino에 꽂고 전선을 나사로 고정하세요. 배선은 같습니다. 아래 그림처럼 전선만 나사 단자로 연결됩니다.

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아두이노 코드 - 키패드와 솔레노이드 잠금을 사용한 비밀번호 도어락 시스템
※ 주의:
LCD의 I2C 주소는 제조업체에 따라 다를 수 있습니다. 코드에서 우리는 DIYables 제조업체에서 명시한 0x27을 사용했습니다.
사용 방법
- USB 케이블을 이용하여 아두이노를 PC에 연결하세요.
- 아두이노 IDE를 열고, 올바른 보드와 포트를 선택하세요.
- 아두이노 IDE 왼쪽 바의 Libraries 아이콘으로 이동하세요.
- “keypad”를 검색한 다음, Mark Stanley, Alexander Brevig가 만든 키패드 라이브러리를 찾으세요.
- 키패드 라이브러리를 설치하려면 Install 버튼을 클릭하세요.

- 위의 코드를 복사하고 Arduino IDE로 열기
- Arduino IDE에서 Upload 버튼을 클릭해 Arduino로 코드 업로드
- 시리얼 모니터 열기
- 12345 키를 누르고 # 누르기
- 1234ABC 키를 누르고 # 누르기
- 20초 동안 잠금 혀의 상태 확인하기
- 시리얼 모니터에서 결과 보기
코드 설명
아두이노 코드에서 미리 정의된 유효한 비밀번호가 있습니다.
사용자의 입력 비밀번호를 저장하는 데 사용되는 문자열을 입력 문자열이라고 합니다. 키패드에서는 두 개의 키(*와 #)가 특별한 목적으로 사용됩니다: 비밀번호 지우기와 비밀번호 종료입니다. 시스템은 다음과 같이 작동합니다:
- 두 개의 특수 키를 제외하고 다른 키가 눌리면, 입력 문자열에 추가됩니다.
- *가 눌리면, 입력 문자열이 초기화됩니다. 이것을 사용해서 비밀번호를 입력하거나 재입력하는 것을 시작할 수 있습니다.
- #가 눌리면:
- 입력 문자열이 사전에 정의된 비밀번호와 비교됩니다. 만약 사전에 정의된 비밀번호 중 하나와 일치한다면, 릴레이를 제어하여 문을 개방합니다.
- 비밀번호가 맞든 틀리든 관계없이, 다음 입력을 위해 입력 문자열이 초기화됩니다.
- 키패드가 눌릴 때마다 비프음을 내기 위해 아두이노 - 압전 부저를 추가할 수 있습니다.
- 위 코드들에서, 문은 20초 후에 다시 잠깁니다. 아두이노 - 문 센서로 교체할 수 있습니다. 사용자가 문을 닫으면 문 센서가 감지하여 문이 잠깁니다.
※ 주의:
위 코드에서, 간단하게 하기 위해 delay 함수를 사용했습니다. delay() 대신 millis()를 사용하는 것이 더 좋습니다. millis()를 delay() 대신 사용하는 방법을 보세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.