Sommario:
- Passaggio 1: hardware richiesto:
- Passaggio 2: collegamento hardware:
- Passaggio 3: codice per la misurazione dell'accelerazione:
- Passaggio 4: applicazioni:
Video: Misurazione dell'accelerazione utilizzando H3LIS331DL e fotone particellare: 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 il fotone di particelle.
Passaggio 1: hardware richiesto:
I materiali di cui abbiamo bisogno per raggiungere il nostro obiettivo includono i seguenti componenti hardware:
1. H3LIS331DL
2. Fotone particellare
3. Cavo I2C
4. Scudo I2C per fotone particellare
Passaggio 2: collegamento hardware:
La sezione sui collegamenti hardware spiega fondamentalmente le connessioni di cablaggio richieste tra il sensore e il fotone della particella. 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 per la misurazione dell'accelerazione:
Iniziamo ora con il codice particellare.
Durante l'utilizzo del modulo sensore con arduino, includiamo la libreria application.h e spark_wiring_i2c.h. La libreria "application.h" e spark_wiring_i2c.h contiene le funzioni che facilitano la comunicazione i2c tra il sensore e la particella.
L'intero codice particella è riportato di seguito per comodità dell'utente:
#includere
#includere
// L'indirizzo I2C di H3LIS331DL è 0x18(24)
#define Indirizzo 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
configurazione nulla()
{
// Imposta variabile
Particle.variable("i2cdevice", "H3LIS331DL");
Particle.variable("xAccl", xAccl);
Particle.variable("yAccl", yAccl);
Particle.variable("zAccl", zAccl);
// Inizializza la comunicazione I2C come MASTER
Wire.begin();
// Inizializza la comunicazione seriale, imposta baud rate = 9600
Serial.begin(9600);
// Avvia la trasmissione I2C
Wire.beginTransmission(Addr);
// Seleziona il registro di controllo 1
Wire.write(0x20);
// Abilita l'asse X, Y, Z, la modalità di accensione, la velocità di uscita dei dati 50Hz
Wire.write(0x27);
// Interrompi trasmissione I2C
Wire.endTransmission();
// Avvia la trasmissione I2C
Wire.beginTransmission(Addr);
// Seleziona il registro di controllo 4
Wire.write(0x23);
// Imposta fondo scala, +/- 100 g, aggiornamento continuo
Wire.write(0x00);
// Interrompi trasmissione I2C
Wire.endTransmission();
ritardo(300);
}
ciclo vuoto()
{
dati int non firmati[6];
for(int i = 0; i < 6; i++)
{
// Avvia la trasmissione I2C
Wire.beginTransmission(Addr);
// Seleziona registro dati
Wire.write((40 + i));
// Interrompi trasmissione I2C
Wire.endTransmission();
// Richiedi 1 byte di dati
Wire.requestFrom(Addr, 1);
// Legge 6 byte di dati
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if(Filo.disponibile() == 1)
{
data = Wire.read();
}
ritardo(300);
}
// Converti i dati
int xAccl = ((data[1] * 256) + data[0]);
if(xAccl > 32767)
{
xAccl -= 65536;
}
int yAccl = ((data[3] * 256) + data[2]);
if(yAccl > 32767)
{
yAccl -= 65536;
}
int zAccl = ((dati[5] * 256) + dati[4]);
if(zAccl > 32767)
{
zAccl -= 65536;
}
// Invia i dati alla dashboard
Particle.publish("L'accelerazione nell'asse X è:", String(xAccl));
Particle.publish("L'accelerazione nell'asse Y è:", String(yAccl));
Particle.publish("L'accelerazione nell'asse Z è:", String(zAccl));
ritardo(300);
}
La funzione Particle.variable() crea le variabili per memorizzare l'output del sensore e la funzione Particle.publish() visualizza l'output sulla dashboard del sito.
L'uscita del sensore è mostrata nell'immagine sopra come riferimento.
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 del campo magnetico utilizzando HMC5883 e fotone particellare: 4 passaggi
Misurazione del campo magnetico mediante HMC5883 e fotone di particelle: HMC5883 è una bussola digitale progettata per il rilevamento magnetico a basso campo. Questo dispositivo ha un'ampia gamma di campi magnetici di +/-8 Oe e una velocità di uscita di 160 Hz. Il sensore HMC5883 include driver della cinghia di smagnetizzazione automatica, cancellazione dell'offset e un
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 Raspberry Pi: 4 passaggi
Misura dell'accelerazione mediante H3LIS331DL e Raspberry Pi: 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 con BMA250 e fotone particellare: 4 passaggi
Misurazione dell'accelerazione con BMA250 e fotone di particelle: BMA250 è 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 I2C. Misura la statica