Raspberry Pi Pico: Diebstahl erkennen mit MPU-6050
Mithilfe eines Raspberry Pi Pico und eines MPU-6050 soll ein Gegenstand oder ein elektronisches Gerät mit einer Funktion ausgestattet werden, um Diebstähle zu erkennen und zu alarmieren.
Der MPU-6050 ist ein Sensor, der ein Gyroskop enthält. Dieses Gyroskop wird verwendet, um eine Bewegung zu detektieren. Wenn der Raspberry Pi Pico aus den Sensordaten eine Bewegung registriert, wird die Onboard-LED aktiviert, um den Diebstahl optisch anzuzeigen. Sobald der Sensor wieder in Ruhe ist und keine Bewegung mehr erkannt wird, geht die Onboard-LED wieder aus.
Idee für eine Erweiterung: Zusätzlich kann der Programmcode so erweitert werden, dass ein Summer, der an einem separaten GPIO-Pin angeschlossen ist, ebenfalls aktiviert und deaktiviert wird.
Dieses System bietet eine einfache und effektive Möglichkeit, Diebstahl zu erkennen und den Besitzer zu alarmieren.
Aufbau und Bauteile
Raspberry Pi Pico | MPU-6050 | |
---|---|---|
Pin 38 | GND | GND |
Pin 36 | VCC +3,3V | VCC |
Pin 27 | GPIO 21 | SCL |
Pin 26 | GPIO 20 | SDA |
Hinweis: Man sollte beachten, dass das MPU-6050-Modul nur an einer Seite eine Steckleiste hat. Wenn man es auf einem Steckbrett befestigt, dann besteht die Gefahr, dass es schief steckt. Dadurch können die Werte des Beschleunigungssensors von den erwarteten Werten abweichen.
MicroPython-Bibliothek für MPU-6050
Damit der MPU-6050 programmiert werden kann, müssen zwei externe Bibliotheken auf dem Raspberry Pi Pico geladen und im Verzeichnis lib gespeichert werden.
- Download: https://github.com/micropython-IMU/micropython-mpu9x50/blob/master/imu.py unter /lib/imu.py speichern
- Download: https://github.com/micropython-IMU/micropython-mpu9x50/blob/master/vector3d.py unter /lib/vector3d.py speichern
I2C verbinden und programmieren
- Raspberry Pi Pico: Grundlagen zum I2C
- Raspberry Pi Pico: I2C verbinden und programmieren
- Raspberry Pi Pico: Troubleshooting I2C - Fehler, Probleme und Lösungen
Schnell und einfach alle Bauteile zusammen bestellen
Programmcode
Der Programmcode liest die Sensordaten des Gyroskops und wertet sie aus. Wenn ein Objekt geklaut oder entwendet wird, dann geht man davon aus, dass das relativ schnell und unter Umständen hektisch erfolgt. Zum Messzeitpunkt kann man das in den Daten erkennen. Die 3 Werte der X-/Y- und Z-Achse werden multipliziert. Wenn ein Wert größer als 0 ist, kann man von einer Bewegung ausgehen.
Im Programmcode ist die Onboard-LED als Anzeige der Bewegung programmiert, die an- oder ausgeht. Man kann aber auch einen Summer an einen separaten GPIO -Pin anschließen. Dann ertönt ein Ton, wenn eine Bewegung eintritt.
# Bibliotheken laden import machine import time from imu import MPU6050 # Wert bei dem ein Diebstahl erkannt wird theft = 250000 # Initialisierung: Onboard-LED force = machine.Pin('LED', machine.Pin.OUT, value=0) # I2C-Pins i2c_sda = machine.Pin(20) i2c_scl = machine.Pin(21) # Initialisierung I2C i2c = machine.I2C(0, sda=i2c_sda, scl=i2c_scl, freq=100000) # Initialisierung MPU-6050 imu = MPU6050(i2c) time.sleep(2) # Warten bis Initialisierung fertig ist # Wiederholung (Endlos-Schleife) while True: # Messwerte für X, Y und Z gyr_raw_x = int(imu.gyro.x) gyr_raw_y = int(imu.gyro.y) gyr_raw_z = int(imu.gyro.z) # Bewegung/Erschütterung ermitteln gyr_force = gyr_raw_x * gyr_raw_y * gyr_raw_z # Werte anzeigen print('gyr_force:', gyr_force, "\t\t\t\t", end = "\r") if gyr_force < theft: force.off() time.sleep(.2) else: force.on() time.sleep(2)
Weitere verwandte Themen:
- Raspberry Pi Pico: MPU-6050 programmieren
- Raspberry Pi Pico: Lage und Postion erkennen mit MPU-6050
- Raspberry Pi Pico: Winkel messen mit MPU-6050
- Raspberry Pi Pico: Bewegung und Erschütterung erkennen mit MPU-6050
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.
Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.