라즈베리 파이 키패드 도어 잠금장치
이 튜토리얼은 Raspberry Pi, 키패드, 솔레노이드 잠금장치 또는 전자기 잠금장치, 그리고 LCD 디스플레이를 활용한 비밀번호 도어 잠금 시스템을 만드는 방법을 안내합니다.
사용자가 키패드를 통해 올바른 비밀번호를 입력하면 라즈베리 파이가 솔레노이드 잠금장치를 비활성화하여 문을 엽니다. 문은 자동으로 다시 잠기기 전에 일정 시간(예: 20초) 동안 잠금 해제된 상태로 유지됩니다. 라즈베리 파이 코드는 여러 비밀번호 사용을 허용합니다.
쉽게 하기 위해 튜토리얼은 쉬운 것에서 어려운 것으로 여러 단계로 나누어져 있습니다.
- Part 1: 아두이노 나노, 키패드, 솔레노이드 잠금장치 또는 전자 잠금장치를 이용한 간단한 키패드 도어 잠금 시스템.
- Part 2: 여러 비밀번호 지원 추가.
Hardware Preparation
1 | × | Raspberry Pi 4 Model B | Amazon | |
1 | × | Keypad 3x4 and 4x4 Kit | 쿠팡 | Amazon | |
1 | × | Relay | Amazon | |
1 | × | Solenoid Lock | Amazon | |
1 | × | 12V Power Adapter | Amazon | |
1 | × | DC Power Jack | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (추천) Electromagnetic Lock | Amazon | |
1 | × | (추천) Screw Terminal Block Shield for Raspberry Pi | 쿠팡 | Amazon | |
1 | × | (추천) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B | Amazon | |
1 | × | (추천) Plastic Case and Cooling Fan for Raspberry Pi 4B | Amazon | |
1 | × | (추천) HDMI Touch Screen Monitor for Raspberry Pi | Amazon |
키패드, 솔레노이드 잠금장치, 그리고 전자기 잠금장치에 대하여
솔레노이드 잠금장치와 전자기 잠금장치는 문을 잠그고/푸는 데 사용됩니다. 이들은 주로 기계적 설계 측면에서 서로 다릅니다. 이들을 라즈베리 파이에 연결하는 방법은 유사합니다. 이들을 제어하는 라즈베리 파이 코드는 동일합니다.
키패드, 솔레노이드 잠금장치, 전자기 잠금장치(핀아웃, 작동 원리, 프로그래밍 방법 ...)에 익숙하지 않다면, 다음 튜토리얼이 학습에 도움이 될 수 있습니다:
Wiring Diagram
- 라즈베리 파이, 키패드 및 솔레노이드 잠금 장치와 함께하는 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
- 라즈베리 파이, 키패드 및 전자 자물쇠와의 배선도
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
배선 구성을 간단하고 체계적으로 만들기 위해, Raspberry Pi용 스크루 터미널 블록 실드 사용을 권장합니다. 이 실드는 아래와 같이 더욱 안정적이고 관리하기 쉬운 연결을 제공합니다:
라즈베리 파이 코드 - 키패드 도어락
Detailed Instructions
- Raspberry Pi에 Raspbian 또는 다른 Raspberry Pi 호환 운영 체제가 설치되어 있는지 확인하십시오.
- Raspberry Pi가 PC와 동일한 로컬 네트워크에 연결되어 있는지 확인하십시오.
- 라이브러리를 설치해야 하는 경우 Raspberry Pi가 인터넷에 연결되어 있는지 확인하십시오.
- 처음으로 Raspberry Pi를 사용하는 경우, Raspberry Pi 설정 방법을 참조하십시오.
- Linux 및 macOS에서는 내장된 SSH 클라이언트를 사용하고 Windows에서는 PuTTY를 사용하여 PC를 Raspberry Pi에 SSH로 연결하십시오. Raspberry Pi에 SSH로 PC를 연결하는 방법을 참조하십시오.
- RPi.GPIO 라이브러리가 설치되어 있는지 확인하십시오. 설치되어 있지 않다면 다음 명령어를 사용하여 설치하십시오:
- Python 스크립트 파일 keypad_lock.py을 생성하고 다음 코드를 추가하세요:
- 파일을 저장하고 터미널에서 다음 명령을 실행하여 Python 스크립트를 실행하세요:
- 1111을 입력하고 #을 누릅니다.
- 그 다음 1234를 입력하고 #을 누릅니다.
- 20초 동안 자물쇠 혀의 상태를 확인합니다.
- 시리얼 모니터에서 결과를 확인합니다.
스크립트는 터미널에서 Ctrl + C를 누를 때까지 무한 루프에서 계속 실행됩니다.
코드 설명
유효한 비밀번호는 Raspberry Pi 코드에 사전 정의되어 있습니다. 문자열은 사용자가 입력한 비밀번호를 저장하는 데 사용되며, 이를 입력 문자열이라고 합니다. 키패드에서는 두 개의 키(*와 #)가 특별한 기능을 위해 사용됩니다: 비밀번호 지우기와 비밀번호 종료. 시스템은 다음과 같이 작동합니다:
- 두 개의 특수 키를 제외하고 다른 키가 눌리면 입력 문자열에 추가됩니다.
- *이(가) 눌리면 입력 문자열이 지워집니다. 이는 비밀번호 입력을 시작하거나 다시 시작하는 데 사용할 수 있습니다.
- #이(가) 눌리면:
- Raspberry Pi는 입력 문자열과 사전 정의된 비밀번호를 비교합니다. 사전 정의된 비밀번호 중 하나와 일치하면, Raspberry Pi는 릴레이를 비활성화하여 문을 엽니다.
- 비밀번호가 맞든 틀리든 관계없이 Raspberry Pi는 다음 입력을 위해 입력 문자열을 지웁니다.
라즈베리 파이 코드 - 다중 키
키패드 도어락에 도어 센서 추가하기
앞서 언급한 코드에서 라즈베리 파이는 잠금 해제 후 일정 시간이 지나면 문을 잠급니다. 그러나 실제 응용 프로그램에서는 시스템에 문 센서가 추가되는 경우가 많습니다. 라즈베리 파이가 문이 닫혔음을 감지하면, 시간을 기다리지 않고 즉시 문을 잠급니다.
당신을 압도하지 않기 위해, 우리는 배선도와 코드에 도어 센서를 포함하지 않았습니다. 대신, 이 부분은 당신의 창의력에 맡기겠습니다. 더 많은 안내를 원하신다면 Raspberry Pi - Door Sensor 및 Raspberry Pi - Door Sensor control Relay 튜토리얼을 확인해 보세요.
Video Tutorial
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.