Arduino Mega - Capteur de Vibration SW-420

Ce projet associe un Arduino Mega à un capteur de vibration SW-420 pour détecter les chocs et les secousses au moment où ils se produisent. Voici ce que nous allons voir :

Capteur de vibration SW-420 Arduino Mega

Une fois la détection de base fonctionnelle, vous pouvez étendre le sketch pour faire sonner un buzzer, faire clignoter une LED ou déclencher un relais chaque fois qu'une vibration est détectée.

Matériel Requis

1×Arduino MEGA
1×Alternativement: DIYables MEGA Development Board
1×Câble USB 2.0 type A/B (pour PC USB-A)
1×Câble USB 2.0 type C/B (pour PC USB-C)
1×SW-420 Vibration Sensor Module
1×Fils de connexion
1×Recommandé: Screw Terminal Block Shield for Arduino Uno/Mega
1×Recommandé: Sensors/Servo Expansion Shield for Arduino Mega
1×Recommandé: Breadboard Shield for Arduino Mega
1×Recommandé: Enclosure for Arduino Mega

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 de Vibration SW-420

Le module capteur de vibration SW-420 surveille les chocs, les coups et les secousses. À l'intérieur du module se trouve un petit interrupteur à ressort placé près d'un contact métallique ; lorsqu'une vibration perturbe le ressort, un comparateur LM393 intégré transforme cette perturbation en un signal numérique propre. Un petit potentiomètre sur la carte vous permet de régler l'intensité de secousse nécessaire avant qu'il ne signale un déclenchement.

Brochage du Capteur de Vibration SW-420

Le module dispose de trois broches.

  • Broche VCC : entrée d'alimentation, accepte de 3,3V à 5V.
  • Broche GND : référence de masse (0V).
  • Broche DO : broche de sortie numérique. Elle reste à LOW tant que le module est immobile, et passe à HIGH dès qu'une vibration ou un choc est détecté. Câblez cette broche à une entrée numérique de l'Arduino Mega.
Brochage du Capteur de Vibration SW-420
image source: diyables.io

Deux LED intégrées aident au débogage.

  • Une LED indicatrice d'alimentation
  • Une LED indicatrice de déclenchement qui s'allume chaque fois que la broche DO passe à HIGH

Comment Ça Fonctionne

  • Au repos, l'interrupteur à ressort interne reste ouvert, donc le comparateur maintient la broche DO à LOW.
  • Lorsqu'une vibration ou un choc perturbe le ressort, celui-ci touche brièvement le contact, et le comparateur met la broche DO à HIGH.
  • Tourner le potentiomètre intégré modifie l'intensité qu'une vibration doit avoir avant que le module ne la signale.

Schéma de Câblage

Schéma de Câblage Arduino Mega Capteur de Vibration SW-420

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

Comment Programmer pour le Capteur de Vibration SW-420

  • Configure une broche de l'Arduino Mega en entrée numérique avec la fonction pinMode(). Par exemple, la broche 8.
pinMode(8, INPUT);
  • Lit l'état actuel de cette broche avec la fonction digitalRead().
int vibrationState = digitalRead(8);

Code Arduino Mega - Détecter les Vibrations

/* * Ce code Arduino Mega a été développé par newbiely.fr * Ce code Arduino Mega 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-mega/arduino-mega-sw-420-vibration-sensor */ #define SENSOR_PIN 8 // The Arduino Mega pin connected to the DO pin of the SW-420 vibration sensor int prev_vibration_state = LOW; // the previous state from the input pin int vibration_state; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the input pin: vibration_state = digitalRead(SENSOR_PIN); if (prev_vibration_state == LOW && vibration_state == HIGH) Serial.println("Vibration detected!"); else if (prev_vibration_state == HIGH && vibration_state == LOW) Serial.println("Vibration stopped"); // save the the last state prev_vibration_state = vibration_state; }

Étapes Rapides

Suivez ces étapes dans l'ordre.

  • Câblez le capteur de vibration SW-420 à l'Arduino Mega comme indiqué sur le schéma.
  • Branchez l'Arduino Mega à votre ordinateur à l'aide d'un câble USB.
  • Lancez Arduino IDE.
  • Sélectionnez la bonne carte : Arduino Mega, et le port COM correspondant.
  • Collez le code ci-dessous dans un nouveau sketch dans Arduino IDE.
  • Cliquez sur Téléverser pour envoyer le sketch vers l'Arduino Mega.
  • Tapotez ou secouez le capteur SW-420 pour le déclencher.
  • Observez les résultats dans le Moniteur Série.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Mega Or...
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Mega Or...' on 'COM15')
New Line
9600 baud
Vibration detected! Vibration stopped Vibration detected! Vibration stopped
Ln 11, Col 1
Arduino Mega Or... on COM15
2

Dépannage

Si le capteur de vibration SW-420 ne réagit pas comme prévu, essayez ces étapes :

  • Ajustez la sensibilité : Tournez le potentiomètre intégré pour rendre le module plus ou moins sensible aux secousses.
  • Isolez les vibrations ambiantes : Montez le capteur loin des moteurs, ventilateurs ou autres sources de vibration constante qui pourraient provoquer de faux déclenchements.
  • Vérifiez le câblage : Confirmez que VCC, GND et DO sont tous connectés aux bonnes broches.
  • Vérifiez l'alimentation : Une alimentation instable peut entraîner des lectures incohérentes ou bruitées.

Vidéo

Références des Fonctions

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 !