Raspberry Pi Cảm Biến Cảm Ứng LED

Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi và cảm biến cảm ứng để điều khiển LED. Chúng ta sẽ học hai ứng dụng khác nhau:

Ứng Dụng 1 - Trạng thái LED được đồng bộ với trạng thái cảm biến cảm ứng. Chi tiết:

Ứng Dụng 2 - Trạng thái LED được chuyển đổi mỗi khi cảm biến cảm ứng được chạm. Cụ thể:

Linh Kiện Cần Thiết

1×Raspberry Pi 5
1×Cảm biến cảm ứng
1×LED Kit
1×LED (red)
1×LED Module
1×Điện trở 220 ohm
1×breadboard
1×Dây nối 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ề LED và Cảm Biến Cảm Ứng

Nếu bạn chưa quen thuộc với LED và cảm biến cảm ứng (bao gồm sơ đồ chân, cách hoạt động và lập trình), các hướng dẫn sau có thể giúp bạn:

Sơ Đồ Đấu Nối

sơ đồ đấu nối Raspberry Pi cảm biến cảm ứng LED

This image is created using Fritzing. Click to enlarge image

Ứng Dụng 1 - Trạng thái LED đồng bộ với trạng thái cảm biến cảm ứng

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 cùng mạng LAN 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 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 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 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 touch_sensor_led.py và thêm đoạn 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-touch-sensor-led import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM (Broadcom SOC channel numbering) GPIO.setmode(GPIO.BCM) # Set the pin number connected to the touch sensor TOUCH_PIN = 15 # Set the pin number connected to the LED LED_PIN = 16 # Set the GPIO pin as an input GPIO.setup(TOUCH_PIN, GPIO.IN) # Set the GPIO pin as an output for the LED GPIO.setup(LED_PIN, GPIO.OUT) try: while True: # Read the state from the touch sensor touch_state = GPIO.input(TOUCH_PIN) if touch_state == GPIO.HIGH: # Sensor touched, turn on the LED GPIO.output(LED_PIN, GPIO.HIGH) else: # Sensor not touched, turn off the LED GPIO.output(LED_PIN, GPIO.LOW) time.sleep(0.1) # A small delay to debounce the input except KeyboardInterrupt: # Clean up the GPIO settings on program exit GPIO.cleanup()
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 touch_sensor_led.py
  • Chạm vào cảm biến cảm ứng và giữ trong vài giây.
  • Quan sát sự thay đổi trạng thái của LED. Bạn sẽ thấy trạng thái LED đồng bộ với trạng thái cảm biến cảm ứng.

Script chạy trong vòng lặp vô hạn 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 trong phần comment của mã nguồn!

Ứng Dụng 2 - Cảm biến cảm ứng chuyển đổi trạng thái LED

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

  • Tạo file script Python touch_sensor_toggle_led.py và thêm đoạn 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-touch-sensor-led import RPi.GPIO as GPIO import time # Set the pin number connected to the touch sensor TOUCH_PIN = 15 # Set the pin number connected to the LED LED_PIN = 16 # Set GPIO mode and initial LED state GPIO.setmode(GPIO.BCM) GPIO.setup(TOUCH_PIN, GPIO.IN) # Touch sensor input GPIO.setup(LED_PIN, GPIO.OUT) # LED output led_state = False # LED is initially OFF try: prev_touch_state = GPIO.input(TOUCH_PIN) while True: touch_state = GPIO.input(TOUCH_PIN) if touch_state != prev_touch_state: if touch_state == GPIO.HIGH: # Check if touch sensor is being touched led_state = not led_state # Toggle the LED state. If it was ON, it becomes OFF, and vice versa. GPIO.output(LED_PIN, led_state) # Apply the updated LED state # Debounce by adding a small delay time.sleep(0.2) prev_touch_state = touch_state except KeyboardInterrupt: GPIO.cleanup()
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 touch_sensor_toggle_led.py
  • Chạm và thả cảm biến cảm ứng nhiều lần.
  • Quan sát sự thay đổi trạng thái của LED.

Bạn sẽ thấy trạng thái LED được chuyển đổi một lần mỗi khi cảm biến cảm ứng được chạm vào.

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.