Inhaltsverzeichnis:
Video: Raspberry Pi - ADXL345 3-Achsen-Beschleunigungsmesser Python Tutorial - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
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. Digitale Ausgangsdaten werden als 16-Bit-Zweierkomplement formatiert und sind über die digitale I2 C-Schnittstelle zugänglich. Es misst die statische Gravitationsbeschleunigung bei Neigungserkennungsanwendungen sowie die dynamische Beschleunigung aufgrund von Bewegungen oder Stößen. Seine hohe Auflösung (3,9 mg/LSB) ermöglicht die Messung von Neigungsänderungen unter 1,0°. Hier ist es eine Demonstration mit Himbeer-Pi mit Python-Code.
Schritt 1: Was Sie brauchen.
1. Himbeer-Pi
2. ADXL345
3. I²C-Kabel
4. I²C-Shield für Raspberry Pi
5. Ethernet-Kabel
Schritt 2: Verbindung:
Nehmen Sie ein I2C-Schild für Himbeer-Pi und schieben Sie es vorsichtig über die gpio-Pins von Himbeer-Pi.
Verbinden Sie dann das eine Ende des I2C-Kabels mit dem ADXL345-Sensor und das andere Ende mit der I2C-Abschirmung.
Verbinden Sie auch das Ethernet-Kabel mit dem Pi oder verwenden Sie ein WiFi-Modul.
Die Anschlüsse sind im Bild oben dargestellt.
Schritt 3: Code:
Der Python-Code für ADXL345 kann von unserem GitHub-Repository heruntergeladen werden - Dcube Store
Hier der Link dazu:
github.com/DcubeTechVentures/ADXL345..
Wir haben die SMBus-Bibliothek für Python-Code verwendet, die Schritte zur Installation von SMBus auf Raspberry Pi sind hier beschrieben:
pypi.python.org/pypi/smbus-cffi/0.5.1
Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:
# Wird mit freier Lizenz verteilt.
# Verwenden Sie es nach Belieben, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.
# ADXL345
# Dieser Code wurde entwickelt, um mit dem ADXL345_I2CS I2C Mini-Modul zu arbeiten, das im Dcube Store erhältlich ist.
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) zurücklesen, 2 Byte
# X-Achsen-LSB, X-Achsen-MSB
data0 = bus.read_byte_data(0x53, 0x32)
data1 = bus.read_byte_data(0x53, 0x33)
# Konvertieren Sie die Daten in 10-Bits
xAccl = ((Daten1 & 0x03) * 256) + Daten0
wenn xAccl > 511:
xAccl -= 1024
# ADXL345-Adresse, 0x53(83)
# Daten von 0x34(52), 2 Bytes zurücklesen
# Y-Achsen-LSB, Y-Achsen-MSB
data0 = bus.read_byte_data(0x53, 0x34)
data1 = bus.read_byte_data(0x53, 0x35)
# Konvertieren Sie die Daten in 10-Bits
yAccl = ((Daten1 & 0x03) * 256) + Daten0
wenn yAccl > 511:
yAccl -= 1024
# ADXL345-Adresse, 0x53(83)
# Daten von 0x36(54), 2 Bytes zurücklesen
# Z-Achse LSB, Z-Achse MSB
data0 = bus.read_byte_data(0x53, 0x36)
data1 = bus.read_byte_data(0x53, 0x37)
# Konvertieren Sie die Daten in 10-Bits
zAccl = ((Daten1 & 0x03) * 256) + Daten0
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: Anwendungen:
ADXL345 ist ein kleiner, dünner 3-Achsen-Beschleunigungsmesser mit extrem geringem Stromverbrauch, der in Handsets, medizinischen Instrumenten usw. eingesetzt werden kann. Seine Anwendung umfasst auch Spiel- und Zeigegeräte, industrielle Instrumente, persönliche Navigationsgeräte und Festplattenschutz (HDD).
Empfohlen:
AVR Assembler Tutorial 2: 4 Schritte
AVR Assembler Tutorial 2: Dieses Tutorial ist eine Fortsetzung von "AVR Assembler Tutorial 1" Wenn Sie Tutorial 1 noch nicht durchlaufen haben, sollten Sie jetzt aufhören und das zuerst tun. In diesem Tutorial werden wir unser Studium der Assemblersprachprogrammierung des atmega328p u
AVR Assembler Tutorial 1: 5 Schritte
AVR Assembler Tutorial 1: Ich habe beschlossen, eine Reihe von Tutorials zum Schreiben von Assemblerprogrammen für den Atmega328p, den Mikrocontroller des Arduino, zu schreiben. Wenn die Leute interessiert bleiben, werde ich weiterhin eine Woche oder so veröffentlichen, bis ich keine mehr habe
Raspbian in Raspberry Pi 3 B ohne HDMI installieren - Erste Schritte mit Raspberry Pi 3B - Einrichten Ihres Raspberry Pi 3: 6 Schritte
Raspbian in Raspberry Pi 3 B ohne HDMI installieren | Erste Schritte mit Raspberry Pi 3B | Einrichten Ihres Raspberry Pi 3: Wie einige von Ihnen wissen, sind Raspberry Pi-Computer ziemlich großartig und Sie können den gesamten Computer nur auf einer einzigen winzigen Platine bekommen. Das Raspberry Pi 3 Model B verfügt über einen Quad-Core 64-Bit ARM Cortex A53 mit 1,2 GHz getaktet. Damit ist der Pi 3 ungefähr 50
Python-Tutorial: 6 Schritte
Python-Tutorial: Hallo! Willkommen zu meinem zweiten instructable und dies wird auf den Grundlagen von Python sein. In diesem instructable werde ich Ihnen die Grundlagen von Schleifen, Eingabe und Ausgabe beibringen und den Computer dazu bringen, etwas zu sagen, wenn Anweisungen und Variablen. Im letzten w
Python-Tutorial Nr. 1: 5 Schritte
Python-Tutorial Nr. 1: Dies ist ein Python-Tutorial, das für absolute Anfänger gedacht ist. Eine kurze Einführung in Python soll Ihnen ein grundlegendes Verständnis der Geschichte und ihrer Bedeutung vermitteln, bevor wir mit den Lektionen fortfahren. Was ist Python? ?Aufgenommen von www.python.org:Python