ESP32 - Kraftsensor

Dieses Tutorial zeigt Ihnen, wie Sie einen Kraftsensor mit einem ESP32 und MicroPython verwenden, um die auf ihn ausgeübte Kraft oder das Gewicht zu erkennen. Wir lernen:

ESP32 MicroPython und Kraftsensor

Überblick über Force Sensor

Kraftsensor Pinbelegung

Der Kraftsensor, auch kraftempfindlicher Widerstand (FSR) genannt, ändert seinen Widerstand, wenn Druck ausgeübt wird.

  • Günstig und einfach zu verwenden.
  • Ideal zum Erkennen von physischem Druck oder Kompression.
  • Nicht geeignet zum Messen von Gewicht in Kilogramm oder Pfund.

Kraftsensoren finden Sie in elektronischen Schlagzeugen, Mobiltelefonen, Handheld-Spielkonsolen und vielen anderen kleinen elektronischen Geräten.

Pinbelegung

Ein Kraftsensor hat nur zwei Drähte. Da er wie ein Widerstand funktioniert, spielt es keine Rolle, welcher Draht wohin kommt. Beide sind gleich.

Funktionsweise

Stellen Sie sich den Kraftsensor als eine besondere Art von Regler vor, der seinen Widerstand abhängig davon ändert, wie fest Sie darauf drücken. Je fester Sie drücken, desto näher kommen sich die beiden Enden, was einen geringeren Widerstand bedeutet.

Verdrahtungsdiagramm

  • So verbinden Sie ESP32 und Kraftsensor mit einem Steckbrett
ESP32 MicroPython Kraftsensor Schaltplan

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

So verbinden Sie ESP32 und Kraftsensor

ESP32 MicroPython-Code für den Kraftsensor

/* * Dieser ESP32 MicroPython Code wurde von newbiely.de entwickelt * Dieser ESP32 MicroPython 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-micropython/esp32-micropython-force-sensor */ from machine import ADC, Pin import time # Define the pin connected to the FSR force sensor FORCE_SENSOR_PIN = 36 # The ESP32 pin GPIO36 (ADC0) connected to the force sensor # Initialize ADC on the specified pin force_sensor = ADC(Pin(FORCE_SENSOR_PIN)) # Set the ADC width (resolution) to 12 bits force_sensor.width(ADC.WIDTH_12BIT) # Set the attenuation to 11 dB, allowing input range up to ~3.3V force_sensor.atten(ADC.ATTN_11DB) # Main loop while True: analog_reading = force_sensor.read() # Read the raw analog value (0-4095) # Determine the pressure description based on the analog reading if analog_reading < 409: # from 0 to 408 pressure_description = " -> no pressure" elif analog_reading < 819: # from 409 to 818 pressure_description = " -> light touch" elif analog_reading < 2047: # from 819 to 2046 pressure_description = " -> light squeeze" elif analog_reading < 3276: # from 2047 to 3275 pressure_description = " -> medium squeeze" else: # from 3276 to 4095 pressure_description = " -> big squeeze" # Print the entire message in one line print(f"Force sensor reading = {analog_reading}{pressure_description}") time.sleep(0.5) # Delay for 500 milliseconds

Schnelle Schritte

So richten Sie Ihren MicroPython-Code auf dem ESP32 mit der Thonny IDE ein und führen ihn aus:

  • Stellen Sie sicher, dass die Thonny IDE auf Ihrem Computer installiert ist.
  • Vergewissern Sie sich, dass die MicroPython-Firmware auf Ihrem ESP32-Board installiert ist.
  • Wenn Sie zum ersten Mal einen ESP32 mit MicroPython verwenden, lesen Sie die Anleitung ESP32 MicroPython Erste Schritte für eine Schritt-für-Schritt-Anleitung.
  • Schließen Sie den Kraftsensor gemäß dem bereitgestellten Schaltplan an den ESP32 an.
  • Verbinden Sie das ESP32-Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Thonny IDE auf Ihrem Computer.
  • Gehen Sie in der Thonny IDE zu Tools Options.
  • Wählen Sie im Reiter Interpreter die Option MicroPython (ESP32) aus dem Dropdown-Menü.
  • Stellen Sie sicher, dass der richtige Port ausgewählt ist. Die Thonny IDE erkennt ihn normalerweise automatisch, aber eventuell müssen Sie ihn manuell auswählen (z. B. COM12 unter Windows oder /dev/ttyACM0 unter Linux).
  • Kopieren Sie den bereitgestellten MicroPython-Code und fügen Sie ihn in den Editor von Thonny ein.
  • Speichern Sie den Code auf Ihrem ESP32:
    • Klicken Sie auf die Schaltfläche Save oder drücken Sie Ctrl+S.
    • Wählen Sie im Speicherdialog MicroPython device.
    • Benennen Sie die Datei main.py.
  • Klicken Sie auf die grüne Schaltfläche Run (oder drücken Sie F5), um das Skript auszuführen.
  • Drücken Sie auf den Kraftsensor.
  • Sehen Sie sich die Meldung in der Shell unten in Thonny an.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Force sensor reading = 0 -> no pressure Force sensor reading = 0 -> no pressure Force sensor reading = 529 -> light touch Force sensor reading = 588 -> light touch Force sensor reading = 1577 -> light squeeze Force sensor reading = 1685 -> light squeeze Force sensor reading = 2427 -> medium squeeze Force sensor reading = 3185 -> medium squeeze Force sensor reading = 3687 -> big squeeze Force sensor reading = 3950 -> big squeeze Force sensor reading = 0 -> no pressure Force sensor reading = 0 -> no pressure
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Beachten Sie, dass die Werte des Sensors nicht immer exakt gleich sind. Es empfiehlt sich, die Einstellungen des Sensors für jede gewünschte Kraftstufe individuell anzupassen.

※ Notiz:

Dieses Tutorial zeigt, wie Sie mit der Funktion adc.read() Werte von einem ADC (Analog-Digital-Wandler) lesen, der mit einem Kraftsensor verbunden ist. Der ADC des ESP32 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Wenn Ihr Projekt jedoch genaue Messungen benötigt, beachten Sie Folgendes:

  • Der ADC des ESP32 ist nicht perfekt genau und muss für präzise Ergebnisse eventuell kalibriert werden. Jedes ESP32-Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board erforderlich.
  • Die Kalibrierung kann besonders für Anfänger schwierig sein und liefert nicht immer genau die gewünschten Ergebnisse.

Für Projekte mit hohen Genauigkeitsanforderungen sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 verwenden oder auf einen Arduino zurückgreifen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 dennoch kalibrieren möchten, lesen Sie den 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.

Verwandte Tutorials

※ 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!