Inhoudsopgave:
Video: Raspberry Pi - ADXL345 3-assige accelerometer Python-zelfstudie - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
De ADXL345 is een kleine, dunne, ultralaag vermogen, 3-assige accelerometer met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2 C-interface. Het meet de statische versnelling van de zwaartekracht in toepassingen met kanteldetectie, evenals dynamische versnelling als gevolg van beweging of schokken. De hoge resolutie (3,9 mg/LSB) maakt het mogelijk om hellingsveranderingen van minder dan 1,0° te meten. Hier is het demonstratie met Raspberry Pi met behulp van python-code.
Stap 1: Wat je nodig hebt.
1. Raspberry Pi
2. ADXL345
3. I²C-kabel
4. I²C-schild voor Raspberry Pi
5. Ethernet-kabel
Stap 2: Aansluiting:
Neem een I2C-schild voor Raspberry Pi en duw het voorzichtig over de gpio-pinnen van Raspberry Pi.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de ADXL345-sensor en het andere uiteinde op de I2C-afscherming.
Sluit ook de Ethernet-kabel aan op de pi of u kunt een WiFi-module gebruiken.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De python-code voor ADXL345 kan worden gedownload van onze GitHub-repository - Dcube Store
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/ADXL345..
We hebben de SMBus-bibliotheek gebruikt voor python-code, de stappen om SMBus op raspberry pi te installeren worden hier beschreven:
pypi.python.org/pypi/smbus-cffi/0.5.1
U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:
# Gedistribueerd met een vrije wilslicentie.
# Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.
# ADXL345
# Deze code is ontworpen om te werken met de ADXL345_I2CS I2C Mini Module die verkrijgbaar is in de Dcube Store.
import smbus
import tijd
# Krijg I2C-bus
bus = smbus. SMBus(1)
# ADXL345 adres, 0x53(83)
# Selecteer bandbreedtesnelheidsregister, 0x2C(44)# 0x0A(10) Normale modus, Uitvoergegevenssnelheid = 100 Hz
bus.write_byte_data(0x53, 0x2C, 0x0A)
# ADXL345 adres, 0x53(83)
# Selecteer vermogensregelregister, 0x2D(45)
# 0x08(08) Automatische slaap uitschakeling
bus.write_byte_data(0x53, 0x2D, 0x08)
# ADXL345 adres, 0x53(83)
# Selecteer dataformaat register, 0x31(49)
# 0x08(08) Zelftest uitgeschakeld, 4-draads interface
# Volledige resolutie, bereik = +/- 2g
bus.write_byte_data(0x53, 0x31, 0x08)
tijd.slaap(0.5)
# ADXL345 adres, 0x53(83)
# Lees gegevens terug van 0x32(50), 2 bytes
# X-as LSB, X-as MSB
data0 = bus.read_byte_data(0x53, 0x32)
data1 = bus.read_byte_data(0x53, 0x33)
# Converteer de gegevens naar 10-bits
xAccl = ((data1 & 0x03) * 256) + data0
als xAccl > 511:
xAccl -= 1024
# ADXL345 adres, 0x53(83)
# Lees gegevens terug van 0x34(52), 2 bytes
# Y-as LSB, Y-as MSB
data0 = bus.read_byte_data(0x53, 0x34)
data1 = bus.read_byte_data(0x53, 0x35)
# Converteer de gegevens naar 10-bits
yAccl = ((data1 & 0x03) * 256) + data0
als yAccl > 511:
yAccl -= 1024
# ADXL345 adres, 0x53(83)
# Lees gegevens terug van 0x36(54), 2 bytes
# Z-as LSB, Z-as MSB
data0 = bus.read_byte_data(0x53, 0x36)
data1 = bus.read_byte_data(0x53, 0x37)
# Converteer de gegevens naar 10-bits
zAccl = ((data1 & 0x03) * 256) + data0
als zAccl > 511:
zAccl -= 1024
# Gegevens uitvoeren naar scherm
print "Versnelling in X-as: %d" %xAccl
print "Versnelling in Y-as: %d" %yAccl
print "Versnelling in Z-as: %d" %zAccl
Stap 4: Toepassingen:
ADXL345 is een kleine, dunne 3-assige accelerometer met ultralaag vermogen die kan worden gebruikt in handsets, medische instrumenten enz. De toepassing ervan omvat ook gaming- en aanwijsapparaten, industriële instrumenten, persoonlijke navigatieapparatuur en bescherming van de harde schijf (HDD).
Aanbevolen:
Mappen synchroniseren met Python: 5 stappen
Mappen synchroniseren met Python: deze instructable laat je zien hoe je twee mappen (en alle mappen daarin) synchroon kunt houden, zodat de ene een directe kopie van de andere is. Ideaal voor het back-uppen van werk zowel lokaal, naar een cloud/netwerkserver of een USB-stick. Geen ervaring met programmeren is n
Accelerometer jas: 5 stappen
Accelerometer Jacket: Ontworpen door ThunderLily voor een samenwerking met ontwerper Minika Ko voor de KOllision catwalkshow, het acceleratiejack combineert mode, technologie en kunst. Met behulp van een versnellingsmeter om de bewegingsrichting te detecteren, een microprocessor van de flora en
Meerdere LED's besturen met Python en de GPIO-pinnen van je Raspberry Pi: 4 stappen (met afbeeldingen)
Meerdere LED's besturen met Python en de GPIO-pinnen van je Raspberry Pi: deze Instructable laat zien hoe je meerdere GPIO-pinnen op je RaspberryPi kunt besturen om 4 LED's van stroom te voorzien. Het zal je ook kennis laten maken met parameters en voorwaardelijke uitspraken in Python.Onze vorige Instructable met behulp van de GPIO-pinnen van je Raspberry Pi om
Raspbian installeren in Raspberry Pi 3 B zonder HDMI - Aan de slag met Raspberry Pi 3B - Uw Raspberry Pi instellen 3: 6 stappen
Raspbian installeren in Raspberry Pi 3 B zonder HDMI | Aan de slag met Raspberry Pi 3B | Je Raspberry Pi 3 instellen: Zoals sommigen van jullie weten, zijn Raspberry Pi-computers best geweldig en kun je de hele computer op een klein bordje krijgen. De Raspberry Pi 3 Model B heeft een quad-core 64-bit ARM Cortex A53 geklokt op 1,2 GHz. Dit zet de Pi 3 ongeveer 50
Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen
Hoe maak je een Cubesat bouwen met een Arduino en Accelerometer .: Onze namen zijn Brock, Eddie en Drew. Het belangrijkste doel van onze natuurkundeles is om van de aarde naar Mars te reizen terwijl we de baan rond Mars simuleren met behulp van een Cube Sat en het verzamelen van gegevens. Het doel van onze groep voor dit project is om gegevens te verzamelen met behulp van een accele