종종 우리는 집이나 사무실 (아마도 비밀 덱스터의 실험실)에 방을 확보하여 우리의 허락 없이는 아무도 방에 접근 할 수 없도록하고 중요한 액세서리와 자산의 도난이나 분실로부터 보호해야합니다. 오늘날 많은 유형의 보안 시스템이 존재하지만이면에서 인증을 위해 모두 지문, 망막 스캐너, 홍채 스캐너, 얼굴 ID, 혀 스캐너, RFID 리더, 암호, 핀, 패턴 등에 중계됩니다. 저렴한 방법은 암호 또는 핀 기반 시스템을 사용하는 것입니다. 그래서이 프로젝트에서는 디지털 비밀번호로 보안을 유지하기 위해 기존 도어에 장착 할 수 있는 Arduino 키패드 도어락을 구축했습니다. 이전에 우리는 아래에 나열된 다른 흥미로운 도어 잠금 장치도 만들었습니다.
- Arduino RFID 도어록
- Arduino 솔레노이드 도어록
- Raspberry Pi 디지털 코드 잠금
- 555 타이머 전자 도어록
비밀번호 도어 잠금 프로젝트를 구축하기 전에 먼저 필요한 구성 요소를 수집 한 다음 단계별 구축 프로세스를 수행해야합니다.
구성 요소 목록
- Atmega 328p 마이크로 컨트롤러를 사용하는 Arduino Uno / Pro / Mini 또는 맞춤형 보드
- 16 x 2 LCD (액정 디스플레이)
- Arduino 용 4 x 3 또는 4 x 4 매트릭스 키패드
- 서보 모터
- 3D 인쇄 도어 로커 / 맞춤형 도어 로커
- 1Amp 5V 모바일 충전기의 전원 공급을위한 추가 구성 요소
- 4 ''/ 6 ''플라스틱 상자, 점퍼 와이어, 너트 볼트, 플라스틱 케이스 등
Arduino 키패드 도어락 회로도
Arduino 기반 디지털 키패드 도어록 프로젝트의 전체 회로도가 아래에 나와 있습니다.
우선 Arduino UNO 보드 인이 프로젝트의 두뇌에서 시작합니다. Arduino 보드는 LCD 및 서보 모터에 연결됩니다. 서보 모터는 도어의 래치를 밀거나 (잠금) 당기는 (잠금 해제)에 사용됩니다. Arduino에서 메시지를 표시하려면 16 x 2 LCD가 필요합니다. 16 x 2는 16 개의 열과 2 개의 행이 있음을 의미합니다. 16x2 LCD 디스플레이 모듈을 완전히 처음 사용하는 경우이 Arduino LCD 인터페이스 자습서에서 자세한 내용을 확인할 수 있습니다.
여기에서는 맞춤형 도어 락커를 만들기 위해 5v Towerpro SG90 서보 모터를 사용하고 있습니다. 기본 수준의 서보 모터이며 구동 회로 나 외부 모듈없이 Arduino와 잘 작동합니다. 또한,이 서보 모터의 가격은 매우 저렴하여 쉽게 구입할 수 있습니다. 이 Arduino 서보 모터 제어 튜토리얼을 확인하여 서보 모터와 작동 방식에 대해 자세히 알아볼 수도 있습니다. 서보 모터를 Arduino Digital 핀 D9 및 5V 전원 공급 장치에 연결합니다. 이 서보 모터는 총 3 개의 입력 라인 (GND, + 5V & SIGNAL LINE)을 가지고 있습니다.
이 프로젝트에서는 4 x 4 매트릭스 키패드를 사용했지만 (하지만 4 x 4 키패드 부분은이 그래픽 표현을 위해 fritzing으로 사용할 수 없습니다), 4 x 3 매트릭스 키패드도 내 코딩에서 잘 작동하므로 걱정하지 마십시오.. 비밀번호 입력을위한 키패드가 필요하고 맞춤형 도어락 커를 수동으로 잠급니다. 16 개 키 (소프트 스위치) 4 개 행 (R1, R2, R3, R4) 키와 4 개 열 (C1, C2, C3, C4) 키로 구성되며 키를 누르면 해당 행 사이에 연결이 설정됩니다. 및 열. 아래 표는 Arduino를 키패드와 연결하는 방법을 보여줍니다.
키패드 | Arduino |
핀 1 (행 1) | 디지털 핀 1 |
핀 2 (행 2) | 디지털 핀 2 |
핀 3 (행 3) | 디지털 핀 3 |
핀 4 (행 4) | 디지털 핀 4 |
핀 5 (5 열) | 디지털 핀 5 |
핀 6 (6 열) | 디지털 핀 6 |
핀 7 (열 7) | 디지털 핀 7 |
디지털 키패드 도어록 용 Arduino 코드
전체 Arduino 도어락 코드는이 페이지 하단에서 찾을 수 있습니다. 코드를 직접 업로드 할 수 있지만 코드 작동 방식을 이해하려면 아래 단락을 읽는 것이 좋습니다. 또한 코드를 성공적으로 컴파일하려면 Arduino IDE에 다음 키패드 라이브러리를 추가했는지 확인하는 것이 중요합니다. 그렇게하려면 아래 링크를 열고 ZIP 파일을 다운로드하십시오. 그런 다음 Arduino IDE에서 Sketch-> Include Library-> Add.ZIP Library로 이동하여 방금 다운로드 한 파일을 찾습니다.
- Arduino 키패드 라이브러리
모든 헤더 및 라이브러리 파일을 삽입 한 후 LCD에 대한 모든 핀을 할당하고 암호 길이를 정의하고 서보의 초기 위치를 0으로 설정합니다. 그 후 "char"데이터 유형을 사용하여이를 포함 할 수있는 번호를 선언합니다. 널 문자.
//#포함
이 코드 (char Master = "123456";)를 사용하여-Char Master에서 도어록의 암호를 선언 한 다음 키보드의 행과 열 수를 할당하고 keyMaps를 선언하고 행과 연결합니다. 열. 무효 설정에서 서보 신호 핀 D9를 초기화하고 서보 상태가 닫히고 장치 시작 LCD 시간에 3 초 지연된 프로젝트 / 장치 / 회사 이름을 인쇄합니다.
void setup () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Arduino 문"); lcd.setCursor (0, 1); lcd.print ("-프로젝트보기-"); 지연 (3000); lcd.clear (); }
루프 함수 아래에 간단한 if-else 조건이 있습니다. 상태 (자동으로 잠김)에 따라 3 초의 지연으로“Door is close”를 인쇄하고 서보가 닫힌 위치로 회전하고, 도어 데이터는 1로 계산됩니다. 그렇지 않으면 도어 로커는 열린 상태로 유지되고 데이터 카운트는 0, 서보 열림은 0이됩니다. 180도에서 180 도로 닫히고 180도에서 0으로 이동합니다. 서보 열기 및 서보 닫기 기능은 다음과 같습니다.
void ServoOpen () {for (pos = 180; pos> = 0; pos-= 5) {// 0도에서 180도까지 // 1도 단위로 myservo.write (pos); // 'pos'변수의 위치로 이동하도록 서보에게 지시합니다. delay (15); // 서보가 위치에 도달 할 때까지 15ms 대기}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// 180도에서 0도까지 myservo.write (pos); // 'pos'변수의 위치로 이동하도록 서보에게 지시합니다. delay (15); // 서보가 위치에 도달 할 때까지 15ms 대기}}
서보 위치에 도달하기 위해 15 초 지연된 서보 위치를 작성합니다. 무효 열림 기능에서 LCD "Enter Password"에 인쇄 한 다음 조건은 입력 된 암호가이 본문 데이터 내에서 사용자 지정 키와 동일해야하며 문자를 데이터 배열에 저장하고 LCD에 인쇄 된 증분 및 입력 암호를 저장하도록 지정합니다. 데이터 길이 (키 수) 및 입력 암호가 Data Master (사전 정의 된 키가있는 경우)와 일치합니다. 그런 다음 액션 LCD 클리어, 서보 드라이브, LCD "Door is open"에 인쇄하고 데이터 카운터는 0으로 재설정됩니다.
입력 키가 Data Master와 일치하지 않는 경우 LCD에 대한 조치로 LCD "Wrong Password"에 인쇄를 지우고 1 초의 지연으로 알리고 데이터 카운터를 1로 설정 한 상태에서 잠금 위치를 유지하고 루프에서이 프로세스를 계속합니다..
if (data_count == Password_Lenght-1) // 배열 인덱스가 예상 문자 수와 같으면 데이터를 마스터와 비교 {if (! strcmp (Data, Master)) // 같음 (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("문이 열려 있습니다."); 문 = 0; } else {lcd.clear (); lcd.print ("잘못된 암호"); 지연 (1000); 문 = 1; } clearData (); }
Arduino 키패드 도어락 조립 및 테스트
이제 모든 것을 4 인치 / 6 인치 플라스틱 상자에 넣고 모바일 충전기로 전원을 공급하고 케이스를 사용하여 모든 것을 멋지게 정렬하십시오. 이상적으로는 3D 프린팅을 사용하여 잠금 장치를 조립할 수 있었지만 파일을 디자인 한 후 3D 프린팅이 매우 비싸다는 것을 알았으므로 먼저 서보를 고정한 다음 일반 슬라이드 잠금 장치를 금속판을 사용하여 서보와 연결하고 덮었습니다. 유리 섬유를 사용하여 잘 작동하지만 덜 안전합니다.
보안을 강화하려면이 서보와 내부적으로 작동하는 3D 도어록 모델을 인쇄해야합니다. 아래 링크에서 필요한 STL 파일을 다운로드하고 3D 프린터에 액세스 할 수있는 경우 3D 인쇄 할 수 있습니다.
3D 인쇄용 STL 파일 다운로드
디자인 파일은 아래 그림에도 나와 있습니다.
프로젝트를 시작할 때 처음으로 전원을 켤 때 프로젝트 이름 (회사 이름도 표시 할 수 있음)을 지정해야하므로 상용 장치처럼 스마트하고 독점적으로 보입니다 (아래에서 볼 수 있음). 아래 그림).
로 지연 3초 신속하게 도어를 잠그고 바로 아래 그림에 도시 된 바와 같이 도어 로크 상태의 표시를 확인한다.
“#”키를 눌러 수동으로 출입문을 잠그면 먼저 출입문이 1 초 동안 닫혔다는 메시지가 표시된 후 비밀번호 입력 이 표시됩니다. 반면, 정확한 비밀번호를 입력하여 문이 열리면 Door is Open으로 표시 됩니다.
문이 잠금 해제 상태 인 경우-코드에 따라 수동으로 문을 잠그면 문이 열려 있습니다. 코드를 제공했으며 필요에 따라 코드 표시 매개 변수를 변경하여 설정을 사용자 지정할 수 있습니다. 이 페이지 하단에 링크 된 비디오로 작업 완료를 확인할 수도 있습니다.