Capteur de vibration Arduino

Le capteur de vibrations Arduino (KY-002 ou SW-420) est utilisé pour détecter la présence de vibrations externes sur le module et est utilisé pour créer des alarmes domestiques. Nous examinerons plusieurs exemples d’utilisation du capteur, présenterons dans ce tutoriel plusieurs schémas de connexion du capteur de vibrations à la carte Arduino et ferons la démonstration d’un programme simple utilisant la boucle while() en C++.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • capteur de vibration
  • bouton-poussoir
  • LEDs et résistances
  • breadboard
  • fils de connexion

Matériel supplémentaire sur ce sujet:

  1. Branchement capteur de son KY-038 Arduino
  2. Branchement capteur magnétique Reed KY-021
  3. Branchement capteur de niveau d’eau Arduino

Fonctionnement du capteur de vibrations Arduino

Ce capteur peut être produit sous forme de module, par exemple le SW-420, les capteurs logo v1.5 ou le capteur de vibrations 140c001 pour Arduino. La base du capteur SW-420 est un ressort métallique à l’intérieur d’un tube en plastique, qui commence à osciller en cas de vibration. Le module comporte un amplificateur de signal, une résistance de réglage pour ajuster la sensibilité du capteur et trois broches à connecter au microcontrôleur.

Le dispositif de SW-420 vibration sensor module
Le dispositif de SW-420 vibration sensor module

Caractéristiques capteur de vibrations

  • Alimentation: 3.3 – 5 V
  • Consommation de courant: 5 mA
  • Sensibilité: réglable
  • Interface: numérique

A l’intérieur du capteur SW-420 se trouve une boule métallique sur un ressort, qui réagit aux moindres vibrations. Le principe de fonctionnement de ces capteurs peut être comparé à celui d’un bouton-poussoir – si les contacts du bouton sont fermés lorsque vous appuyez dessus, alors les contacts du capteur que nous examinons sont fermés lorsqu’une vibration se produit. Voyons comment connecter le capteur de vibrations à la carte Arduino Uno.

Comment brancher capteur de vibration Arduino Uno

Connecter le capteur de vibration à l’Arduino
Comment connecter le capteur de vibration à l’Arduino

SW-420 Arduino possède trois sorties – GND et VCC pour l’alimentation et une broche de signal analogique A0 qui se connecte à n’importe quelle entrée analogique. Pour utiliser le module KY-004 ou le module SW-420 comme capteur de vibrations, vous devez les connecter directement à Arduino en suivant le brochage. Le capteur HDX, en tant qu’élément unique, doit être connecté par une résistance à l’entrée numérique ou analogique du microcontrôleur.

Programme Arduino pour le capteur de vibration

#define VIB A1
#define LED 12

int val = 0;
 
void setup() {
   pinMode(LED, OUTPUT);
   pinMode(VIB, INPUT);
   Serial.begin(9600);
}
 
void loop() {
   val = analogRead(VIB);   // lecture de la valeur du signal
   Serial.print("Vibration sensor - ");
   Serial.println(val);

   if (sens > 500) { digitalWrite(LED, HIGH); }
   if (sens < 500) { digitalWrite(LED, LOW); }
}

Explication du code pour le capteur de vibration:

  1. les valeurs de la variable val peuvent être absolument différentes – tout dépend du réglage de la sensibilité du détecteur de vibration;
  2. l’instruction conditionnelle if vous permet de définir une action sous une condition vraie.

Dans le programme proposé, la LED s’allume en cas de vibration et s’éteint en l’absence de vibration, ce qui ne convient pas à un dispositif d’alarme. Pour un bon fonctionnement, vous devez finaliser l’esquisse et connecter le bouton poussoir. La LED ne doit pas s’éteindre à la fin de la vibration (sinon nous ne remarquerons pas que le capteur est déclenché), mais revenir en mode veille uniquement lorsque l’on appuie sur le bouton-poussoir.

Arduino capteur de vibration SW-420 et la LED
Arduino capteur de vibration SW-420 et la LED

Programme Arduino pour le capteur de vibration

#define LED 12
#define VIB A1
#define BUT 2

int val = 0;
byte w = 0;
 
void setup() {
   pinMode(LED, OUTPUT);
   pinMode(VIB, INPUT);
   pinMode(BUT, INPUT);
   Serial.begin(9600);
}
 
void loop() {
   val = analogRead(VIB);   // lecture de la valeur du signal
   Serial.print("Vibration sensor - ");
   Serial.println(val);

   if (sens > 500) { digitalWrite(LED, HIGH); w = 1; }
   if (sens < 500) { digitalWrite(LED, LOW); }

   while (w == 1) {
     Serial.println("DANGER");
     if (digitalRead(BUT) == HIGH) { w = 0; }
  }
}

Explication du code pour LED et capteur de vibration:

  1. la variable globale byte w = 0; est nécessaire pour que la boucle while() ne soit pas exécutée au démarrage du programme pour détecteur de vibration;
  2. la boucle while sera exécutée indéfiniment jusqu’à ce que la condition while (w = 1) devienne fausse lorsque le bouton-poussoir est pressé.




One Reply to “Branchement capteur de vibration Arduino (KY-002)”

  1. Bonjour tout le monde, j’ai besoin de savoir est ce que je peux réaliser un système qui donne une signe dès qu’on dépasse un amplitude donné des vibrations à partir d’un capteur de vibrations et une carte arduino , Si oui est ce qu’il y a qlq qui peut m’aider . Et merci d’avance .

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.