Arduino Nano ESP32 - Capteur d'inclinaison SW520D

Le module capteur d'inclinaison SW520D a la capacité 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érangé ou un servo-moteur qui répond aux changements d'orientation.

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

Arduino Nano ESP32 capteur d'inclinaison SW520D

Ensuite, vous avez la flexibilité de modifier le code pour déclencher une LED ou un voyant (en utilisant un relais) lors de la détection d'inclinaison, ou même permettre à un servo-moteur de tourner.

Matériel nécessaire

1×Arduino Nano ESP32
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×SW520D Tilt Sensor Module
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: 5V Power Adapter
1×Recommandé: Carte d'extension à bornier à vis pour Arduino Nano
1×Recommandé: Carte d'extension breakout pour Arduino Nano
1×Recommandé: Répartiteur d'alimentation pour Arduino Nano ESP32

Ou vous pouvez acheter les kits suivants:

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 d'inclinaison SW520D

Le module capteur d'inclinaison SW520D peut être utilisé pour détecter l'inclinaison 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 délivre un simple signal numérique (ON/OFF), ce qui le rend facile à interfacer avec l'Arduino Nano ESP32.

Brochage du capteur d'inclinaison SW520D

Le capteur d'inclinaison SW520D a 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 droit et LOW lorsque le capteur est incliné. Cette broche doit être connectée à la broche d'entrée de l'Arduino Nano 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 montre l'état d'alimentation.
  • Un autre indicateur LED montre l'état d'inclinaison, s'allumant lorsque le capteur est droit et s'éteignant lorsqu'il est incliné.

Comment ça fonctionne

Voici comment se comporte la broche de sortie du capteur :

  • Lorsque le capteur est droit, 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

Schéma de câblage Arduino Nano ESP32 capteur d'inclinaison SW520D

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

Comment programmer pour le capteur d'inclinaison SW520D

  • Initialiser la broche Arduino Nano ESP32 en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche D3
pinMode(D3, INPUT);
  • Lire l'état de la broche Arduino Nano ESP32 en utilisant la fonction digitalRead().
int tiltState = digitalRead(D3);

Code Arduino Nano ESP32 - Détection de l'inclinaison

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-sw520d-tilt-sensor */ #define SENSOR_PIN D3 // The Arduino Nano ESP32 pin D3 connected to the DO pin of the SW520D tilt sensor int prev_tilt_state = HIGH; // The previous state from the input pin int tilt_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. 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 tilt_state = digitalRead(SENSOR_PIN); if (prev_tilt_state == HIGH && tilt_state == LOW) Serial.println("The tilt has been detected"); else if (prev_tilt_state == LOW && tilt_state == HIGH) Serial.println("The tilt has disappeared"); // save the the last state prev_tilt_state = tilt_state; }

Étapes rapides

  • Si c'est la première fois que vous utilisez Arduino Nano ESP32, consultez Installation du logiciel Arduino Nano 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 sur Arduino Nano ESP32
  • Inclinez le capteur SW520D dans tous les sens
  • Vérifiez le résultat dans le Moniteur Série.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' 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
Arduino Nano ESP32 on COM15
2

Maintenant, nous avons la liberté de personnaliser le code et de le faire déclencher une LED ou un voyant lorsqu'une inclinaison est détectée. Nous pouvons même faire tourner un servo-moteur selon l'entrée d'inclinaison. Pour des conseils plus détaillés et des instructions pas à pas, vous pouvez vous référer aux tutoriels fournis à la fin de ce tutoriel.

Dépannage

Si vous rencontrez des problèmes avec la fonctionnalité du capteur d'inclinaison SW520D, veuillez prendre en compte les étapes de dépannage suivantes :

  • Vérifier l'orientation : Le SW520D est sensible à son orientation de montage. Assurez-vous qu'il est installé dans la position verticale correcte pour une détection fiable.
  • Réduire 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érifier le câblage : Assurez-vous que les broches VCC, GND et DO sont correctement connectées.
  • Vérifier 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 !