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

Je nach Neigung schließt ein Schalter die Eingangspins kurz. Dies geschieht bedingt dadurch, dass eine Kugel im Inneren die Kontakte, je nach Lage, kurz schließt.

Technische Daten

Betriebsspannung 3,3 V - 5 V
Abmessungen 19 x 15 x 5 mm

Pin-Belegung

Codebeispiel Arduino

Anschlussbelegung Arduino

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

Hierbei handelt es sich um ein Beispielprogramm, welches eine LED zum Leuchten bringt, wenn am Sensor ein Signal detektiert wurde. Als LED können z.B. auch unter anderem die Module KY-011, KY-016 oder KY-029 verwendet werden.

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
}
   
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

KY020-Arduino.zip

Je nach Neigung schließt ein Schalter die Eingangspins kurz. Dies geschieht bedingt dadurch, dass eine Kugel im Inneren die Kontakte, je nach Lage, kurz schließt.

Technische Daten

Betriebsspannung 3,3 V - 5 V
Abmessungen 19 x 15 x 5 mm

Pin-Belegung

Codebeispiel Raspberry Pi

Anschlussbelegung Raspberry Pi

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

Hierbei handelt es sich um ein Beispielprogramm, bei dem eine Konsolenausgabe generiert wird, sobald ein Signal detektiert wird.

# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
import time
   
GPIO.setmode(GPIO.BCM)
   
# Hier wird der Eingangs-Pin deklariert, an dem der Sensor angeschlossen ist. Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN)
   
print("Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]")
   
# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrt
def ausgabeFunktion(null):
        print("Signal erkannt")
   
# Beim Detektieren eines Signals (fallende Signalflanke) wird die Ausgabefunktion ausgeloest
GPIO.add_event_detect(GPIO_PIN, GPIO.FALLING, callback=ausgabeFunktion, bouncetime=100) 
   
# Hauptprogrammschleife
try:
    while True:
        time.sleep(1)
   
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
        GPIO.cleanup()

Beispielprogramm Download

KY020-RPi.zip

Zu starten mit dem Befehl:

sudo python3 KY020-RPi.py

Je nach Neigung schließt ein Schalter die Eingangspins kurz. Dies geschieht bedingt dadurch, dass eine Kugel im Inneren die Kontakte, je nach Lage, kurz schließt.

Technische Daten

Betriebsspannung 3,3 V - 5 V
Abmessungen 19 x 15 x 5 mm

Pin-Belegung

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

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

Beispielprogramm Download

microbit-KY-020.zip

Je nach Neigung schließt ein Schalter die Eingangspins kurz. Dies geschieht bedingt dadurch, dass eine Kugel im Inneren die Kontakte, je nach Lage, kurz schließt.

Technische Daten

Betriebsspannung 3,3 V - 5 V
Abmessungen 19 x 15 x 5 mm

Pin-Belegung

Codebeispiel Raspberry Pi Pico

Anschlussbelegung Raspberry Pi Pico

Raspberry Pi Pico Sensor
GPIO26 Signal
3.3V +V
GND GND

Hierbei handelt es sich um ein Beispielprogramm, welches hoch zählt und Text Seriell ausgibt, wenn am Sensor ein Signal detektiert wurde.

# Bibliotheken laden
from machine import Pin, Timer

# Initialisierung von GPIO als Eingang
sensor = Pin(26, Pin.IN, Pin.PULL_DOWN)

# Timer erstellen
timer = Timer()

# Zähler auf 0 stellen
counter = 0

# Funktion: Schritte zählen
def step(timer):
    global counter
    counter = counter + 1
    print("Schräglage")
    print(counter)

# Funktion: Vibration
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

KY020-Pico.zip