Inhaltsverzeichnis:

Bewegungssteuerung mit Raspberry Pi und LIS3DHTR, 3-Achsen-Beschleunigungsmesser, mit Python - Gunook
Bewegungssteuerung mit Raspberry Pi und LIS3DHTR, 3-Achsen-Beschleunigungsmesser, mit Python - Gunook

Video: Bewegungssteuerung mit Raspberry Pi und LIS3DHTR, 3-Achsen-Beschleunigungsmesser, mit Python - Gunook

Video: Bewegungssteuerung mit Raspberry Pi und LIS3DHTR, 3-Achsen-Beschleunigungsmesser, mit Python - Gunook
Video: Top 5 Raspberry Pi DIY Projects of All Time 2024, November
Anonim
Image
Image
Grundlegende Hardware, die wir benötigen
Grundlegende Hardware, die wir benötigen

Schönheit umgibt uns, aber normalerweise müssen wir in einem Garten spazieren gehen, um sie zu erkennen. - Rumi

Als gebildete Gruppe, die wir zu sein scheinen, investieren wir den größten Teil unserer Energie in die Arbeit vor unseren PCs und Mobiltelefonen. Daher lassen wir unser Wohlbefinden häufig in der zweiten Lounge liegen, finden nie wirklich eine ideale Gelegenheit, ins Fitnessstudio oder einen Fitnesskurs zu gehen, und ziehen in der Regel Fast Food vor viel günstigeren Alternativen vor. Die erfreuliche Nachricht ist, ob Sie nur Hilfe bei der Aufzeichnung von Aufzeichnungen oder zur Überwachung Ihres Fortschritts benötigen, Sie können die heutige Innovation zur Herstellung von Geräten nutzen, um sich selbst zu helfen.

Die Technologie entwickelt sich schnell. Konsequenterweise bekommen wir Wind von einigen neuen Innovationen, die die Welt und die Art und Weise, wie wir darin lernen, verändern werden. Wenn Sie sich für PCs, Programmieren und Roboter interessieren oder einfach nur gerne basteln, gibt es einen technischen Segen da draußen. Raspberry Pi, der Micro-Single-Board-Linux-Computer, ist darauf ausgerichtet, die Art und Weise, wie Sie mit der innovativen Technologie lernen, zu verbessern, aber auch der Schlüssel zur Verbesserung des Lernens im Bildungsbereich auf der ganzen Welt. Was sind also die möglichen Ergebnisse, die wir tun können, wenn wir einen Raspberry Pi und einen 3-Achsen-Beschleunigungsmesser in der Nähe haben? Wie wäre es, wenn wir das finden! In dieser Aufgabe werden wir die Beschleunigung auf 3 senkrechten Achsen, X, Y und Z, mit Raspberry Pi und LIS3DHTR, einem 3-Achsen-Beschleunigungsmesser, überprüfen. Wir sollten also auf dieser Reise sehen, wie wir ein System erstellen, um die 3-dimensionale Beschleunigung nach oben oder die G-Force zu überprüfen.

Schritt 1: Grundlegende Hardware, die wir benötigen

Grundlegende Hardware, die wir benötigen
Grundlegende Hardware, die wir benötigen
Grundlegende Hardware, die wir benötigen
Grundlegende Hardware, die wir benötigen

Die Probleme waren für uns weniger, da wir eine riesige Menge an Sachen herumliegen haben, an denen wir arbeiten können. Jedenfalls wissen wir, wie mühsam es für andere ist, sich in tadelloser Zeit von der hilfreichen Stelle aus das richtige Teil anzuhäufen, und das wird verteidigt, ohne auf jeden Cent zu achten. Wir würden Ihnen also helfen. Folgen Sie dem Begleittext, um eine vollständige Teileliste zu erhalten.

1. Himbeer-Pi

Der erste Schritt war die Anschaffung eines Raspberry Pi Boards. Der Raspberry Pi ist ein Single-Board-Linux-basierter PC. Dieser kleine PC bietet eine enorme Rechenleistung, die als Teil von Gadget-Aktivitäten und einfachen Operationen wie Tabellenkalkulationen, Wortvorbereitung, Web-Scannen und E-Mail sowie Spielen verwendet wird.

2. I2C-Schild für Raspberry Pi

Das Hauptproblem, das dem Raspberry Pi wirklich fehlt, ist ein I²C-Port. Dafür gibt Ihnen der TOUTPI2 I²C-Anschluss das Gefühl, RasPi mit JEDEM I²C-Gerät zu verwenden. Es ist im DCUBE Store erhältlich

3. 3-Achsen-Beschleunigungsmesser, LIS3DHTR

Der LIS3DH ist ein extrem stromsparender Hochleistungs-Dreiachsen-Linearbeschleunigungsmesser aus der „Nano“-Familie mit digitalem seriellem I2C/SPI-Schnittstellenstandardausgang. Wir haben diesen Sensor aus dem DCUBE Store erworben

4. Anschlusskabel

Wir haben das I2C-Verbindungskabel vom DCUBE Store erworben

5. Micro-USB-Kabel

Der kleinste verwirrte und dennoch strengste Strombedarf ist der Raspberry Pi! Am einfachsten geht das mit dem Micro-USB-Kabel.

6. Webzugriff ist eine Notwendigkeit

INTERNET-Kinder schlafen NIE

Verbinden Sie Ihren Raspberry Pi mit einem Ethernet-Kabel (LAN) und verbinden Sie ihn mit Ihrem Netzwerkrouter. Suchen Sie nach Wahl nach einem WLAN-Anschluss und verwenden Sie einen der USB-Anschlüsse, um zum Remote-System zu gelangen. Es ist eine kluge Entscheidung, einfach, klein und schäbig!

7. HDMI-Kabel/Fernzugriff

Der Raspberry Pi verfügt über einen HDMI-Anschluss, den Sie mit einem HDMI-Kabel gezielt an einen Bildschirm oder Fernseher anschließen können. Wahlweise können Sie SSH verwenden, um sich von einem Linux-PC oder Macintosh aus über das Terminal mit Ihrem Raspberry Pi zu verbinden. Ebenso klingt PuTTY, ein kostenloser Open-Source-Terminalemulator, nach einer anständigen Alternative.

Schritt 2: Anschließen der Hardware

Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware

Machen Sie die Schaltung gemäß dem erschienenen Schaltplan. Zeichne ein Diagramm und folge der Gliederung genau. Phantasie ist wichtiger als Wissen.

Anschluss von Raspberry Pi und I2C Shield

Nehmen Sie vor allem den Raspberry Pi und entdecken Sie das I2C-Schild darauf. Drücken Sie das Shield vorsichtig über die GPIO-Pins von Pi und wir sind mit dieser Progression so einfach wie ein Kinderspiel fertig (siehe Snap).

Anschluss von Sensor und Raspberry Pi

Nehmen Sie den Sensor und verbinden Sie das I2C-Kabel damit. Für den richtigen Betrieb dieses Kabels erinnern Sie sich bitte daran, dass der I2C-Ausgang IMMER mit dem I2C-Eingang verbunden ist. Gleiches muss nach für den Raspberry Pi mit dem darüber montierten I2C-Shield nach den GPIO-Pins genommen werden.

Wir befürworten die Verwendung des I2C-Kabels, da es die Notwendigkeit der Überprüfung von Pinbelegung, Befestigung und Unannehmlichkeiten, die selbst durch den kleinsten Fehler verursacht werden, negiert. Mit diesem grundlegenden Anschluss- und Wiedergabekabel können Sie Geräte präsentieren, austauschen oder einer Anwendung effektiv weitere Geräte hinzufügen. Dies erleichtert das Arbeitsgewicht erheblich.

Hinweis: Das braune Kabel sollte zuverlässig der Masseverbindung (GND) zwischen dem Ausgang eines Geräts und dem Eingang eines anderen Geräts folgen

Web-Netzwerk ist der Schlüssel

Damit unser Bestreben zu einem Erfolg wird, benötigen wir für unseren Raspberry Pi eine Internetverbindung. Dafür haben Sie Wahlmöglichkeiten wie die Verbindung eines Ethernet (LAN)-Kabels mit dem Heimnetzwerk. Alternativ, wie dem auch sei, ist es natürlich entgegenkommend, einen WiFi-USB-Anschluss zu verwenden. In der Regel benötigen Sie dafür einen Treiber. Neige also zu dem mit Linux in der Beschreibung.

Energieversorgung

Stecken Sie das Micro-USB-Kabel in die Strombuchse des Raspberry Pi. Schlagen Sie auf und wir sind bereit.

Verbindung zum Bildschirm

Wir können das HDMI-Kabel mit einem anderen Bildschirm verbinden. In einigen Fällen müssen Sie zu einem Raspberry Pi gelangen, ohne ihn mit einem Bildschirm zu verbinden, oder Sie müssen möglicherweise einige Daten von woanders anzeigen. Denkbar sind innovative und finanziell versierte Ansätze, dies zu tun. Einer von ihnen verwendet -SSH (Remote Command-Line Login). Sie können dafür auch die PUTTY-Software verwenden. Diese sind für fortgeschrittene Benutzer. Daher sind die Details hier nicht enthalten.

Schritt 3: Python-Codierung für Raspberry Pi

Python-Codierung für Raspberry Pi
Python-Codierung für Raspberry Pi

Der Python-Code für den Raspberry Pi und den LIS3DHTR-Sensor ist in unserem GithubRepository zugänglich.

Bevor Sie mit dem Code fortfahren, lesen Sie die im Readme-Archiv angegebenen Regeln und richten Sie Ihren Raspberry Pi entsprechend ein. Es wird nur für einen Moment Pause machen, um alle in Betracht gezogenen Dinge zu tun.

Ein Beschleunigungsmesser ist ein elektromechanisches Gerät, das Beschleunigungskräfte misst. Diese Kräfte können statisch sein, ähnlich der konstanten Schwerkraft, die an Ihren Füßen zieht, oder sie können veränderbar sein – hervorgerufen durch Bewegen oder Vibrieren des Beschleunigungsmessers.

Das Begleitmaterial ist der Python-Code und Sie können den Code klonen und beliebig anpassen.

# Wird mit einer frei wählbaren Lizenz vertrieben. # Verwenden Sie es, wie Sie wollen, gewinnbringend oder kostenlos, vorausgesetzt, es passt zu den Lizenzen der zugehörigen Werke. # LIS3DHTR # Dieser Code wurde entwickelt, um mit dem LIS3DHTR_I2CS I2C Mini-Modul zu arbeiten, das unter dcubestore.com erhältlich ist # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-Mini-Modul/

smbus importieren

Importzeit

# Holen Sie sich den I2C-Bus

bus = smbus. SMBus(1)

# LIS3DHTR-Adresse, 0x18(24)

# Steuerregister auswählen1, 0x20(32) # 0x27(39) Power-ON-Modus, Datenratenauswahl = 10 Hz # X-, Y-, Z-Achse aktiviert bus.write_byte_data(0x18, 0x20, 0x27) # LIS3DHTR-Adresse, 0x18(24) # Steuerregister auswählen4, 0x23(35) # 0x00(00) Kontinuierliche Aktualisierung, Auswahl des Skalenendwerts = +/-2G bus.write_byte_data(0x18, 0x23, 0x00)

time.sleep(0.5)

# LIS3DHTR-Adresse, 0x18(24)

# Daten von 0x28(40), 2 Bytes zurücklesen # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x18, 0x28) data1 = bus.read_byte_data(0x18, 0x29)

# Konvertieren Sie die Daten

xAccl = data1 * 256 + data0 wenn xAccl > 32767: xAccl -= 65536

# LIS3DHTR-Adresse, 0x18(24)

# Daten von 0x2A(42), 2 Bytes zurücklesen # Y-Achse LSB, Y-Achse MSB data0 = bus.read_byte_data(0x18, 0x2A) data1 = bus.read_byte_data(0x18, 0x2B)

# Konvertieren Sie die Daten

yAccl = data1 * 256 + data0 wenn yAccl > 32767: yAccl -= 65536

# LIS3DHTR-Adresse, 0x18(24)

# Daten von 0x2C(44), 2 Bytes zurücklesen # Z-Achse LSB, Z-Achse MSB data0 = bus.read_byte_data(0x18, 0x2C) data1 = bus.read_byte_data(0x18, 0x2D)

# Konvertieren Sie die Daten

zAccl = data1 * 256 + data0 wenn zAccl > 32767: zAccl -= 65536

# Daten auf den Bildschirm ausgeben

print "Beschleunigung in X-Achse: %d" %xAccl print "Beschleunigung in Y-Achse: %d" %yAccl print "Beschleunigung in Z-Achse: %d" %zAccl

Schritt 4: Die Funktionsfähigkeit des Codes

Die Umsetzbarkeit des Kodex
Die Umsetzbarkeit des Kodex

Laden Sie den Code von Github herunter (oder git pull) und öffnen Sie ihn auf dem Raspberry Pi.

Führen Sie die Befehle zum Kompilieren und Hochladen des Codes im Terminal aus und sehen Sie den Ertrag auf dem Bildschirm. Nach ein paar Minuten wird jeder der Parameter demonstriert. Um sicherzustellen, dass alles mühelos funktioniert, können Sie diesen Wagnis zu einem bemerkenswerteren Unterfangen nehmen.

Schritt 5: Anwendungen und Funktionen

Der von STMicroelectronics hergestellte LIS3DHTR verfügt über dynamisch vom Benutzer wählbare Skalenendwerte von ±2g/±4g/±8g/±16g und ist in der Lage, Beschleunigungen mit Ausgangsdatenraten von 1Hz bis 5kHz zu messen. Der LIS3DHTR ist für bewegungsaktivierte Funktionen und Freifallerkennung geeignet. Es quantifiziert die statische Beschleunigung der Schwerkraft in Neigungserkennungsanwendungen und zusätzlich die dynamische Beschleunigung, die aufgrund von Bewegung oder Erschütterung entsteht. Andere Anwendungen umfassen Klick-/Doppelklick-Erkennung, intelligente Energieeinsparung für Handheld-Geräte, Schrittzähler, Display-Ausrichtung, Spiele und Eingabegeräte für virtuelle Realität, Stoßerkennung und Protokollierung sowie Vibrationsüberwachung und -kompensation.

Schritt 6: Fazit

Vertrauen Sie auf dieses Unterfangen, das weitere Experimente anspornt. Dieser I2C-Sensor ist phänomenal anpassungsfähig, bescheiden und verfügbar. Da es sich um ein in hohem Maße vergängliches Framework handelt, gibt es interessante Möglichkeiten, diese Aufgabe zu erweitern und sogar zu verbessern.

Sie können beispielsweise mit der Idee eines Schrittzählers beginnen, der den LIS3DHTR und Raspberry Pi verwendet. In der obigen Aufgabe haben wir grundlegende Berechnungen verwendet. Die Beschleunigung kann der relevante Parameter sein, um die Entscheidung eines Gehens zu analysieren. Sie können die drei Bewegungskomponenten für eine Person überprüfen, die vorwärts (Rollen, X), seitlich (Neigung, Y) und vertikal (Gierachse, Z) sind. Ein typisches Muster aller 3 Achsen wird aufgezeichnet. Mindestens 1 Achse hat relativ große periodische Beschleunigungswerte. Peakrichtung und ein Algorithmus sind also unabdingbar. Unter Berücksichtigung der Schrittparameter (Digitalfilter, Peak-Erkennung, Zeitfenster, etc.) dieses Algorithmus können Sie Schritte erkennen und zählen, sowie Distanz, Geschwindigkeit und in gewissem Umfang verbrannte Kalorien messen. Sie können diesen Sensor also auf verschiedene Arten verwenden, die Sie in Betracht ziehen können. Wir vertrauen darauf, dass es Ihnen allen gefällt! Wir werden versuchen, eher früher als später eine funktionierende Version dieses Schrittzählers zu erstellen, die Konfiguration, den Code, den Teil, der die Mittel berechnet, um Gehen und Laufen zu trennen und Kalorien zu verbrennen.

Zu Ihrem Trost haben wir ein interessantes Video auf YouTube, das Sie bei Ihrer Untersuchung unterstützen kann. Vertrauen Sie auf dieses Unterfangen, das weitere Erkundungen motiviert. Weiter grübeln! Denken Sie daran, danach zu suchen, da ständig mehr auftaucht.

Empfohlen: