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 | 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:
- Klopfe langsam auf den Tisch.
- Klopfe etwas schneller auf den Tisch.
- 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:
- Raspberry Pi Pico: Erschütterung oder Vibration erkennen mit Vibration Sensor 801S
- Raspberry Pi Pico: Erschütterung oder Vibration erkennen mit Vibration Sensor KY-002
- Raspberry Pi Pico: Diebstahlwarner mit Summer und Vibration Sensor KY-002 programmieren
Frag Elektronik-Kompendium.de
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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
Online-Workshop: 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.
Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)