Raspberry Pi Pico: Schrittzähler mit Vibration Sensor KY-002 programmieren

Wenn Du mit einem Vibrationssensor, wie dem KY-002, experimentierst, dann drängt es sich praktisch auf, damit einen Schrittzähler zu bauen.

Für die üblichen Schrittzähler gelten folgende Empfehlungen bzw. Nutzungshinweise, die auch für diesen Schrittzähler gelten:

  • Der Aufbau muss fest am Körper getragen werden.
  • Die Bewegungen sollten gleichmäßig erfolgen.
  • Die Schrittabweichung wird bestenfalls bei +-10% liegen.

In der praktischen Ausführung wäre es sinnvoll diesen Aufbau mit einem Display und einer Batterie-betriebenen Stromversorgung auszustatten. Es steht Dir frei dies zu tun. Wir machen es uns hier aber sehr einfach und lassen die Anzahl der Schritte in der Kommandozeile anzeigen.

Beim KY-002 handelt es sich um einen sehr einfachen Erschütterungsdetektor bzw. Vibrationssensor. Er kann wie ein Schalter bzw. Taster ausgewertet werden. Der einzige Nachteil ist, dass seine Empfindlichkeit nicht eingestellt werden kann.

Aufbau und Bauteile

Raspberry Pi Pico: Erschütterung oder Vibration erkennen mit Vibration Sensor KY-002

Raspberry Pi Pico KY-002
Pin 38 GND -
Pin 36 3V3 +3,3V Mitte
Pin 31 GPIO 26 / ADC0 S

Programmcode

In diesem Programmcode wird der Sensor mit einem digitalen Signaleingang abgefragt. Die Software-seitige Auswertung des Sensors erfolgt mit einem Interrupt zur Erkennung einer Zustandsänderung und einem Timer-Auslösung zur Vermeidung mehrfacher Auslösungen (Entprellen).

# 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(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)

print('Und los gehts')
print()

Experimente, Beobachtungen und Erklärungen

Wie kann man diesen Schrittzähler sinnvoll testen?

Ganz einfach. Du kannst das Sensor-Modul in die Faust nehmen und mit der Faust leicht auf den Tisch klopfen. Das sollte zum Simulieren eines Schritts ausreichen.

Für folgende Experimente durch und beobachte die Kommandozeile/Shell:

  1. Klopfe langsam auf den Tisch.
  2. Klopfe etwas schneller auf den Tisch.
  3. Klopfe so schnell auf den Tisch, dass der Zähler nicht mehr richtig mitzählen kann.

Der verwendete Vibrationssensor KY-002 arbeitet im Gehäuse mit einer Feder, die durch eine Bewegungsänderung in Schwingung versetzt wird und wodurch ein Kontakt zu einem Stift entsteht. Damit die Feder durch die Vibration des nächsten Schritts schwingen kann, muss sie eigentlich zuerst in Ruhe kommen. Diese Ruhephase wird durch den Timer erzwungen. Es kann dann aber sein, wenn Du sehr schnell rennen würdest, dass der Zähler wegen der Zwangspause nicht alle Schritte mitbekommt, weil die Zeit der Pause zu groß gewählt ist. Ist die Pause zu klein, dann werden unter Umständen zu viele Schritte gezählt.

Darf es ein bisschen mehr sein?

Ein Vibrationssensor kann auch als Erschütterungsmelder in der Objektüberwachung dienen. Wenn das Objekt bewegt wird, löst der Melder aus. Lass uns das mal ausprobieren.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren