Raspberry Pi Khóa Cửa Keypad
Tutorial này hướng dẫn bạn cách tạo hệ thống khóa cửa mật khẩu sử dụng Raspberry Pi, keypad và khóa solenoid hoặc khóa điện từ, và màn hình LCD.

Khi người dùng nhập mật khẩu đúng qua keypad, Raspberry Pi sẽ tắt khóa solenoid để mở cửa. Cửa sẽ giữ trạng thái mở trong một khoảng thời gian cụ thể (ví dụ: 20 giây) trước khi tự động khóa lại. Mã Raspberry Pi cho phép sử dụng nhiều mật khẩu khác nhau.
Để dễ dàng hơn, tutorial được chia thành nhiều bước, từ dễ đến khó:
- Phần 1: Hệ thống khóa cửa keypad đơn giản với Arduino Nano, keypad, khóa solenoid hoặc khóa điện từ.
- Phần 2: Thêm hỗ trợ nhiều mật khẩu
Linh Kiện Cần Thiết
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | Bàn phím ma trận 3x4 và 4x4 Kit | ||
| 1 | × | Relay | ||
| 1 | × | Khóa Solenoid | ||
| 1 | × | Adapter Nguồn 12V | ||
| 1 | × | Jack Nguồn DC | ||
| 1 | × | Dây Nối | ||
| 1 | × | (Tùy chọn) Khóa Điện Từ | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Raspberry Pi | ||
| 1 | × | (Khuyến nghị) Raspberry Pi Prototyping Base Plate & Breadboard Kit | ||
| 1 | × | (Khuyến nghị) HDMI Touch Screen Monitor for Raspberry Pi |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Keypad, Khóa Solenoid và Khóa Điện Từ
Cả khóa solenoid và khóa điện từ đều được sử dụng để khóa/mở cửa. Chúng chủ yếu khác nhau về thiết kế cơ học. Cách đấu dây với Raspberry Pi của chúng tương tự nhau. Mã Raspberry Pi để điều khiển chúng cũng giống nhau.
Nếu bạn chưa quen thuộc với keypad, khóa solenoid và khóa điện từ (chân kết nối, cách hoạt động, cách lập trình ...), các tutorial sau đây có thể giúp bạn tìm hiểu:
Sơ Đồ Đấu Dây
- Sơ đồ đấu dây với Raspberry Pi, keypad và khóa solenoid

This image is created using Fritzing. Click to enlarge image
- Sơ đồ đấu dây với Raspberry Pi, keypad và khóa điện từ

This image is created using Fritzing. Click to enlarge image
Mã Raspberry Pi - Khóa Cửa Keypad
Các Bước Nhanh
- Đảm bảo bạn đã cài đặt Raspbian hoặc hệ điều hành tương thích Raspberry Pi khác trên Pi của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối với cùng một mạng cục bộ với PC của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối internet nếu bạn cần cài đặt một số thư viện.
- Nếu đây là lần đầu bạn sử dụng Raspberry Pi, xem Raspberry Pi - Cài Đặt Phần Mềm
- Kết nối PC của bạn với Raspberry Pi qua SSH bằng SSH client tích hợp trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối PC với Raspberry Pi qua SSH.
- Đảm bảo bạn đã cài đặt thư viện RPi.GPIO. Nếu chưa, hãy cài đặt bằng lệnh sau:
- Tạo file script Python keypad_lock.py và thêm đoạn code sau:
- Lưu file và chạy script Python bằng cách thực hiện lệnh sau trong terminal:
- Gõ 1111 và nhấn #.
- Sau đó gõ 1234 và nhấn #.
- Kiểm tra trạng thái lưỡi khóa trong 20 giây.
- Kiểm tra kết quả trên Serial Monitor.
Script chạy trong vòng lặp vô hạn liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.
Giải Thích Code
Các mật khẩu hợp lệ được định nghĩa trước trong mã Raspberry Pi. Một chuỗi được sử dụng để lưu trữ mật khẩu mà người dùng nhập vào, được gọi là chuỗi đầu vào. Trên keypad, hai phím (* và #) được sử dụng cho các chức năng đặc biệt: xóa mật khẩu và kết thúc mật khẩu. Hệ thống hoạt động theo cách sau:
- Ngoài hai phím đặc biệt, nếu phím khác được nhấn, nó sẽ được thêm vào chuỗi đầu vào.
- Nếu * được nhấn, chuỗi đầu vào sẽ được xóa. Điều này có thể được sử dụng để bắt đầu hoặc nhập lại mật khẩu.
- Nếu # được nhấn:
- Raspberry Pi so sánh chuỗi đầu vào với các mật khẩu được định nghĩa trước. Nếu nó khớp với một trong các mật khẩu được định nghĩa trước, Raspberry Pi sẽ tắt relay để mở cửa.
- Bất kể mật khẩu đúng hay sai, Raspberry Pi sẽ xóa chuỗi đầu vào cho lần nhập tiếp theo.
Mã Raspberry Pi - Nhiều Mật Khẩu
Thêm cảm biến cửa vào hệ thống khóa cửa keypad
Trong code được đề cập trước đó, Raspberry Pi khóa cửa sau một khoảng thời gian timeout kể từ khi mở khóa. Tuy nhiên, trong các ứng dụng thực tế, thường có thêm cảm biến cửa vào hệ thống. Nếu Raspberry Pi phát hiện cửa đã đóng, nó sẽ khóa cửa ngay lập tức thay vì chờ timeout.
Để tránh làm bạn choáng ngợp, chúng tôi không đưa cảm biến cửa vào sơ đồ đấu dây và code. Thay vào đó, chúng tôi để phần này cho sự sáng tạo của bạn. Bạn có thể xem các tutorial Raspberry Pi - Cảm Biến Cửa và Raspberry Pi - Cảm Biến Cửa - Relay để có thêm hướng dẫn.
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.