ESP32 - Capteur de force

Ce tutoriel vous montre comment utiliser un capteur de force avec un ESP32 et MicroPython pour détecter la force ou le poids qui lui est appliqué. Nous allons apprendre :

ESP32 MicroPython et capteur de force

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur de force
1×10 kΩ Resistor
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 (ESP32 inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur de force

Schéma des broches du capteur de force

Le capteur de force, également appelé résistance sensible à la force (FSR), change sa résistance lorsque la pression est appliquée.

  • Abordable et facile à utiliser.
  • Idéal pour détecter une pression physique ou une compression.
  • Pas adapté pour mesurer le poids en livres.

Vous pouvez trouver des capteurs de force dans une batterie électronique, des téléphones mobiles, des appareils de jeu portables et de nombreux autres petits gadgets électroniques.

Schéma des broches

Un capteur de force n'a que deux fils. Comme il agit comme une résistance, peu importe quel fil va où. Les deux fils sont identiques.

Comment cela fonctionne

Imaginez le capteur de force comme une sorte de bouton spécial dont la résistance varie en fonction de la pression que vous exercez. Plus vous appuyez fort, plus les deux extrémités du bouton se rapprochent, ce qui signifie une résistance plus faible.

Diagramme de câblage

  • Comment connecter l'ESP32 et le capteur de force en utilisant breadboard
Schéma de câblage ESP32 MicroPython Force

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment connecter l'ESP32 et un capteur de force

Code MicroPython ESP32 pour capteur de force

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/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

Étapes rapides

Voici des instructions sur la façon de configurer et d’exécuter votre code MicroPython sur l’ESP32 en utilisant l’IDE Thonny :

  • Assurez-vous que Thonny IDE est installé sur votre ordinateur.
  • Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
  • Si c'est votre première utilisation d'un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
  • Connectez le capteur de force à l'ESP32 selon le schéma fourni.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, allez dans Outils Options.
  • Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le port correct est sélectionné. L'IDE Thonny le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur Linux).
  • Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
  • Enregistrez le code sur votre ESP32 en procédant comme suit :
    • En cliquant sur le bouton Enregistrer ou en appuyant sur Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, choisissez Périphérique MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Appuyez sur le capteur de force.
  • Consultez le message dans le Shell en bas de Thonny.
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 ≡

Gardez à l'esprit que les valeurs du capteur ne sont pas toujours exactement les mêmes. Il est judicieux d'ajuster les paramètres du capteur pour chaque niveau de force spécifique que vous souhaitez mesurer.

※ Note:

Ce tutoriel démontre comment utiliser la fonction adc.read() pour lire des valeurs d'un ADC (Convertisseur Analogique-Numérique) connecté à un capteur de force. L'ADC de l'ESP32 convient pour des projets qui ne nécessitent pas une haute précision. Cependant, si votre projet nécessite des mesures précises, gardez à l'esprit ce qui suit:

  • L'ADC de l'ESP32 n'est pas parfaitement précis et peut nécessiter une calibration pour des résultats précis. Chaque carte ESP32 peut varier légèrement, donc la calibration est nécessaire pour chaque carte individuelle.
  • La calibration peut être difficile, surtout pour les débutants, et peut ne pas toujours donner les résultats exacts que vous souhaitez.

Pour les projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 ou optez pour un Arduino, qui possède un ADC plus fiable. Si vous souhaitez néanmoins calibrer l'ADC de l'ESP32, reportez-vous au Pilote de calibration ADC ESP32.

Vidéo

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !