Sommario:
- Passaggio 1: ciò di cui hai bisogno.
- Passaggio 2: connessione:
- Passaggio 3: codice:
- Passaggio 4: applicazioni:
Video: Raspberry Pi - Tutorial Python per accelerometro a 3 assi ADXL345: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
L'ADXL345 è un accelerometro a 3 assi piccolo, sottile, a bassissima potenza con misurazione ad alta risoluzione (13 bit) fino a ±16 g. I dati di uscita digitale sono formattati come complemento a due a 16 bit ed è accessibile tramite l'interfaccia digitale I2 C. Misura l'accelerazione statica di gravità nelle applicazioni di rilevamento dell'inclinazione, nonché l'accelerazione dinamica risultante dal movimento o da urti. La sua alta risoluzione (3,9 mg/LSB) consente di misurare variazioni di inclinazione inferiori a 1,0°. Ecco la dimostrazione con raspberry pi usando il codice python.
Passaggio 1: ciò di cui hai bisogno.
1. Lampone Pi
2. ADXL345
3. Cavo I²C
4. Scudo I²C per Raspberry Pi
5. Cavo Ethernet
Passaggio 2: connessione:
Prendi uno scudo I2C per lampone pi e spingilo delicatamente sui pin gpio di lampone pi.
Quindi collegare un'estremità del cavo I2C al sensore ADXL345 e l'altra estremità allo schermo I2C.
Collega anche il cavo Ethernet al pi oppure puoi utilizzare un modulo WiFi.
I collegamenti sono mostrati nell'immagine sopra.
Passaggio 3: codice:
Il codice Python per ADXL345 può essere scaricato dal nostro repository GitHub - Dcube Store
Ecco il link per lo stesso:
github.com/DcubeTechVentures/ADXL345..
Abbiamo utilizzato la libreria SMBus per il codice Python, i passaggi per installare SMBus su raspberry pi sono descritti qui:
pypi.python.org/pypi/smbus-cffi/0.5.1
Puoi anche copiare il codice da qui, è fornito come segue:
# Distribuito con una licenza libera.
# Usalo come preferisci, a scopo di lucro o gratuito, a condizione che si adatti alle licenze delle opere associate.
# ADXL345
# Questo codice è progettato per funzionare con il Mini Modulo I2C ADXL345_I2CS disponibile in Dcube Store.
import smbus
tempo di importazione
# Ottieni l'autobus I2C
bus = smbus. SMBus(1)
# Indirizzo ADXL345, 0x53(83)
# Seleziona il registro della velocità della larghezza di banda, 0x2C(44)# 0x0A(10) Modalità normale, Velocità dati in uscita = 100 Hz
bus.write_byte_data(0x53, 0x2C, 0x0A)
# Indirizzo ADXL345, 0x53(83)
# Seleziona il registro di controllo della potenza, 0x2D(45)
# 0x08(08) Disattivazione della sospensione automatica
bus.write_byte_data(0x53, 0x2D, 0x08)
# Indirizzo ADXL345, 0x53(83)
# Seleziona registro formato dati, 0x31(49)
# 0x08(08) Autotest disabilitato, interfaccia a 4 fili
# Risoluzione completa, intervallo = +/-2 g
bus.write_byte_data(0x53, 0x31, 0x08)
tempo.sonno(0.5)
# Indirizzo ADXL345, 0x53(83)
# Rilegge i dati da 0x32(50), 2 byte
# Asse X LSB, Asse X MSB
data0 = bus.read_byte_data(0x53, 0x32)
data1 = bus.read_byte_data(0x53, 0x33)
# Converti i dati in 10 bit
xAccl = ((data1 & 0x03) * 256) + data0
se xAccl > 511:
xAccl -= 1024
# Indirizzo ADXL345, 0x53(83)
# Rilegge i dati da 0x34(52), 2 byte
# Asse Y LSB, Asse Y MSB
data0 = bus.read_byte_data(0x53, 0x34)
data1 = bus.read_byte_data(0x53, 0x35)
# Converti i dati in 10 bit
yAccl = ((data1 & 0x03) * 256) + data0
se yAccl > 511:
yAccl -= 1024
# Indirizzo ADXL345, 0x53(83)
# Rilegge i dati da 0x36(54), 2 byte
# Asse Z LSB, Asse Z MSB
data0 = bus.read_byte_data(0x53, 0x36)
data1 = bus.read_byte_data(0x53, 0x37)
# Converti i dati in 10 bit
zAccl = ((data1 & 0x03) * 256) + data0
se zAccl > 511:
zAccl -= 1024
# Invia i dati allo schermo
print "Accelerazione nell'asse X: %d" %xAccl
print "Accelerazione nell'asse Y: %d" %yAccl
print "Accelerazione nell'asse Z: %d" %zAccl
Passaggio 4: applicazioni:
ADXL345 è un piccolo, sottile, accelerometro a 3 assi a potenza ultrabassa che può essere impiegato in telefoni cellulari, strumentazione medica ecc. La sua applicazione include anche dispositivi di puntamento e di gioco, strumentazione industriale, dispositivi di navigazione personale e protezione dell'unità disco rigido (HDD).
Consigliato:
Raspberry Pi MMA8452Q Esercitazione su Python per accelerometro digitale a 3 assi a 12 bit / 8 bit: 4 passaggi
Raspberry Pi MMA8452Q Accelerometro digitale a 3 assi a 12 bit/8 bit Tutorial Python: MMA8452Q è un accelerometro microlavorato a tre assi, capacitivo, intelligente, a bassa potenza con 12 bit di risoluzione. Le opzioni flessibili programmabili dall'utente sono fornite con l'ausilio di funzioni integrate nell'accelerometro, configurabili su due interruzioni
Controllo del movimento con Raspberry Pi e LIS3DHTR, accelerometro a 3 assi, utilizzando Python: 6 passaggi
Controllo del movimento con Raspberry Pi e LIS3DHTR, accelerometro a 3 assi, utilizzo di Python: la bellezza ci circonda, ma di solito dobbiamo camminare in un giardino per saperlo. - Rumi Come il gruppo istruito che sembriamo essere, investiamo la stragrande maggioranza della nostra energia lavorando prima dei nostri PC e telefoni cellulari. Pertanto, spesso lasciamo che il nostro benessere
Accelerometro a 3 assi, ADXL345 con Raspberry Pi utilizzando Python: 6 passaggi
Accelerometro a 3 assi, ADXL345 con Raspberry Pi Utilizzo di Python: pensare a un gadget in grado di controllare il punto in cui il tuo fuoristrada è inclinato per indugiare. Non sarebbe piacevole nel caso in cui qualcuno si adeguasse quando c'è la possibilità di ribaltarsi? Ovviamente sì. sarebbe vero
Modulo accelerometro a 3 assi LIS2HH12: 10 passaggi (con immagini)
Modulo LIS2HH12 dell'accelerometro a 3 assi: questo Instructable è considerato di livello principiante con una certa esperienza con il software arduino e la saldatura. Il modulo LIS2HH12 è realizzato da Tiny9. Tiny9 è una nuova azienda che si occupa di vendere moduli sensore per bricolage, aziende o inventori fai-da-te. Là
Preliminare* SPI sul Pi: comunicazione con un accelerometro a 3 assi SPI utilizzando un Raspberry Pi: 10 passaggi
Preliminare* SPI sul Pi: comunicazione con un accelerometro a 3 assi SPI utilizzando un Raspberry Pi: guida passo passo su come configurare Raspbian e comunicare con un dispositivo SPI utilizzando la libreria SPI bcm2835 (NON bit banged!) Questo è ancora molto preliminare… ho bisogno di aggiungere immagini migliori del collegamento fisico e lavorare su un po' del codice scomodo