ESP32 - Capteur de Vibration SW-420 (MicroPython)

Ce tutoriel vous montre comment associer un capteur de vibration SW-420 à un ESP32 sous MicroPython afin de détecter les chocs et les vibrations dans votre propre projet. Voici ce que vous apprendrez en chemin :

Capteur de vibration SW-420 avec ESP32 MicroPython

Une fois que tout fonctionne, vous pouvez vous appuyer sur ce même code pour faire sonner un buzzer, faire clignoter une LED ou envoyer une notification chaque fois qu'une vibration est détectée.

À Propos du Capteur de Vibration SW-420

Un module capteur de vibration SW-420 est pratique chaque fois que vous devez détecter un coup, un choc ou une secousse sur l'objet sur lequel il est monté. À l'intérieur du module, un petit interrupteur à ressort se trouve tout près d'un contact métallique ; le comparateur LM393 intégré surveille cet interrupteur et produit un signal numérique propre dès qu'une vibration ou un choc le perturbe. Un petit potentiomètre sur la carte vous permet de régler précisément l'intensité de secousse nécessaire avant que la sortie ne se déclenche.

Brochage

Le module capteur de vibration SW-420 possède trois broches :

  • Broche VCC : à connecter à VCC (3,3 volts à 5 volts)
  • Broche GND : à connecter à GND (0 volt)
  • Broche DO : cette broche de sortie reste à LOW tant que tout est immobile, et passe à HIGH dès qu'une vibration ou un choc est détecté. Connectez-la à une broche d'entrée de votre ESP32.
Brochage du Capteur de Vibration SW-420
image source: diyables.io

Le module possède également deux LED intégrées.

  • Une LED confirme simplement que la carte est alimentée
  • Une LED s'allume chaque fois que la broche DO passe à HIGH, ce qui signifie qu'une vibration a été détectée

Comment Ça Fonctionne

Sous le capot se trouve un minuscule interrupteur à ressort placé à côté d'un contact fixe.

  • Lorsque le module est au repos, le ressort reste à l'écart du contact, donc la broche de sortie lit LOW.
  • Lorsqu'une vibration ou un choc projette le ressort contre le contact, le comparateur met la broche de sortie à HIGH.
  • Tourner le potentiomètre intégré augmente ou diminue l'intensité de secousse nécessaire pour déclencher cet interrupteur, ce qui vous permet de le régler des légers tapotements jusqu'aux coups forts.

Schéma de Câblage

  • Comment câbler un ESP32 à un capteur de vibration SW-420 avec une breadboard
Schéma de Câblage ESP32 MicroPython Capteur de Vibration SW-420

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

Comment connecter l'ESP32 et le capteur de vibration SW-420

Comment Programmer pour le Capteur de Vibration SW-420

  • Configure la broche de l'ESP32 en entrée numérique.
sensor_pin = Pin(SENSOR_PIN, Pin.IN)
  • Lit l'état actuel de cette broche sur l'ESP32.
vibration_state = sensor_pin.value()

Code ESP32 MicroPython - Détecter les Vibrations

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-sw-420-vibration-sensor */ from machine import Pin import time SENSOR_PIN = 18 # The ESP32 pin GPIO18 connected to DO pin of the SW-420 vibration sensor prev_vibration_state = 0 # the previous state from the input pin vibration_state = 0 # the current reading from the input pin # Initialize the sensor pin as an input sensor_pin = Pin(SENSOR_PIN, Pin.IN) # Main loop while True: # Read the state of the input pin vibration_state = sensor_pin.value() if prev_vibration_state == 0 and vibration_state == 1: print("Vibration detected!") elif prev_vibration_state == 1 and vibration_state == 0: print("Vibration stopped") # Save the last state prev_vibration_state = vibration_state time.sleep(0.1) # Delay for 100 milliseconds

Étapes Rapides

Suivez ces étapes pour exécuter le script MicroPython sur votre ESP32 avec Thonny IDE :

  • Installez Thonny IDE sur votre ordinateur, s'il n'y est pas déjà.
  • Assurez-vous que le firmware MicroPython est déjà flashé sur votre carte ESP32.
  • C'est la première fois que vous associez MicroPython à un ESP32 ? Suivez le guide ESP32 - Premiers pas. avant de continuer.
  • Câblez le capteur de vibration SW-420 à l'ESP32 en suivant le schéma ci-dessus.
  • Branchez l'ESP32 à votre ordinateur avec un câble USB.
  • Lancez Thonny IDE.
  • Dans Thonny, allez dans Outils Options.
  • Dans l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. Thonny le trouve généralement tout seul, mais vous devrez peut-être le choisir manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur Linux).
  • Copiez le code MicroPython ci-dessous et collez-le dans l'éditeur de Thonny.
  • Enregistrez le script sur votre ESP32 :
    • Cliquez sur le bouton Enregistrer ou appuyez sur Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, choisissez périphérique MicroPython.
    • Nommez le fichier main.py.
  • Appuyez sur le bouton vert Exécuter (ou appuyez sur F5) pour lancer le script.
  • Tapotez ou secouez le capteur SW-420 pour lui faire détecter une vibration.
  • Observez le panneau Shell en bas de Thonny pour voir les messages affichés.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Vibration detected! Vibration stopped Vibration detected! Vibration stopped
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Dépannage

Si le capteur de vibration SW-420 ne se comporte pas comme prévu, essayez les étapes suivantes :

  • Ajustez la sensibilité : Tournez le potentiomètre intégré pour rendre le capteur plus ou moins sensible, puis testez à nouveau avec un léger tapotement et un coup plus ferme.
  • Isolez-le des vibrations parasites : Fixez solidement le capteur loin des moteurs, des ventilateurs ou des surfaces qui vibrent d'elles-mêmes, afin qu'il ne se déclenche pas à cause du bruit ambiant.
  • Vérifiez le câblage : Assurez-vous que les broches VCC, GND et DO sont connectées correctement et solidement.
  • Vérifiez l'alimentation : Assurez-vous que l'ESP32 reçoit une alimentation stable, car les chutes de tension peuvent provoquer des lectures erratiques.

Vidéo

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 !