Raspberry Pi Potentiometer (Biến trở)

Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi với potentiometer (biến trở), còn được gọi là pot, trimmer, variable resistor (điện trở biến đổi), rheostat, hoặc rotary angle sensor (cảm biến góc quay). Chi tiết, chúng ta sẽ học:

Linh Kiện Cần Thiết

1×Raspberry Pi 5
1×Chiết áp
1×Alternatively, 10k Ohm Trimmer Potentiometer
1×Mô-đun chiết áp có núm xoay
1×(Thay thế) Potentiometer Kit
1×(Thay thế) Potentiometer Module với Knob
1×mô-đun ADC ADS1115
1×breadboard (bo mạch thí nghiệm)
1×dây jumper (dây nối)
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ề Potentiometer

Potentiometer quay, còn được gọi là cảm biến góc quay, được sử dụng để điều chỉnh giá trị của một mục một cách thủ công. Ví dụ như âm lượng của stereo, độ sáng của đèn, và mức zoom của oscilloscope.

chiết áp sơ đồ chân

Sơ Đồ Chân Potentiometer

Potentiometer thường có ba chân:

  • Chân GND nên được kết nối với ground (0V)
  • Chân VCC nên được kết nối với VCC (5V hoặc 3.3V)
  • Chân output gửi điện áp đến chân input của Raspberry Pi.
chiết áp sơ đồ chân

※ Lưu ý:

Chân GND và chân VCC có thể hoán đổi cho nhau.

Cách Hoạt Động

Trục quay của potentiometer có thể di chuyển từ 0°, gần nhất với GND, đến góc tối đa, gần nhất với chân VCC. Góc tối đa này được gọi là ANGLE_MAX.

※ Lưu ý:

Giá trị của ANGLE_MAX được xác định bởi nhà sản xuất. Thông thường, chúng ta không chú ý đến nó, trừ khi cần tính toán góc quay (xem phần các trường hợp sử dụng).

how chiết áp works

Nguyên lý hoạt động:

  • Người dùng xoay trục của potentiometer
  • ⇒ Góc của potentiometer thay đổi
  • ⇒ Điện trở của potentiometer thay đổi
  • ⇒ Điện áp ở chân output của potentiometer thay đổi
  • ⇒ Giá trị analog đọc bởi Raspberry Pi thay đổi

Raspberry Pi - Potentiometer

Board Raspberry Pi không có ADC tích hợp sẵn. Chúng ta cần sử dụng module ADC ngoài (ví dụ ADS1115 module) để đọc điện áp analog từ potentiometer.

  • Potentiometer được kết nối với module ADS1115.
  • Module ADS1115 chuyển đổi điện áp từ potentiometer thành giá trị ADC
  • Raspberry Pi kết nối với module ADS1115 và đọc giá trị ADC qua giao diện I2C.

Module ADS1115 là module chuyển đổi ADC độ phân giải cao 16-bit. Nó chuyển đổi một dải điện áp từ 0V đến 3.3V thành dải giá trị ADC từ 0 đến 65535.

Khi đã có được giá trị ADC, chúng ta có thể tái tỷ lệ giá trị này thành một giá trị khác. Hãy xem xét một số ví dụ ứng dụng

  • Tái tỷ lệ trở lại thành điện áp của potentiometer.
  • Tái tỷ lệ thành âm lượng của stereo
  • Tái tỷ lệ thành độ sáng của LED
  • Tái tỷ lệ thành tốc độ của DC motor
  • Tái tỷ lệ thành góc của servo motor.

Dải Tái Tỷ Lệ

TỪ ĐẾN
Gócđược xoay bởi người dùngANGLE_MAX
Điện áptừ chân potentiometer 0V3.3
Giá trị ADCđọc bởi Raspberry Pi 065536
Giá trị khácchuyển đổi bởi Raspberry Pi VALUE_MINVALUE_MAX

Sơ Đồ Đấu Nối

  • Sơ đồ đấu nối Raspberry Pi Potentiometer không có breadboard
Raspberry Pi chiết áp sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

  • Sơ đồ đấu nối Raspberry Pi Potentiometer với breadboard
Raspberry Pi ads1115 sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Cách Lập Trình Code Raspberry Pi để đọc giá trị từ Potentiometer

Các Bước Nhanh

  • Đảm bảo bạn đã cài đặt Raspbian hoặc hệ điều hành tương thích Raspberry Pi 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 sẵn 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 nó 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 potentiometer.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-potentiometer import time import Adafruit_ADS1x15 # Create an ADS1115 ADC object adc = Adafruit_ADS1x15.ADS1115() # Set the gain to ±4.096V (adjust if needed) GAIN = 1 # Main loop to read and display the analog value try: while True: # Read the raw analog value from channel A3 raw_value = adc.read_adc(3, gain=GAIN) # Convert the raw value to voltage voltage = raw_value / 32767.0 * 4.096 # Assumes 4.096 V range for GAIN=1 # Print the results print("Raw Value: {} \t Voltage: {:.2f} V".format(raw_value, voltage)) # Add a delay between readings (adjust as needed) time.sleep(1) except KeyboardInterrupt: print("\nExiting the program.")
  • Lưu file và chạy script Python bằng cách thực thi lệnh sau trong Terminal:
python3 potentiometer.py
  • Xoay potentiometer.
  • Kiểm tra kết quả trong Terminal.
PuTTY - Raspberry Pi
Raw Value: 0 Voltage: 0.00 V Raw Value: 620 Voltage: 0.38 V Raw Value: 1024 Voltage: 0.63 V Raw Value: 1850 Voltage: 1.13 V Raw Value: 2000 Voltage: 1.22 V Raw Value: 3000 Voltage: 1.83 V Raw Value: 3270 Voltage: 2.00 V Raw Value: 4100 Voltage: 2.51 V Raw Value: 4095 Voltage: 2.51 V

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.