Raspberry Pi Button Pump (Nút nhấn điều khiển máy bơm)
Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi để bật máy bơm trong vài giây khi nút nhấn được ấn và sau đó tắt máy bơm.
Phần cứng cần chuẩn bị
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | breadboard-mount Button with Cap | ||
| 1 | × | breadboard-mount Button Kit | ||
| 1 | × | Panel-mount Push Button | ||
| 1 | × | mô-đun nút nhấn | ||
| 1 | × | Relay | ||
| 1 | × | 12V Pump | ||
| 1 | × | Vinyl Tube | ||
| 1 | × | 12V Power Adapter | ||
| 1 | × | DC Power Jack | ||
| 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) |
Sơ Đồ Kết Nối

This image is created using Fritzing. Click to enlarge image
Code Raspberry Pi
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 trên Raspberry Pi.
- Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng cục bộ với PC.
- Đảm bảo Raspberry Pi của bạn đượ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 bạn sử dụng Raspberry Pi, xem Raspberry Pi - Cài Đặt Phần Mềm
- Kết nối PC với Raspberry Pi qua SSH sử dụng SSH client có sẵn 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, cài đặt bằng lệnh sau:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
- Tạo file Python script button_pump.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-pump
import RPi.GPIO as GPIO
import time
BUTTON_PIN = 18 # GPIO pin connected to the button
RELAY_PIN = 16 # GPIO pin controls the pump 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.HIGH) # turn pump on
print("The door is unlocked")
time.sleep(5) # Wait for 5 seconds
GPIO.output(RELAY_PIN, GPIO.LOW) # turn pump off
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 Python script bằng cách thực thi lệnh sau trong terminal:
python3 button_pump.py
- Ấn nút nhấn
- Kiểm tra trạng thái của máy bơm
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
Xem giải thích từng dòng code được chú thích chi tiết trong mã nguồ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.