Arduino Cảm biến lực

Trong bài hướng dẫn này, chúng ta sẽ học:

Phần cứng cần chuẩn bị

1×Arduino Uno R3
1×USB 2.0 cable type A/B (for USB-A PC)
1×USB 2.0 cable type C/B (for USB-C PC)
1×Force Sensor
1×10 kΩ Resistor
1×breadboard
1×dây jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino Uno
1×(Khuyến nghị) Breadboard Shield for Arduino Uno
1×(Khuyến nghị) Enclosure for Arduino Uno
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về cảm biến lực

bố trí chân cảm biến lực

Cảm biến lực còn được biết đến với các tên gọi là điện trở cảm ứng lực, điện trở nhạy lực, hoặc đơn giản là FSR. Cảm biến lực về cơ bản là một điện trở có giá trị điện trở thay đổi tùy thuộc vào mức độ ấn lên nó. Cảm biến lực là:

  • Giá rẻ và dễ sử dụng.
  • Tốt trong việc phát hiện áp lực vật lý và sự bóp nén.
  • Không tốt trong việc xác định chúng mang bao nhiêu pound.

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

Sơ đồ các chân

Một cảm biến lực có hai chân. Vì nó là một loại điện trở, chúng ta không cần phân biệt hai chân này. Chúng đối xứng với nhau.

Cách hoạt động

Cảm biến lực về cơ bản là một điện trở có thể thay đổi điện trở của nó tùy thuộc vào mức độ bị ấn. Càng ấn mạnh lên cảm biến, điện trở giữa hai đầu sẽ càng thấp.

Sơ đồ đấu dây

sơ đồ kết nối Arduino force

This image is created using Fritzing. Click to enlarge image

Cách Lập Trình Cho Cảm Biến Lực

Các chân A0 đến A5 của Arduino Uno có thể hoạt động như đầu vào analog. Đầu vào analog sẽ chuyển đổi điện áp (từ 0V đến VCC) thành các giá trị số nguyên (từ 0 đến 1023), được gọi là giá trị ADC hoặc giá trị analog.

Bằng cách kết nối một chân của cảm biến lực với một chân đầu vào analog, chúng ta có thể đọc giá trị analog từ chân đó bằng cách sử dụng hàm analogRead(), và từ đó chúng ta có thể biết nó đã bị ấn bao nhiêu.

Mã Arduino

/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino 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/arduino/arduino-force-sensor */ #define FORCE_SENSOR_PIN A0 // the FSR and 10K pulldown are connected to A0 void setup() { Serial.begin(9600); } void loop() { int analogReading = analogRead(FORCE_SENSOR_PIN); Serial.print("Force sensor reading = "); Serial.print(analogReading); // print the raw analog reading if (analogReading < 10) // from 0 to 9 Serial.println(" -> no pressure"); else if (analogReading < 200) // from 10 to 199 Serial.println(" -> light touch"); else if (analogReading < 500) // from 200 to 499 Serial.println(" -> light squeeze"); else if (analogReading < 800) // from 500 to 799 Serial.println(" -> medium squeeze"); else // from 800 to 1023 Serial.println(" -> big squeeze"); delay(1000); }

Hướng dẫn từng bước

  • Sao chép mã ở phía trên và mở bằng Arduino IDE
  • Nhấp vào nút Upload trên Arduino IDE để nạp mã vào Arduino
  • Nhấn cảm biến lực
  • Xem kết quả trên Serial Monitor.
COM6
Send
Force sensor reading = 0 -> no pressure Force sensor reading = 0 -> no pressure Force sensor reading = 132 -> light touch Force sensor reading = 147 -> light touch Force sensor reading = 394 -> light squeeze Force sensor reading = 421 -> light squeeze Force sensor reading = 607 -> medium squeeze Force sensor reading = 791 -> medium squeeze Force sensor reading = 921 -> big squeeze Force sensor reading = 987 -> big squeeze Force sensor reading = 0 -> no pressure Force sensor reading = 0 -> no pressure
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.