ESP32 - Capteur d'Inclinaison SW520D

Le module capteur d'inclinaison SW520D est capable de détecter les inclinaisons ou les changements d'orientation dans son environnement. Il peut être utilisé pour créer des projets réactifs à l'inclinaison, comme une alarme qui s'active lorsqu'un objet est déplacé ou un servomoteur qui répond aux changements d'orientation.

Dans ce tutoriel, nous allons apprendre à utiliser l'ESP32 et un capteur d'inclinaison SW520D pour détecter l'inclinaison. Nous aborderons les points suivants :

Capteur d'inclinaison ESP32 SW520D

Ensuite, vous aurez la liberté de modifier le code pour déclencher une LED ou une lumière (via un relais) lors de la détection d'inclinaison, ou même faire tourner un servomoteur.

À Propos du Capteur d'Inclinaison SW520D

Le module capteur d'inclinaison SW520D peut être utilisé pour détecter les inclinaisons ou les changements d'orientation dans l'environnement. À l'intérieur du module, il y a une petite bille métallique qui roule entre deux contacts électriques selon l'angle d'inclinaison. Le module génère un simple signal numérique (ON/OFF), ce qui facilite l'interfaçage avec l'ESP32.

Brochage du Capteur d'Inclinaison SW520D

Le capteur d'inclinaison SW520D possède trois broches :

  • Broche VCC : doit être connectée à VCC (3,3V à 5V)
  • Broche GND : doit être connectée à GND (0V)
  • Broche DO : est une broche de sortie : HIGH lorsque le capteur est en position verticale et LOW lorsqu'il est incliné. Cette broche doit être connectée à la broche d'entrée de l'ESP32.
Brochage du Capteur d'Inclinaison SW520D
image source: diyables.io

Le module capteur d'inclinaison SW520D possède deux indicateurs LED :

  • Un indicateur LED indique l'état d'alimentation.
  • Un autre indicateur LED indique l'état d'inclinaison, s'allumant lorsque le capteur est en position verticale et s'éteignant lorsqu'il est incliné.

Comment Ça Fonctionne

Voici comment se comporte la broche de sortie du capteur :

  • Lorsque le capteur est en position verticale, la bille métallique à l'intérieur ferme le contact, et la broche de sortie est mise à HIGH.
  • Lorsque le capteur est incliné, la bille métallique à l'intérieur ouvre le contact, et la broche de sortie est mise à LOW.

Schéma de Câblage

  • Comment connecter l'ESP32 et le capteur d'inclinaison SW520D avec une breadboard
Schéma de Câblage ESP32 Capteur d'Inclinaison SW520D

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

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, consultez les instructions dans le tutoriel suivant : Comment alimenter l'ESP32..

Comment connecter l'ESP32 et le capteur d'inclinaison SW520D

Comment Programmer pour le Capteur d'Inclinaison SW520D

  • Initialise la broche de l'ESP32 en mode entrée numérique à l'aide de la fonction pinMode(). Par exemple, la broche GPIO18
pinMode(18, INPUT);
  • Lit l'état de la broche de l'ESP32 à l'aide de la fonction digitalRead().
int tiltState = digitalRead(18);

Code ESP32 - Détecter l'Inclinaison

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32-sw520d-tilt-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the DO pin of the SW520D tilt sensor int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the ESP32's input pin currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The tilt has been detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The tilt has disappeared"); // save the the last state lastState = currentState; }

Étapes Rapides

  • Si c'est la première fois que vous utilisez l'ESP32, consultez Installation du logiciel ESP32..
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
  • Cliquez sur le bouton Téléverser dans Arduino IDE pour téléverser le code vers l'ESP32
  • Inclinez le capteur SW520D dans un sens puis dans l'autre
  • Consultez le résultat dans le Moniteur Série.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
The tilt has been detected The tilt has disappeared The tilt has been detected The tilt has disappeared
Ln 11, Col 1
ESP32 Dev Module on COM15
2

Maintenant, nous avons la liberté de personnaliser le code et de le faire déclencher une LED ou une lumière lorsqu'une inclinaison est détectée. Nous pouvons même faire tourner un servomoteur selon l'entrée d'inclinaison. Pour des instructions plus détaillées, vous pouvez consulter les tutoriels fournis à la fin de ce tutoriel.

Dépannage

Si vous rencontrez des problèmes avec le fonctionnement du capteur d'inclinaison SW520D, veuillez considérer les étapes de dépannage suivantes :

  • Vérifiez l'orientation : Le SW520D est sensible à son orientation de montage. Assurez-vous qu'il est installé dans la bonne position verticale pour une détection fiable.
  • Réduisez les vibrations : Les vibrations mécaniques peuvent affecter les performances du capteur d'inclinaison. Pour minimiser les faux déclenchements, essayez de monter le capteur sur une surface stable.
  • Vérifiez le câblage : Assurez-vous que les broches VCC, GND et DO sont correctement connectées.
  • Vérifiez l'alimentation : Assurez-vous que l'alimentation est propre et stable pour des lectures cohérentes.

Vidéo

Références des Fonctions

Commentaires

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 !