ESP32 S3 - Capteur de force
Découvrez comment interfacer un capteur de force (FSR) avec votre ESP32 S3 pour détecter une pression physique et un serrage dans vos projets Arduino. Ce guide adapté aux débutants vous accompagne à travers le câblage, la programmation et la lecture des valeurs analogiques d'une résistance sensible à la force à l'aide de la carte ESP32 S3.
Ce que vous allez construire :
- Un circuit qui connecte une résistance sensible à la force à l'entrée analogique de l'ESP32 S3
- Un sketch qui lit les valeurs ADC brutes du capteur de force en temps réel
- Un affichage Serial Monitor montrant des descriptions du niveau de pression avec les valeurs numériques
- Une base que vous pouvez étendre en alarmes, mesureurs de poigne ou commandes activées par pression

Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur de force
Un capteur de force (aussi appelé résistance sensible à la force ou FSR) est un composant passif dont la résistance diminue lorsque la pression augmente, ce qui le rend idéal pour détecter le toucher, le serrage et la poussée dans les projets embarqués. Associé à l'ADC 12 bits de l'ESP32 S3, il fournit des lectures de 0 à 4095 qui correspondent directement à l'intensité de la pression. Comme il ne nécessite aucune alimentation externe et se câble comme une simple résistance, c'est l'un des capteurs analogiques les plus faciles à ajouter à n'importe quel projet.
Spécifications clés
- Comportement de la résistance : la résistance diminue lorsque la pression augmente
- Fonction : détecte le serrage physique, le toucher et la pression
- Type de sortie : signal analogique (0-4095 sur l'ESP32 S3)
- Idéal pour : détection du toucher, boutons sensibles à la pression, capteurs de poigne
- Pas idéal pour : mesure précise du poids en livres ou en kilogrammes
- Avantage : simple à utiliser, aucune alimentation externe nécessaire, fonctionne avec les broches analogiques
- Facile pour les débutants : câblage simple avec seulement deux broches comme une résistance
Brochage du capteur de force
Le capteur de force a deux broches interchangeables qui se comportent comme une résistance variable - la polarité n'a pas d'importance pour les capteurs FSR.
- Broche 1 : connectez-la à l'entrée analogique ou au côté haut d'un circuit diviseur de tension
- Broche 2 : connectez-la à GND ou à la résistance dans le montage du diviseur de tension

Schéma de câblage entre le capteur de force et l'ESP32 S3
Connectez votre capteur de force à l'ESP32 S3 à l'aide d'un circuit diviseur de tension afin que la carte puisse lire une tension analogique proportionnelle plutôt qu'une résistance brute. La résistance de 10 kΩ se trouve entre la deuxième broche du capteur et GND, créant une tension médiane stable qui augmente avec la pression appliquée.
Consignes de sécurité
Gardez les fils de signal courts et éloignés des chemins à fort courant pour éviter le bruit sur l'ADC. Les broches analogiques de l'ESP32 S3 tolèrent 3,3 V - ne connectez jamais le capteur directement à 5 V sans convertisseur de niveau.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche 1 du capteur de force | GPIO4 (entrée analogique) |
|---|---|
| Broche 2 du capteur de force | GND (via résistance de 10kΩ) |
| Résistance 10kΩ | entre la broche 2 et GND |
| Alimentation du diviseur | 3.3V vers la broche 1 du capteur de force |
Comment programmer le capteur de force
L'ESP32 S3 lit les valeurs du capteur de force via son ADC 12 bits intégré, convertissant la tension à la broche analogique en un nombre entre 0 et 4095. Un diviseur de tension formé par le FSR et la résistance de 10 kΩ garantit que la tension de la broche augmente en douceur, de près de 0 V en l'absence de pression jusqu'à près de 3,3 V sous une pression maximale. Le sketch utilise analogRead() pour capturer ces valeurs et les associe à des descriptions de pression lisibles par l'humain, affichées dans le Serial Monitor toutes les 500 millisecondes.
Code ESP32 S3
Le code suivant lit les valeurs analogiques du capteur de force et affiche les niveaux de pression dans le Serial Monitor.
Le sketch échantillonne le capteur de force sur GPIO4, compare la valeur ADC brute à un ensemble de seuils, et affiche à la fois la lecture numérique et une étiquette de pression correspondante afin que vous compreniez immédiatement ce que signifie chaque valeur. Aucune bibliothèque n'est nécessaire - seules les fonctions intégrées analogRead() et Serial du cœur Arduino sont utilisées.
Étapes rapides
- Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Installer l'Arduino IDE : si c'est la première fois que vous utilisez l'ESP32 S3, consultez comment configurer l'environnement pour l'ESP32 S3 sur l'Arduino IDE.
- Copier le code : copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Connecter votre carte : branchez l'ESP32 S3 à votre ordinateur via un câble USB Type-C.
- Téléverser le code : compilez et téléversez le code sur la carte ESP32 S3 en cliquant sur le bouton Upload dans l'Arduino IDE.
- Ouvrir le Serial Monitor : réglez le débit sur 115200 bauds pour voir les lectures.
- Tester le capteur : appuyez sur le capteur de force avec différents niveaux de pression.
- Observer les résultats : consultez le Serial Monitor pour voir les valeurs analogiques en temps réel et les descriptions de pression.
- Astuce : expérimentez avec différents niveaux de pression pour trouver les valeurs de seuil qui fonctionnent le mieux pour votre application spécifique - chaque FSR a des caractéristiques de sensibilité légèrement différentes.
Sortie du Serial Monitor
※ Note:
Ce tutoriel utilise la fonction analogRead() pour lire les valeurs d'un ADC (convertisseur analogique-numérique) connecté à un capteur ou un composant. L'ADC de l'ESP32 S3 convient aux projets qui ne nécessitent pas une grande précision. Cependant, pour les projets nécessitant des mesures précises, gardez à l'esprit ce qui suit :
- L'ADC de l'ESP32 S3 n'est pas parfaitement précis et peut nécessiter un étalonnage pour obtenir des résultats corrects. Chaque carte ESP32 S3 peut varier légèrement, donc un étalonnage est nécessaire pour chaque carte individuelle.
- L'étalonnage peut être difficile, surtout pour les débutants, et peut ne pas toujours donner exactement les résultats souhaités.
Pour les projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 S3, ou d'utiliser une autre carte Arduino, comme l'Arduino Uno R4 WiFi, qui possède un ADC plus fiable. Si vous souhaitez tout de même étalonner l'ADC de l'ESP32 S3, consultez le ESP32 ADC Calibration Driver.
Idées d'applications
L'ESP32 S3 et un capteur de force ouvrent un large éventail de projets de détection de pression dans la robotique, les jeux, la surveillance de la santé et la domotique.
- Sonnette intelligente : détectez quand quelqu'un appuie contre une porte ou un panneau
- Manettes de jeu : créez des boutons sensibles à la pression pour des manettes de jeu personnalisées
- Capteurs de préhension pour robot : mesurez avec quelle force une pince robotique tient des objets
- Instruments de musique : construisez des pads sensibles au toucher pour des batteries électroniques ou des claviers
- Détection de présence : détectez quand quelqu'un s'assoit sur une chaise ou s'allonge sur un lit
- Mesureur de force de poignée de main : mesurez la force de préhension pour des applications de fitness ou médicales
- Commandes de lampe tactile : créez des lumières à gradation qui réagissent à la pression du toucher
Section vidéo
Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défiez-vous
Étendez votre projet de capteur de force ESP32 S3 avec ces défis progressifs pour approfondir votre compréhension de la détection analogique et du contrôle embarqué.
- Débutant : ajoutez une LED qui s'allume lorsque la pression dépasse une valeur seuil
- Débutant : affichez les messages « Pressed » et « Released » au lieu des valeurs analogiques brutes
- Intermédiaire : utilisez plusieurs capteurs de force pour détecter la pression à différents endroits simultanément
- Intermédiaire : créez un système d'alarme activé par pression qui se déclenche à des niveaux de force spécifiques
- Avancé : construisez un système d'enregistrement de données qui enregistre les motifs de pression dans le temps avec des horodatages
- Avancé : combinez le capteur de force avec un servomoteur pour contrôler un mouvement en fonction de l'intensité de la pression