Inhaltsverzeichnis:

3-Achsen-Beschleunigungsmesser, ADXL345 mit Raspberry Pi mit Python - Gunook
3-Achsen-Beschleunigungsmesser, ADXL345 mit Raspberry Pi mit Python - Gunook

Video: 3-Achsen-Beschleunigungsmesser, ADXL345 mit Raspberry Pi mit Python - Gunook

Video: 3-Achsen-Beschleunigungsmesser, ADXL345 mit Raspberry Pi mit Python - Gunook
Video: Beschleunigungssensor Accelerator Gyroscope am Raspberry Pi 2024, November
Anonim
3-Achsen-Beschleunigungsmesser, ADXL345 mit Raspberry Pi mit Python
3-Achsen-Beschleunigungsmesser, ADXL345 mit Raspberry Pi mit Python

Denken Sie an ein Gadget, das den Punkt überprüfen kann, an dem Ihr Offroader geneigt ist, um zu verweilen. Wäre es nicht angenehm, wenn jemand angepasst wird, wenn die Möglichkeit des Umkippens besteht? Natürlich ja. Es wäre wirklich nützlich für Personen, die gerne in die Berge und auf Unternehmensreisen gehen.

Ohne Zweifel steht das IoT vor einer wahrhaft brillanten Phase der fortgeschrittenen Berechnungsbewertung. Als Liebhaber von Gadgets und Programmierung glauben wir, dass Raspberry Pi, der Micro-Linux-PC, die kreativen Fähigkeiten der Menschen im Allgemeinen behandelt und eine Menge innovativer Methoden mit sich gebracht hat. Was sind also die denkbaren Ergebnisse, die wir tun können, wenn wir einen Raspberry Pi und einen 3-Achsen-Beschleunigungsmesser in der Nähe haben? Wir sollten entdecken! In dieser Aufgabe werden wir die Beschleunigung auf 3 Achsen, X, Y und Z, mit Raspberry Pi und ADXL345, einem 3-Achsen-Beschleunigungsmesser, messen. Wir sollten also auf dieser Exkursion beobachten, um ein Gerüst zu fertigen, um die 3-dimensionale Beschleunigung nach oben oder die G-Kraft zu messen.

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
Grundlegende Hardware, die wir benötigen
Grundlegende Hardware, die wir benötigen

Die Probleme waren für uns weniger, da wir eine Menge Zeug herumliegen haben, an dem wir arbeiten können. Dennoch wissen wir, wie mühsam es für andere ist, das richtige Teil zum richtigen Zeitpunkt am richtigen Ort zu montieren, und das ist um jeden Cent gerechtfertigt. So würden wir Ihnen in allen Regionen helfen. Lesen Sie das Folgende, um eine vollständige Teileliste zu erhalten.

1. Himbeer-Pi

Der erste Schritt war die Anschaffung eines Raspberry Pi Boards. Dieser winzige Computer mit geringem Stromverbrauch bietet eine kostengünstige und im Allgemeinen einfache Basis für Elektronikunternehmen, Internet der Dinge (IoT), Smart Cities und Schulbildung.

2. I2C-Schild für Raspberry Pi

Was dem Raspberry Pi wirklich fehlt, ist ein I²C-Port. Dafür gibt Ihnen der TOUTPI2 I²C-Anschluss das Gefühl, RasPi mit MEHREREN I²C-Geräten zu verwenden. Es ist im DCUBE Store verfügbar

3. 3-Achsen-Beschleunigungsmesser, ADXL345

Der von Analog Devices hergestellte ADXL345 ist ein stromsparender 3-Achsen-Beschleunigungsmesser mit hochauflösender 13-Bit-Messung bei bis zu ±16 g. Wir haben diesen Sensor aus dem DCUBE Store erworben

4. Anschlusskabel

Wir hatten das I2C-Verbindungskabel im DCUBE Store erhältlich

5. Micro-USB-Kabel

Der am wenigsten verworrene, aber strengste Strombedarf ist der Raspberry Pi! Am einfachsten lässt sich der Raspberry Pi mit dem Micro-USB-Kabel einschalten.

6. Webzugriff ist eine Notwendigkeit

Der Webzugriff kann über ein Ethernet(LAN)-Kabel ermöglicht werden, das mit einem lokalen Netzwerk und dem Web verbunden ist. Auf der anderen Seite können Sie sich mit einem drahtlosen USB-Dongle mit einem drahtlosen Netzwerk verbinden, was eine Konfiguration erfordert.

7. HDMI-Kabel/Fernzugriff

Mit HDMI-Kabel an Bord können Sie es an ein digitales Fernsehgerät oder einen Monitor anschließen. Bargeld muss gespart werden! Raspberry Pi kann aus der Ferne dazu gebracht werden, spezielle Strategien wie SSH und Zugriff über das Web zu verwenden. Sie können die Open-Source-Software PuTTY verwenden.

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
Anschließen der Hardware
Anschließen der Hardware

Machen Sie die Schaltung gemäß dem erschienenen Schaltplan. Erstellen Sie eine Gliederung und folgen Sie der Konfiguration bewusst.

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 Kuchen 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 schreiben die Verwendung des I2C-Kabels vor, da es die Forderung nach Durchsicht von Pinbelegungen, Löten und Unwohlsein durch selbst kleinste Fehler widerlegt. Mit diesem einfachen Plug-and-Play-Kabel können Sie Geräte problemlos einführen, austauschen oder weitere Geräte zu einer Anwendung hinzufügen. Das macht die Sache unkompliziert.

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 Vorhaben zum Erfolg wird, benötigen wir eine Webverbindung für unseren Raspberry Pi. Dafür stehen Ihnen Alternativen wie die Anbindung eines Ethernet(LAN)-Kabels an das Heimsystem zur Verfügung. Optional bietet sich jedoch auch die Verwendung eines WLAN-Anschlusses an. Manchmal benötigen Sie dafür einen Treiber, damit es funktioniert. Lehnen Sie sich also in der Darstellung zu dem mit Linux.

Energieversorgung

Stecken Sie das Micro-USB-Kabel in die Strombuchse des Raspberry Pi. Anzünden und los geht's.

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.

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 ADXL345-Sensor ist in unserem Github-Repository zugänglich.

Bevor Sie mit dem Code fortfahren, lesen Sie die Richtlinien im Readme-Dokument und richten Sie Ihren Raspberry Pi entsprechend ein. Es wird einfach für eine Minute pausieren, um dies zu tun.

Ein Beschleunigungsmesser ist ein Gerät, das die richtige Beschleunigung misst; Eigenbeschleunigung ist nicht gleich Koordinatenbeschleunigung (Geschwindigkeitsänderungsrate). Ein- und mehrachsige Modelle des Beschleunigungsmessers sind zugänglich, um Größe und Richtung der richtigen Beschleunigung als Vektorgröße zu identifizieren und können verwendet werden, um die Orientierung zu erfassen, Beschleunigung, Vibration, Stoß und Fall in ein Widerstandsmedium zu koordinieren.

Der Code liegt klar vor Ihnen und hat die einfachste Struktur, die Sie sich vorstellen können, und Sie sollten keine Probleme haben.

# 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. # ADXL345 # Dieser Code wurde entwickelt, um mit dem ADXL345_I2CS I2C Mini-Modul zu arbeiten, das unter dcubestore.com erhältlich ist # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -Modul/

smbus importieren

Importzeit

# Holen Sie sich den I2C-Bus

bus = smbus. SMBus(1)

# ADXL345-Adresse, 0x53(83)

# Bandbreitenratenregister auswählen, 0x2C(44) # 0x0A(10) Normalmodus, Ausgangsdatenrate = 100 Hz bus.write_byte_data(0x53, 0x2C, 0x0A) # ADXL345-Adresse, 0x53(83) # Leistungssteuerregister auswählen, 0x2D(45) # 0x08(08) Auto Sleep deaktivieren bus.write_byte_data(0x53, 0x2D, 0x08) # ADXL345 Adresse, 0x53(83) # Datenformatregister auswählen, 0x31(49) # 0x08(08) Selbsttest deaktiviert, 4-Draht Schnittstelle # Volle Auflösung, Bereich = +/-2g bus.write_byte_data(0x53, 0x31, 0x08)

time.sleep(0.5)

# ADXL345-Adresse, 0x53(83)

# Daten von 0x32(50), 2 Bytes zurücklesen # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x53, 0x32) data1 = bus.read_byte_data(0x53, 0x33)

# Konvertieren Sie die Daten in 10-Bits

xAccl = ((data1 & 0x03) * 256) + data0 wenn xAccl > 511: xAccl -= 1024

# ADXL345-Adresse, 0x53(83)

# Daten von 0x34(52), 2 Bytes zurücklesen # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data(0x53, 0x34) data1 = bus.read_byte_data(0x53, 0x35)

# Konvertieren Sie die Daten in 10-Bits

yAccl = ((data1 & 0x03) * 256) + data0 wenn yAccl > 511: yAccl -= 1024

# ADXL345-Adresse, 0x53(83)

# Daten von 0x36(54), 2 Bytes zurücklesen # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data(0x53, 0x36) data1 = bus.read_byte_data(0x53, 0x37)

# Konvertieren Sie die Daten in 10-Bits

zAccl = ((data1 & 0x03) * 256) + data0 wenn zAccl > 511: zAccl -= 1024

# 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 Praktikabilität des Codes

Die Praktikabilität des Kodex
Die Praktikabilität 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 sich die Ausgabe auf Monitor an. Nach wenigen Augenblicken wird jeder der Parameter angezeigt. Nachdem Sie sichergestellt haben, dass alles problemlos funktioniert, können Sie dieses Unternehmen einer größeren Aufgabe widmen.

Schritt 5: Anwendungen und Funktionen

Der ADXL345 ist ein kleiner, dünner 3-Achsen-Beschleunigungsmesser mit extrem geringem Stromverbrauch und hoher Auflösung (13 Bit) bei bis zu ±16 g. Der ADXL345 ist für Mobiltelefonanwendungen 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 Mobilteile, medizinische Instrumente, Spiel- und Zeigegeräte, industrielle Instrumente, persönliche Navigationsgeräte und Festplattenschutz (HDD).

Schritt 6: Fazit

Ich hoffe, diese Aufgabe motiviert zu weiteren Experimenten. Dieser I2C-Sensor ist außerordentlich flexibel, günstig und zugänglich. Da es sich um ein weitgehend unbeständiges System handelt, gibt es interessante Möglichkeiten, diese Aufgabe zu erweitern und sogar zu verbessern.

Sie können beispielsweise mit der Idee eines Neigungsmessers beginnen, der den ADXL345 und Raspberry Pi verwendet. Im obigen Projekt haben wir grundlegende Berechnungen verwendet. Sie können den Code für G-Werte, Neigungswinkel (oder Neigungswinkel), Elevation oder Senke eines Objekts in Bezug auf die Schwerkraft improvisieren. Dann können Sie die Vorschuboptionen wie Drehwinkel für Rollen (Vorder-zu-Rücken-Achse, X), Nicken (Seiten-zu-Seite-Achse, Y) und Gieren (vertikale Achse, Z) überprüfen. Dieser Beschleunigungsmesser zeigt 3-D-G-Kräfte an. Sie können diesen Sensor also auf verschiedene Arten verwenden, die Sie in Betracht ziehen können.

Zu Ihrem Komfort haben wir eine faszinierende Video-Anleitungsübung auf YouTube, die Ihnen bei Ihrer Untersuchung helfen kann. Vertrauen Sie auf dieses Unterfangen, das weitere Erkundungen motiviert. Denken Sie weiter nach! Denken Sie daran, danach zu suchen, da ständig mehr auftaucht.

Empfohlen: