Sommario:
- Passaggio 1: hardware richiesto:
- Passaggio 2: collegamento hardware:
- Passaggio 3: codice Python per la misurazione dell'accelerazione:
- Passaggio 4: applicazioni:
Video: Misurazione dell'accelerazione utilizzando H3LIS331DL e Raspberry Pi: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
H3LIS331DL, è un accelerometro lineare a 3 assi a basso consumo e alte prestazioni appartenente alla famiglia “nano”, con interfaccia seriale digitale I²C. H3LIS331DL ha fondo scala selezionabile dall'utente di ±100g/±200g/±400g ed è in grado di misurare accelerazioni con velocità di trasmissione dati da 0,5 Hz a 1 kHz. L'H3LIS331DL è garantito per funzionare in un intervallo di temperatura esteso da -40 °C a +85 °C.
In questo tutorial dimostreremo l'interfacciamento di H3LIS331DL con Raspberry Pi, utilizzando python come linguaggio di programmazione.
Passaggio 1: hardware richiesto:
I materiali di cui abbiamo bisogno per raggiungere il nostro obiettivo includono i seguenti componenti hardware:
1. H3LIS331DL
2. Raspberry Pi
3. Cavo I2C
4. Scudo I2C per lampone pi
5. Cavo Ethernet
Passaggio 2: collegamento hardware:
La sezione relativa ai collegamenti hardware spiega sostanzialmente le connessioni di cablaggio necessarie tra il sensore e il Raspberry Pi. Garantire connessioni corrette è la necessità di base mentre si lavora su qualsiasi sistema per l'output desiderato. Quindi, i collegamenti necessari sono i seguenti:
L'H3LIS331DL funzionerà su I2C. Ecco lo schema elettrico di esempio, che mostra come cablare ciascuna interfaccia del sensore.
Di default, la scheda è configurata per un'interfaccia I2C, quindi consigliamo di utilizzare questo collegamento se sei altrimenti agnostico. Tutto ciò di cui hai bisogno sono quattro fili!
Sono necessarie solo quattro connessioni pin Vcc, Gnd, SCL e SDA e questi sono collegati con l'aiuto del cavo I2C.
Queste connessioni sono mostrate nelle immagini sopra.
Passaggio 3: codice Python per la misurazione dell'accelerazione:
a vantaggio dell'utilizzo di raspberry pi è quello di fornire la flessibilità del linguaggio di programmazione in cui si desidera programmare la scheda per interfacciare con essa il sensore. Sfruttando questo vantaggio di questa scheda, stiamo dimostrando qui la sua programmazione in python. Python è uno dei linguaggi di programmazione più semplici con la sintassi più semplice. Il codice Python per H3LIS331DL può essere scaricato dalla nostra comunità github che è DCUBE Store.
Oltre che per la facilità degli utenti, spieghiamo anche qui il codice:
Come primo passo della codifica è necessario scaricare la libreria SMBus in caso di python, perché questa libreria supporta le funzioni utilizzate nel codice. Quindi, per scaricare la libreria puoi visitare il seguente link:
pypi.python.org/pypi/smbus-cffi/0.5.1
Puoi copiare il codice funzionante anche da qui:
import smbus
tempo di importazione
# Ottieni busbus I2C = smbus. SMBus(1)
# indirizzo H3LIS331DL, 0x18(24)
# Seleziona il registro di controllo 1, 0x20(32)
# 0x27(39) Modalità di accensione, velocità di uscita dati = 50 Hz# X, Y, Z-Axis abilitato
bus.write_byte_data(0x18, 0x20, 0x27)
# Indirizzo H3LIS331DL, 0x18(24)# Seleziona registro di controllo 4, 0x23(35)
# 0x00(00) Aggiornamento continuo, Selezione fondo scala = +/-100g
bus.write_byte_data(0x18, 0x23, 0x00)
tempo.sonno(0.5)
# indirizzo H3LIS331DL, 0x18(24)
# Rilegge i dati da 0x28(40), 2 byte
# Asse X LSB, Asse X MSB
data0 = bus.read_byte_data(0x18, 0x28)
data1 = bus.read_byte_data(0x18, 0x29)
# Converti dataxAccl = data1 * 256 + data0
se xAccl > 32767:
xAccl -= 65536
# indirizzo H3LIS331DL, 0x18(24)
# Rilegge i dati da 0x2A(42), 2 byte
# Asse Y LSB, Asse Y MSB
data0 = bus.read_byte_data(0x18, 0x2A)
data1 = bus.read_byte_data(0x18, 0x2B)
# Converti i dati
yAccl = dati1 * 256 + dati0
se yAccl > 32767:
yAccl -= 65536
# indirizzo H3LIS331DL, 0x18(24)
# Rilegge i dati da 0x2C(44), 2 byte
# Asse Z LSB, Asse Z MSB
data0 = bus.read_byte_data(0x18, 0x2C)
data1 = bus.read_byte_data(0x18, 0x2D)
# Converti i dati
zAccl = dati1 * 256 + dati0
se zAccl > 32767:
zAccl -= 65536
# 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
Il codice viene eseguito utilizzando il seguente comando:
$> pitone H3LIS331DL.py gt; pitone H3LIS331DL.py
L'uscita del sensore è mostrata nell'immagine sopra per riferimento dell'utente.
Passaggio 4: applicazioni:
Gli accelerometri come H3LIS331DL trovano principalmente la sua applicazione nei giochi e nella commutazione del profilo del display. Questo modulo sensore è anche impiegato nel sistema avanzato di gestione dell'alimentazione per applicazioni mobili. H3LIS331DL è un sensore di accelerazione digitale triassiale incorporato con un controller di interruzione attivato dal movimento su chip intelligente.
Consigliato:
Misurazione dell'accelerazione utilizzando ADXL345 e fotone particellare: 4 passaggi
Misurazione dell'accelerazione mediante ADXL345 e fotone particellare: 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 il
Misurazione dell'accelerazione utilizzando H3LIS331DL e Arduino Nano: 4 passaggi
Misura dell'accelerazione utilizzando H3LIS331DL e Arduino Nano: H3LIS331DL, è un accelerometro lineare a 3 assi a bassa potenza e alte prestazioni appartenente alla famiglia "nano", con interfaccia seriale digitale I²C. H3LIS331DL ha fondo scala selezionabile dall'utente di ±100g/±200g/±400g ed è in grado di misurare accelerazioni w
Misurazione dell'accelerazione utilizzando H3LIS331DL e fotone particellare: 4 passaggi
Misura dell'accelerazione mediante H3LIS331DL e Particle Photon: H3LIS331DL, è un accelerometro lineare a 3 assi a bassa potenza e alte prestazioni appartenente alla famiglia "nano", con interfaccia seriale digitale I²C. H3LIS331DL ha fondo scala selezionabile dall'utente di ±100g/±200g/±400g ed è in grado di misurare accelerazioni w
Misurazione dell'accelerazione utilizzando ADXL345 e Raspberry Pi: 4 passaggi
Misurazione dell'accelerazione con ADXL345 e Raspberry Pi: 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 il
Misurazione dell'accelerazione utilizzando ADXL345 e Arduino Nano: 4 passaggi
Misurazione dell'accelerazione utilizzando ADXL345 e Arduino Nano: 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 il