• 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

microbit-KY-027.zip

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)