KY-027 Module Magic Light Cup
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.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
Le module Magic Light Cup active ou désactive la LED en cas de secousse. Lorsqu'une secousse est détectée, la LED est activée ou désactivée et le signal de commande correspondant est transmis à une sortie de signal. Ce signal peut être lu pour surveiller l'état de la LED. Ce module convient parfaitement aux applications qui utilisent la réaction au mouvement ou aux vibrations, comme les lumières interactives, les jouets ou les systèmes d'alarme. En transmettant le signal de déclenchement à la sortie du signal, d'autres systèmes ou microcontrôleurs peuvent détecter les secousses et réagir en conséquence.
Résistance en série:
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.
Tension d'entrée | Résistance en série: |
---|---|
3,3 V | 120 Ω |
5 V | 220 Ω |
Affectation des broches
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.
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 led = 13 ;// Déclaration de la broche de sortie de la LED
int shock_sensor = 10; // Déclaration de la broche d'entrée du capteur
int value; // Variable temporelle
void setup () {
pinMode(led, OUTPUT); // Initialisation de la broche de sortie
pinMode(shock_sensor, INPUT); // Initialisation de la broche du capteur
digitalWrite(shock_sensor, HIGH); // Activation de la résistance pull-up interne
}
void loop () {
value = digitalRead(shock_sensor); // Le signal actuel sur le capteur est lu
// Si un signal a pu être détecté, la LED s'allume.
if (value == HIGH) {
digitalWrite (led, LOW);
delay(200);
}
else digitalWrite(led, HIGH);
}
Le module Magic Light Cup active ou désactive la LED en cas de secousse. Lorsqu'une secousse est détectée, la LED est activée ou désactivée et le signal de commande correspondant est transmis à une sortie de signal. Ce signal peut être lu pour surveiller l'état de la LED. Ce module convient parfaitement aux applications qui utilisent la réaction au mouvement ou aux vibrations, comme les lumières interactives, les jouets ou les systèmes d'alarme. En transmettant le signal de déclenchement à la sortie du signal, d'autres systèmes ou microcontrôleurs peuvent détecter les secousses et réagir en conséquence.
Résistance en série:
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.
Tension d'entrée | Résistance en série: |
---|---|
3,3 V | 120 Ω |
5 V | 220 Ω |
Affectation des broches
Raspberry Pi | Capteur |
---|---|
GPIO 23 [Pin 16] | Signal |
5V | +V |
GND | GND |
GPIO 24 [Pin 18] | LED |
Exemple de code
# Les modules requis sont importés et configurés
from gpiozero import LED
import time
# Initialisation des LEDs
led_rouge = LED(24)
led_vert = LED(23)
print("Test des LED [appuyez sur CTRL+C pour terminer le test]")
# Boucle du programme principal
try:
while True:
print("LED ROUGE allumée pendant 3 secondes")
led_rogue.on() # La LED rouge est allumée
led_vert.off() # La LED verte est éteinte
time.sleep(3) # Mode attente pendant 3 secondes
print("LED VERTE allumée pendant 3 secondes")
led_rogue.off() # La LED rouge est éteinte
led_vert.on() # La LED verte est allumée
time.sleep(3) # Mode attente pendant 3 secondes
# Le travail de nettoyage après l'achèvement du programme
except KeyboardInterrupt:
print("Le programme a été interrompu par l'utilisateur")
led_rogue.close() # Débloquer des ressources pour la LED rouge
led_vert.close() # Débloquer des ressources pour la LED verte
Le module Magic Light Cup active ou désactive la LED en cas de secousse. Lorsqu'une secousse est détectée, la LED est activée ou désactivée et le signal de commande correspondant est transmis à une sortie de signal. Ce signal peut être lu pour surveiller l'état de la LED. Ce module convient parfaitement aux applications qui utilisent la réaction au mouvement ou aux vibrations, comme les lumières interactives, les jouets ou les systèmes d'alarme. En transmettant le signal de déclenchement à la sortie du signal, d'autres systèmes ou microcontrôleurs peuvent détecter les secousses et réagir en conséquence.
Résistance en série:
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.
Tension d'entrée | Résistance en série: |
---|---|
3,3 V | 120 Ω |
5 V | 220 Ω |
Affectation des broches
Micro:Bit | Sensor |
---|---|
Pin 2 | LED |
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.
basic.forever(function () {
if (pins.digitalReadPin(DigitalPin.P1) == 1) {
pins.digitalWritePin(DigitalPin.P2, 1)
} else {
pins.digitalWritePin(DigitalPin.P2, 0)
}
})
Téléchargement d'un exemple de programme
Le module Magic Light Cup active ou désactive la LED en cas de secousse. Lorsqu'une secousse est détectée, la LED est activée ou désactivée et le signal de commande correspondant est transmis à une sortie de signal. Ce signal peut être lu pour surveiller l'état de la LED. Ce module convient parfaitement aux applications qui utilisent la réaction au mouvement ou aux vibrations, comme les lumières interactives, les jouets ou les systèmes d'alarme. En transmettant le signal de déclenchement à la sortie du signal, d'autres systèmes ou microcontrôleurs peuvent détecter les secousses et réagir en conséquence.
Résistance en série:
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.
Tension d'entrée | Résistance en série: |
---|---|
3,3 V | 120 Ω |
5 V | 220 Ω |
Affectation des broches
Raspberry Pi Pico | Capteur |
---|---|
GPIO26 | Signal |
3.3V | +V |
GND | GND |
GPIO18 | LED |
Exemple de code
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.
# 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 de la minuterie
timer = Timer()
# Initialisation de la variable
led_state = 0
# Fonction : la LED est allumée/éteinte
def step(timer):
global led_state
if led_state == 0:
LED.value(1)
led_state = 1
else:
LED.value(0)
led_state = 0
# Fonction permettant de déclencher le timer après le déclenchement de l'interruption.
# pour exécuter la fonction step()
def shake(pin):
# Définition de la fonction anti-rebond autour du timer
timer.init(mode=Timer.ONE_SHOT, period=100, callback=step)
# Initialisation de l'interruption
sensor.irq(trigger=Pin.IRQ_FALLING, handler=shake)