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

La LED est allumée ou éteinte par vibration. Le signal lorsque la LED est allumée est transmis à une sortie de signal qui peut ensuite être lue.

Pré-résistance :

En fonction de la tension d'entrée, des résistances en série sont nécessaires.

La désignation (Rf) se réfère ici à la résistance en série nécessaire devant la LED en fonction de la tension appliquée.

Rf (3,3V) [Rouge] 120Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur un noyau de CPU ARM, comme le Raspberry-Pi).

Rf (5V) [Rouge] 220Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur Atmel Atmega, comme Arduino).

Affectation des broches

Exemple de code Arduino

Affectation des broches Arduino

Arduino Capteur
Pin 10 Signal
5V +V
GND GND
Pin 13 LED

Voici un exemple de programme qui allume la LED du module Magic-LightCup (ou une LED externe, comme dans ce cas) lorsqu'une inclinaison est détectée au niveau du capteur.

int Led = 13 ;// Initialisation de la broche de sortie
int Sensor = 10; // Déclaration de la broche d'entrée du capteur
int val; // Variable temporaire
  
void setup ()
{
  pinMode (Led, OUTPUT) ; // Initialisation de la broche de sortie
  pinMode (Sensor, INPUT) ; // Initialisation de la broche du capteur
  digitalWrite(Sensor, HIGH); // Activation de la résistance de Pull-up interne
}
  
void loop ()
{
  val = digitalRead (Sensor) ; // Lecture de la valeur du signal
  
  if (val == HIGH) // Si un signal est détecté, la diode s'allume
  {
    digitalWrite (Led, LOW);
  }
  else
  {
    digitalWrite (Led, HIGH);
  }
}

Télécharger l'exemple de programme

KY027-Arduino.zip

La LED est allumée ou éteinte par vibration. Le signal lorsque la LED est allumée est transmis à une sortie de signal qui peut ensuite être lue.

Pré-résistance :

En fonction de la tension d'entrée, des résistances en série sont nécessaires.

La désignation (Rf) se réfère ici à la résistance en série nécessaire devant la LED en fonction de la tension appliquée.

Rf (3,3V) [Rouge] 120Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur un noyau de CPU ARM, comme le Raspberry-Pi).

Rf (5V) [Rouge] 220Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur Atmel Atmega, comme Arduino).

Affectation des broches

Exemple de code Raspberry Pi

Affectation des broches Raspberry Pi

Raspberry Pi Capteur
GPIO 23 [Pin 16] Signal
5V +V
GND GND
GPIO 24 [Pin 18] LED

Exemple de programmation dans le langage de programmation Python.

Dans cet exemple de programme, la LED s'allume lorsqu'un signal est détecté au niveau de l'interrupteur d'inclinaison.

#!/usr/bin/python
# coding=utf-8
  
# Les modules nécessaires sont importés et mis en place
import RPi.GPIO as GPIO
import time
    
GPIO.setmode(GPIO.BCM)
    
# Déclaration des broches de raccordement du capteur et de la diode
LED_PIN = 24
Sensor_PIN = 23
GPIO.setup(Sensor_PIN, GPIO.IN)
GPIO.setup(LED_PIN, GPIO.OUT)
    
print("Sensor-Test [Appuyez sur Ctrl + C pour terminer le test]")
    
# Cette fonction de sortie est exécutée par détection du signal
def fonctionDeSortie(null):
    GPIO.output(LED_PIN, True)
    
# Lors de la détection d'un signal (front descendant du signal) de la fonction de sortie est déclenchée
GPIO.add_event_detect(Sensor_PIN, GPIO.FALLING, callback=fonctionDeSortie, bouncetime=10) 
    
# Boucle de programme principale
try:
    while True:
        time.sleep(1)
        #La sortie sera réinitialisée si le capteur d'inclinaison est repositionné dans son état initial
        if GPIO.input(Sensor_PIN):
            GPIO.output(LED_PIN,False)
    
# remise en place de tous les GPIO en entrées
except KeyboardInterrupt:
    GPIO.cleanup()

Exemple de téléchargement de programme

KY027-RPi.zip

Pour commencer avec la commande :

sudo python3 KY027-RPi.py

La LED est allumée ou éteinte par vibration. Le signal lorsque la LED est allumée est transmis à une sortie de signal qui peut ensuite être lue.

Pré-résistance :

En fonction de la tension d'entrée, des résistances en série sont nécessaires.

La désignation (Rf) se réfère ici à la résistance en série nécessaire devant la LED en fonction de la tension appliquée.

Rf (3,3V) [Rouge] 120Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur un noyau de CPU ARM, comme le Raspberry-Pi).

Rf (5V) [Rouge] 220Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur Atmel Atmega, comme Arduino).

Affectation des broches

Exemple de code Micro:Bit

Affectation des broches Micro:Bit :

Micro:Bit Sensor
Pin 2 LED
Pin 1 Signal
3V +V
GND GND

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.

Téléchargement d'un exemple de programme

microbit-KY-027.zip

La LED est allumée ou éteinte par vibration. Le signal lorsque la LED est allumée est transmis à une sortie de signal qui peut ensuite être lue.

Pré-résistance :

En fonction de la tension d'entrée, des résistances en série sont nécessaires.

La désignation (Rf) se réfère ici à la résistance en série nécessaire devant la LED en fonction de la tension appliquée.

Rf (3,3V) [Rouge] 120Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur un noyau de CPU ARM, comme le Raspberry-Pi).

Rf (5V) [Rouge] 220Ω

(par exemple, lorsqu'il est utilisé avec des microcontrôleurs basés sur Atmel Atmega, comme Arduino).

Affectation des broches

Exemple de code Raspberry Pi Pico

Affectation des broches Raspberry Pi Pico

Raspberry Pi Pico Capteur
GPIO26 Signal
3.3V +V
GND GND
GPIO18 LED
# Chargement des bibliothèques
from machine import Pin, Timer

# Initialisation de GPIO26 comme entrée Initialisation de GPIO18 comme sortie
sensor = Pin(26, Pin.IN, Pin.PULL_DOWN)
LED = Pin(18, Pin.OUT, Pin.PULL_DOWN)

# Initialisation du timer
timer = Timer()
# Initialisation des variables
var = 0

# Fonction : La LED est allumée/éteinte
def step(timer):
    global var
    print("vibration")
    if var == 0:
        LED.value(1)
        var = 1
    else:
        LED.value(0)
        var = 0

# Fonction : Après avoir déclenché l'interruption, le timer est déclenché pour exécuter la fonction step().
def shake(pin):
    # Fonction de débordement : Régler le timer
    timer.init(mode=Timer.ONE_SHOT, period=100, callback=step)

# Interruption d'initialisation
sensor.irq(trigger=Pin.IRQ_FALLING, handler=shake)

Exemple de téléchargement de programme

KY027-Pico.zip