Die LED wird bei Erschütterung an– oder ausgeschaltet. Das Signal, wann die LED an ist, wird an einen Signalausgang gegeben welchen man dann auslesen kann.

Vorwiderstand:

Je nach Eingangsspannung, werden Vorwiderstände benötigt.

Die Bezeichnung (Rf) bezieht sich hier auf den benötigten Vorwiederstand vor der Leuchtdiode basierend auf der anliegenden Spannung.

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

[z.B. beim Einsatz mit ARM CPU-Kern basierten Mikrokontrollern wie Raspberry-Pi]

Rf (5V) [Rot] 220Ω

[z.B. beim Einsatz mit Atmel Atmega basierten Mikrokontrollern wie Arduino]

Pin-Belegung

Codebeispiel Arduino

Anschlussbelegung Arduino

Arduino Sensor
Pin 10 Signal
5V +V
Masse GND
Arduino Sensor
Pin 13 LED +
Masse LED -

Hier bei handelt es sich um ein Beispielprogramm, welches die LED vom Magic-LightCup-Modul (oder wie hier eine Externe LED) zum Leuchten bringt, wenn am Sensor eine Neigung detektiert wurde.

int Led = 13 ;// Deklaration des LED-Ausgangspin
int Sensor = 10; // Deklaration des Sensor-Eingangspin
int val; // Temporaere Variable
  
void setup ()
{
  pinMode (Led, OUTPUT) ; // Initialisierung Ausgangspin
  pinMode (Sensor, INPUT) ; // Initialisierung Sensorpin
  digitalWrite(Sensor, HIGH); // Aktivierung interner Pull-Up Widerstand
}
  
void loop ()
{
  val = digitalRead (Sensor) ; // Das gegenwärtige Signal am Sensor wird ausgelesen
  
  if (val == HIGH) // Falls ein Signal erkannt werden konnte, wird die LED eingeschaltet.
  {
    digitalWrite (Led, LOW);
  }
  else
  {
    digitalWrite (Led, HIGH);
  }
}

Beispielprogramm Download

KY027-Arduino.zip

Codebeispiel Raspberry Pi

Anschlussbelegung Raspberry Pi

Raspberry Pi Sensor
GPIO 23 [Pin 16] Signal
3,3V [Pin 1] +V
Masse [Pin 6] GND
Raspberry Pi Sensor
GPIO 24 [Pin 18] LED +
Masse [Pin 6] LED -

Programmierbeispiel in der Programmiersprache Python.

In diesem Programmbeispiel Leuchtet die LED auf, wenn am Neigungsschalter, ein Signal detektiert wird.

# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
   
GPIO.setmode(GPIO.BCM)
   
# Hier werden die beiden Pins deklariert, an dem der Sensor und die LED angeschlossen sind,
LED_PIN = 24
Sensor_PIN = 23
GPIO.setup(Sensor_PIN, GPIO.IN)
GPIO.setup(LED_PIN, GPIO.OUT)
   
print ("Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]")
   
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabeFunktion(null):
        GPIO.output(LED_PIN, True)
   
# Beim Detektieren eines Signals wird die Ausgabefunktion ausgeloest
GPIO.add_event_detect(Sensor_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=10) 
   
# Hauptprogrammschleife
try:
    while True:
        time.sleep(1)
        #Ausgang wird wieder zurueckgesetzt, falls der Neigungschalter wieder auf die andere Seite geneigt wird
        if GPIO.input(Sensor_PIN):
            GPIO.output(LED_PIN,False)
   
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()

Beispielprogramm Download

KY027-RPi.zip

Zu starten mit dem Befehl:

sudo python3 KY027-RPi.py

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

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

Hierbei handelt es sich um ein MakeCode Beispiel für Micro:Bit welches essenziel das gleiche macht wie die Beispiele der anderen beiden Varianten. Jedoch ist dieses Beispiel eher näher an das Beispiel des Raspberry Pi angelehnt als an das Beispiel des Arduino.

Beispielprogramm Download

microbit-KY-027