Raspberry Pi Force Sensor (Cảm Biến Lực)

Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi với cảm biến lực. Cụ thể, chúng ta sẽ học:

Như một ứng dụng điển hình, bạn có thể đặt đồ vật của mình lên cảm biến lực, và sau đó nếu Raspberry Pi phát hiện thay đổi lực, có nghĩa là ai đó đã lấy đồ vật của bạn.

Phần Cứng Cần Thiết

1×Raspberry Pi 5
1×Module ADC ADS1115
1×Cảm Biến Lực
1×Điện trở 10 kΩ
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)

Về Cảm Biến Lực

cảm biến lực sơ đồ chân

Cảm biến lực còn được gọi là điện trở cảm ứng lực, điện trở nhạy cảm với lực, hoặc đơn giản là FSR. Về cơ bản nó là một điện trở thay đổi giá trị điện trở theo lượng áp lực được áp dụng. Cảm biến lực có các đặc điểm sau:

  • Nó có giá rẻ và dễ sử dụng.
  • Nó hiệu quả trong việc phát hiện áp lực vật lý hoặc lực ép.
  • Nó không phù hợp để đo trọng lượng của một vật thể.

Cảm biến lực được sử dụng trong nhiều thiết bị điện tử di động, chẳng hạn như trống điện tử, điện thoại di động và thiết bị chơi game cầm tay.

Sơ Đồ Chân Cảm Biến Lực

Cảm biến lực có hai chân đối xứng nhau, và vì nó là một loại điện trở, không cần phải phân biệt giữa chúng.

Cách Hoạt Động

Cảm biến lực về cơ bản là một điện trở thay đổi điện trở tùy thuộc vào lượng áp lực được áp dụng. Áp lực càng lớn lên cảm biến thì điện trở giữa hai chân càng nhỏ.

Sơ Đồ Đấu Nối

Raspberry Pi cảm biến lực sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Code Raspberry Pi

Các Bước Nhanh

  • Đảm bảo bạn đã cài đặt Raspbian hoặc bất kỳ hệ điều hành tương thích Raspberry Pi nào 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ạ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 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 của bạn 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
  • Cài đặt thư viện Adafruit_ADS1x15 bằng cách chạy các lệnh sau trên terminal Raspberry Pi của bạn:
sudo pip install Adafruit-ADS1x15
  • Tạo một file script Python force_sensor.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-force-sensor import time import Adafruit_ADS1x15 # Create an ADS1115 ADC instance ADC = Adafruit_ADS1x15.ADS1115() # Specify the ADC channel to read from (0-3) CHANNEL = 0 # Set the gain (1, 2/3, 1/2, 1/4, 1/8, 1/16) # Higher gain values amplify the input voltage range but reduce precision GAIN = 1 # Define pressure level thresholds NO_PRESSURE_THRESHOLD = 1000 LIGHT_TOUCH_THRESHOLD = 2000 LIGHT_SQUEEZE_THRESHOLD = 3000 MEDIUM_SQUEEZE_THRESHOLD = 4000 try: while True: # Read the raw value from the ADC raw_value = ADC.read_adc(CHANNEL, gain=GAIN) # Determine pressure level if raw_value < NO_PRESSURE_THRESHOLD: pressure_level = "No Pressure" elif raw_value < LIGHT_TOUCH_THRESHOLD: pressure_level = "Light Touch" elif raw_value < LIGHT_SQUEEZE_THRESHOLD: pressure_level = "Light Squeeze" elif raw_value < MEDIUM_SQUEEZE_THRESHOLD: pressure_level = "Medium Squeeze" else: pressure_level = "Big Squeeze" # Print the pressure level print(f"Force Sensor Raw Value: {raw_value}, Pressure Level: {pressure_level}") time.sleep(0.5) # Wait for a short period before reading again except KeyboardInterrupt: print("Measurement stopped by user")
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
python3 force_sensor.py
  • Nhấn vào cảm biến lực.
  • Kiểm tra kết quả trong Terminal.
PuTTY - Raspberry Pi
Force Sensor Raw Value: 800, Pressure Level: No Pressure Force Sensor Raw Value: 1500, Pressure Level: Light Touch Force Sensor Raw Value: 2500, Pressure Level: Light Squeeze Force Sensor Raw Value: 3500, Pressure Level: Medium Squeeze Force Sensor Raw Value: 4500, Pressure Level: Big Squeeze Force Sensor Raw Value: 1800, Pressure Level: Light Touch Force Sensor Raw Value: 2800, Pressure Level: Light Squeeze

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.

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.

Bài hướng dẫn liên quan