• Arduino
  • Raspberry Pi
  • Raspberry Pi Pico
  • Micro:Bit

Ce module est un capteur de cognement. Lorsque le capteur est soumis à un tapotement ou à une secousse, les deux broches de sortie sont court-circuitées. Cette réaction permet de détecter de manière fiable les secousses ou les coups et de les transmettre sous forme de signal. Le capteur de cliquetis convient parfaitement aux projets nécessitant la détection de contacts ou de vibrations, comme par exemple dans les systèmes de sécurité, les appareils interactifs ou comme méthode d'entrée dans divers projets électroniques. Son fonctionnement simple et sa fiabilité en font un composant polyvalent pour de nombreuses applications.

Affectation des broches


Arduino Capteur
Pin 10 Signal
5V +V
GND GND

Exemple de code

Pour charger l'exemple de code suivant sur votre Arduino, nous vous recommandons d'utiliser l'IDE Arduino. Dans l'IDE, vous pouvez choisir le port et la carte qui conviennent à votre appareil.

Copiez le code ci-dessous dans votre IDE. Pour télécharger le code sur votre Arduino, il vous suffit de cliquer sur le bouton " Upload ".

int knock = 10; // Déclaration de la broche d'entrée du capteur
int value; // Variable temporelle
   
void setup () {
  pinMode(knock, INPUT); // Initialisation de la broche du capteur
  Serial.begin(9600); // Initialisation du moniteur sériel
  Serial.println("KY-031 Test de frappe");
}
   
void loop () {
  // Le signal de courant au niveau du capteur est lu.
  value = digitalRead(knock);
  // Si un signal a pu être détecté, cela s'affiche sur le moniteur série.
  if (value == LOW) {
    Serial.println("Frappe détectée");
    delay(200); // 200 ms de pause
  }
}

Ce module est un capteur de cognement. Lorsque le capteur est soumis à un tapotement ou à une secousse, les deux broches de sortie sont court-circuitées. Cette réaction permet de détecter de manière fiable les secousses ou les coups et de les transmettre sous forme de signal. Le capteur de cliquetis convient parfaitement aux projets nécessitant la détection de contacts ou de vibrations, comme par exemple dans les systèmes de sécurité, les appareils interactifs ou comme méthode d'entrée dans divers projets électroniques. Son fonctionnement simple et sa fiabilité en font un composant polyvalent pour de nombreuses applications.

Affectation des broches


Raspberry Pi Capteur
GPIO 24 [Pin 18] Signal
3,3V [Pin 1] +V
GND [Pin 6] GND

Exemple de code

Il s'agit d'un programme d'exemple similaire, à la différence qu'ici aucune LED n'est allumée mais que quelque chose est émis dans la console lorsqu'un signal est détecté.

from gpiozero import DigitalInputDevice
import time

# Initialiser la broche d'entrée à laquelle le capteur est connecté
sensor = DigitalInputDevice(24, pull_up=True)  # La résistance pull-up est activée

print("Test du capteur [appuyez sur CTRL+C pour terminer le test]”)

# Cette fonction de sortie est exécutée lorsqu'un signal est détecté
def output_function():
    print("Signal reconnu")

# Lorsqu'un signal est détecté (front descendant du signal), la fonction de sortie est déclenchée.
sensor.when_activated = output_function

# Main program loop
try:
    while True:
        time.sleep(1)

# Actualiser après la fin du programme
except KeyboardInterrupt:
    print("Le programme a été interrompu par l'utilisateur")

Ce module est un capteur de cognement. Lorsque le capteur est soumis à un tapotement ou à une secousse, les deux broches de sortie sont court-circuitées. Cette réaction permet de détecter de manière fiable les secousses ou les coups et de les transmettre sous forme de signal. Le capteur de cliquetis convient parfaitement aux projets nécessitant la détection de contacts ou de vibrations, comme par exemple dans les systèmes de sécurité, les appareils interactifs ou comme méthode d'entrée dans divers projets électroniques. Son fonctionnement simple et sa fiabilité en font un composant polyvalent pour de nombreuses applications.

Affectation des broches


Micro:Bit Capteur
Pin 1 Signal
3V +V
GND GND

Exemple de code

Ceci est un exemple MakeCode pour Micro:Bit qui fait essentiellement la même chose que les exemples pour les deux autres variantes. Cependant, cet exemple est plus proche de celui du Raspberry Pi que de celui de l'Arduino.

	
		pins.onPulsed(DigitalPin.P1, PulseValue.Low, function () {
		    serial.writeLine("Shock detected")
		})
		pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
		basic.forever(function () {
		    if (pins.digitalReadPin(DigitalPin.P1) == 1) {
		        serial.writeLine("No shock detected")
		    }
		})
	

Téléchargement d'un exemple de programme

microbit-KY-031.zip

Ce module est un capteur de cognement. Lorsque le capteur est soumis à un tapotement ou à une secousse, les deux broches de sortie sont court-circuitées. Cette réaction permet de détecter de manière fiable les secousses ou les coups et de les transmettre sous forme de signal. Le capteur de cliquetis convient parfaitement aux projets nécessitant la détection de contacts ou de vibrations, comme par exemple dans les systèmes de sécurité, les appareils interactifs ou comme méthode d'entrée dans divers projets électroniques. Son fonctionnement simple et sa fiabilité en font un composant polyvalent pour de nombreuses applications.

Affectation des broches


Raspberry Pi Pico Capteur
GPIO18 Signal
3.3V +V
GND GND

Exemple de code

Il s'agit d'un exemple de programme qui compte et sort du texte en série lorsqu'un signal est détecté par le capteur.

Pour charger l'exemple de code suivant sur votre Pico, nous vous recommandons d'utiliser l'IDE Thonny. Il vous suffit de commencer par sélectionner Run > Configure interpreter ... > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico).

Copiez maintenant le code ci-dessous dans votre IDE et cliquez sur Run.

# Charger des bibliothèques
from machine import Pin, Timer

# Initialisation de GPIO comme entrée
sensor = Pin(18, Pin.IN, Pin.PULL_DOWN)

# Créer une minuterie
timer = Timer()

# Initialisation des variables
counter = 0

print("KY-031 Détection des chocs")

# Fonction de comptage des pas
def step(timer):
    global counter
    counter = counter + 1
    print("Bouleversement détecté:", counter)
    
# Fonction qui s'exécute en cas de choc
def shake(pin):
    # Fonction anti-rebond Définir la minuterie
    timer.init(mode=Timer.ONE_SHOT, period=100, callback=step)

# Initialisation de l'interruption
sensor.irq(trigger=Pin.IRQ_FALLING, handler=shake)