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

Die LED wird bei Erschütterung an– oder ausgeschaltet. Das Triggersignal, welches die LED steuert, wird zusätzlich an den Signalausgang weitergeleitet.

Vorwiderstand:

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

Vorwiderstand (3,3 V) [Rot] 120 Ω
Vorwiderstand (5 V) [Rot] 220 Ω

Pin-Belegung

Codebeispiel Arduino

Anschlussbelegung Arduino

Arduino Sensor
Pin 10 Signal
5V +V
GND GND
Pin 13 LED
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

Die LED wird bei Erschütterung an– oder ausgeschaltet. Das Triggersignal, welches die LED steuert, wird zusätzlich an den Signalausgang weitergeleitet.

Vorwiderstand:

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

Vorwiderstand (3,3 V) [Rot] 120 Ω
Vorwiderstand (5 V) [Rot] 220 Ω

Pin-Belegung

Codebeispiel Raspberry Pi

Anschlussbelegung Raspberry Pi

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

Programmierbeispiel in der Programmiersprache Python.

# 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

Die LED wird bei Erschütterung an– oder ausgeschaltet. Das Triggersignal, welches die LED steuert, wird zusätzlich an den Signalausgang weitergeleitet.

Vorwiderstand:

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

Vorwiderstand (3,3 V) [Rot] 120 Ω
Vorwiderstand (5 V) [Rot] 220 Ω

Pin-Belegung

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

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

Beispielprogramm Download

microbit-KY-027

Die LED wird bei Erschütterung an– oder ausgeschaltet. Das Triggersignal, welches die LED steuert, wird zusätzlich an den Signalausgang weitergeleitet.

Vorwiderstand:

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

Vorwiderstand (3,3 V) [Rot] 120 Ω
Vorwiderstand (5 V) [Rot] 220 Ω

Pin-Belegung

Codebeispiel Raspberry Pi Pico

Anschlussbelegung Raspberry Pi Pico

Raspberry Pi Pico Sensor
GPIO26 Signal
3.3V +V
GND GND
GPIO18 LED
# Bibliotheken laden
from machine import Pin, Timer

# Initialisierung von GPIO26 als Input | Initialisierung von GPIO18 als Output
sensor = Pin(26, Pin.IN, Pin.PULL_DOWN)
LED = Pin(18, Pin.OUT, Pin.PULL_DOWN)

# Timer Initialisierung
timer = Timer()
# Variablen Initialisierung
var = 0

# Funktion: LED wird EIN/AUS geschaltet
def step(timer):
    global var
    print("Erschütterung")
    if var == 0:
        LED.value(1)
        var = 1
    else:
        LED.value(0)
        var = 0

# Funktion: Nach auslösung des Interrupts wird der Timer getrigert um die step()-Funktion auszuführen
def shake(pin):
    # Entprellfunktion: Timer setzen
    timer.init(mode=Timer.ONE_SHOT, period=100, callback=step)

# Initialisierung Interrupt
sensor.irq(trigger=Pin.IRQ_FALLING, handler=shake)

Beispielprogramm Download

KY027-Pico.zip