Raspberry Pi LED Nhấp Nháy Không Có Delay
Hãy tưởng tượng rằng Raspberry Pi cần thực hiện hai tác vụ: nhấp nháy LED và giám sát trạng thái của một nút nhấn có thể được nhấn bất kỳ lúc nào. Nếu chúng ta sử dụng hàm time.sleep() (như đã thảo luận trong Raspberry Pi - LED), Raspberry Pi có thể không phát hiện được một số lần nhấn nút. Nói cách khác, Raspberry Pi không thể hoàn toàn thực hiện tác vụ thứ hai.
Hướng dẫn này sẽ dạy bạn cách Raspberry Pi có thể nhấp nháy LED và giám sát trạng thái nút nhấn mà không bỏ lỡ bất kỳ sự kiện nhấn nào.
Chúng ta sẽ xem xét ba ví dụ và so sánh sự khác biệt giữa chúng:
- Raspberry Pi nhấp nháy LED với hàm time.sleep()
- Raspberry Pi nhấp nháy LED với hàm millis()
Phương pháp này không chỉ giới hạn ở việc nhấp nháy LED và kiểm tra trạng thái nút nhấn. Nó cho phép Raspberry Pi thực hiện nhiều tác vụ đồng thời mà không can thiệp lẫn nhau.
Phần cứng cần chuẩn bị
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | LED Kit | ||
| 1 | × | LED (red) | ||
| 1 | × | LED Module | ||
| 1 | × | điện trở 220 ohm | ||
| 1 | × | Nút nhấn gắn breadboard với nắp | ||
| 1 | × | Bộ kit nút nhấn gắn breadboard | ||
| 1 | × | Nút nhấn gắn panel | ||
| 1 | × | mô-đun nút nhấn | ||
| 1 | × | breadboard (bo mạch thí nghiệm) | ||
| 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ó Delay
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 với Raspberry Pi trên Pi của mình.
- Đả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 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 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 PC của bạn với Raspberry Pi qua SSH sử dụ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 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 một file script Python led_blink_with_delay.py và thêm code sau:
- Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
- Nhấn nút bốn lần.
- Kiểm tra LED; nó sẽ thay đổi giữa trạng thái bật và tắt mỗi giây.
- Xem kết quả đầu ra trong Terminal.
- Trên terminal, một số lần nhấn không được ghi lại. Điều này là do Raspberry Pi không thể làm gì trong thời gian delay, do đó nó không thể phát hiện sự kiện nhấn.
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.
Code Raspberry Pi - Không Có Delay
Các Bước Thực Hiện
- Tạo một file script Python led_blink_without_delay.py và thêm code sau:
- Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
- Nhấn nút 4 lần.
- Kiểm tra LED, nó sẽ thay đổi giữa trạng thái BẬT và TẮT mỗi giây.
- Kiểm tra kết quả đầu ra trong Terminal.
- Tất cả các sự kiện nhấn đều được nhận diện trong khi LED đang nhấp nháy.
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
Hãy xem giải thích từng dòng code có trong phần comments 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.
Khả Năng Mở Rộng
Phương pháp này cho phép Raspberry Pi thực hiện nhiều tác vụ đồng thời mà không can thiệp lẫn nhau. Ví dụ, gửi request lên Internet và chờ phản hồi, đồng thời nhấp nháy một số đèn LED báo hiệu và kiểm tra nút hủy.