ESP32 - Kraftsensor

Der Kraftsensor wird als Force Sensitive Resistor, Force Sensing Resistor oder FSR bezeichnet. Dieses Tutorial zeigt dir, wie du den ESP32 mit dem Kraftsensor verwendest. Im Detail werden wir lernen:

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Kraftsensor
1×10 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Kraftsensor

Ein Kraftsensor ist ein Widerstand, dessen Widerstand in umgekehrtem Verhältnis zu der auf ihn wirkenden Kraft steht. Je mehr Kraft auf den Sensor wirkt, desto kleiner ist der Widerstand des Sensors. Der Kraftsensor eignet sich gut für Anwendungen, die Druck oder ein physisches Zusammendrücken erkennen. Es ist jedoch nicht gut geeignet für Anwendungen, die ermitteln, wie viel Gewicht in Pfund es hat.

Pinbelegung des Kraftsensors

Ein Kraftsensor hat zwei Pins. Wie bei einem Widerstand müssen wir diese Pins nicht unterscheiden.

Pinbelegung des Kraftsensors

Verdrahtungsdiagramm zwischen Kraftsensor und ESP32

  • Wie man ESP32 und Kraftsensor mit einem Steckbrett verbindet Steckbrett
ESP32 Force Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

Wie man ESP32 und einen Kraftsensor anschließt.

Wie man einen Kraftsensor programmiert

Der Widerstand ist proportional zur Spannung. Wir können den analogen Eingangspin des ESP32 verwenden, um die Spannung zu messen.

Durch das Anschließen eines Pins des Kraftsensors an einen analogen Eingangspin können wir den analogen Wert vom Pin lesen → Spannung → Widerstand → Kraft (alles in relativen Werten).

ESP32-Code

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32/esp32-force-sensor */ #define FORCE_SENSOR_PIN 36 // ESP32 pin GPIO36 (ADC0): the FSR and 10K pulldown are connected to A0 void setup() { Serial.begin(9600); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int analogReading = analogRead(FORCE_SENSOR_PIN); Serial.print("The force sensor value = "); 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); }

Schnelle Schritte

  • Falls dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino IDE einrichtet an.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Kompilieren Sie den Code und laden Sie ihn auf das ESP32-Board hoch, indem Sie in der Arduino IDE den Button Hochladen anklicken.
  • Betätigen Sie den Kraftsensor.
  • Das Ergebnis wird im Serial Monitor angezeigt. Es sieht wie folgt aus:
COM6
Send
The force sensor value = 0 -> no pressure The force sensor value = 0 -> no pressure The force sensor value = 132 -> light touch The force sensor value = 147 -> light touch The force sensor value = 394 -> light squeeze The force sensor value = 421 -> light squeeze The force sensor value = 607 -> medium squeeze The force sensor value = 791 -> medium squeeze The force sensor value = 921 -> big squeeze The force sensor value = 987 -> big squeeze The force sensor value = 0 -> no pressure The force sensor value = 0 -> no pressure
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Dieses Tutorial verwendet die analogRead() Funktion, um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der an einen Kraftsensor angeschlossen ist. Der ESP32-ADC ist gut geeignet für Projekte, die keine hohe Genauigkeit benötigen. Allerdings sollten Projekte, die präzise Messungen erfordern, Folgendes beachten:

  • Der ESP32-ADC ist nicht vollkommen genau und muss möglicherweise für korrekte Ergebnisse kalibriert werden. Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
  • Die Kalibrierung kann schwierig sein, besonders für Anfänger, und liefert möglicherweise nicht immer die exakten Ergebnisse, die Sie möchten.

Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Erwägung, einen externen ADC (z. B. ADS1115) mit dem ESP32 zu verwenden oder einen Arduino zu verwenden, der einen zuverlässigeren ADC hat. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, verweisen Sie auf ESP32 ADC Calibration Driver

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!