Raspberry Pi Điều Khiển Khóa Điện Từ Bằng Nút Nhấn

Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi và nút nhấn để điều khiển khóa điện từ. Khi nút nhấn được bấm, Raspberry Pi sẽ vô hiệu hóa khóa điện từ trong một khoảng thời gian xác định trước (ví dụ: 10 giây) để mở khóa cửa. Sau đó, khóa điện từ sẽ được kích hoạt lại để khóa cửa.

Linh Kiện Cần Thiết

1×Raspberry Pi 5
1×Khóa Điện Từ
1×Relay
1×Adapter Nguồn 12V
1×Jack Nguồn DC
1×Nút Nhấn Breadboard với Nắp
1×Bộ Kit Nút Nhấn Breadboard
1×Nút Nhấn Panel
1×mô-đun nút nhấn
1×breadboard
1×Dây Jumper
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ề Nút Nhấn và Khóa Điện Từ

Nếu bạn chưa quen thuộc với khóa điện từ và nút nhấn (bao gồm pinout, cách hoạt động và thông tin lập trình), các hướng dẫn sau sẽ giúp bạn:

Sơ Đồ Đấu Nối

sơ đồ đấu nối Raspberry Pi nút nhấn electromagnetic lock

This image is created using Fritzing. Click to enlarge image

Code Raspberry Pi - Nút Nhấn Điều Khiển Khóa Điện Từ Không Có Debouncing

Các Bước Thực Hiện

  • Đảm bảo bạn đã cài đặt Raspbian hoặc hệ điều hành tương thích khác cho Raspberry Pi.
  • Đảm bảo Raspberry Pi của bạn được kết nối cùng mạng nội bộ với máy tính.
  • Đảm bảo Raspberry Pi được kết nối internet nếu bạn cần cài đặt thư viện.
  • Nếu đây là lần đầu tiên bạn sử dụng Raspberry Pi, hãy xem Raspberry Pi - Cài Đặt Phần Mềm
  • Kết nối máy tính với Raspberry Pi qua SSH bằng SSH client tích hợp sẵn trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối máy tính 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:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Tạo file script Python button_electromagnetic_lock.py và thêm code sau:
# Mã Raspberry Pi này được phát triển bởi newbiely.vn # Mã Raspberry Pi này được cung cấp để sử dụng công khai, không có ràng buộc. # Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: # https://newbiely.vn/tutorials/raspberry-pi/raspberry-pi-button-control-electromagnetic-lock import RPi.GPIO as GPIO import time BUTTON_PIN = 18 # GPIO pin connected to the button RELAY_PIN = 16 # GPIO pin controlled the electromagnetic lock via the relay module # Set up the GPIO pins GPIO.setmode(GPIO.BCM) GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(RELAY_PIN, GPIO.OUT) prev_button_state = GPIO.HIGH # HIGH means the button is not pressed initially try: # Lock the door initially GPIO.output(RELAY_PIN, GPIO.HIGH) while True: button_state = GPIO.input(BUTTON_PIN) if button_state == GPIO.LOW and prev_button_state == GPIO.HIGH: # Button is pressed (LOW means pressed due to pull-up resistor) print("The button is pressed") GPIO.output(RELAY_PIN, GPIO.LOW) # Unlock the door print("The door is unlocked") time.sleep(5) # Wait for 5 seconds GPIO.output(RELAY_PIN, GPIO.HIGH) # Lock the door again print("The door is locked again") # Update the previous button state prev_button_state = button_state except KeyboardInterrupt: print("Exiting...") GPIO.cleanup()
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 button_electromagnetic_lock.py
  • Đưa tấm sắt gần nam châm điện.
  • Nhấn nút một lần.
  • Kiểm tra lực hút giữa tấm sắt và nam châm điện trong 10 giây.

Script sẽ 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

Hãy xem giải thích từng dòng có trong phần comment của source code!

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.