Sommario:
- Passaggio 1: ciò di cui hai bisogno.
- Passaggio 2: connessioni:
- Passaggio 3: codice:
- Passaggio 4: applicazioni:
Video: Raspberry Pi - Tutorial Java dell'accelerometro a 3 assi ADXL345: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
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 java.
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: connessioni:
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 java per ADXL345 può essere scaricato dal nostro repository GitHub- Dcube Store
Ecco il link per lo stesso:
github.com/DcubeTechVentures/ADXL345
Abbiamo usato la libreria pi4j per il codice java, i passaggi per installare pi4j su raspberry pi sono descritti qui:
pi4j.com/install.html
Puoi anche copiare il codice da qui, è fornito come segue:
// Distribuito con una licenza libera.
// Usalo come vuoi, a scopo di lucro o gratuito, a condizione che rientri nelle licenze delle opere associate.
// ADXL345
// Questo codice è progettato per funzionare con il Mini Modulo I2C ADXL345_I2CS disponibile in Dcube Store.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
classe pubblica ADXL345
{
public static void main(String args) genera un'eccezione
{
// Crea bus I2C
I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);
// Ottieni il dispositivo I2C, l'indirizzo I2C del dispositivo è 0x53(83)
I2CDevice device = Bus.getDevice(0x53);
// Seleziona il registro del tasso di larghezza di banda
// Modalità normale, velocità dati in uscita = 100 Hz
device.write(0x2C, (byte)0x0A);
// Seleziona il registro di controllo dell'alimentazione
// Disattivazione del sonno automatico
device.write(0x2D, (byte)0x08);
// Seleziona registro formato dati
// Autotest disabilitato, interfaccia a 4 fili, piena risoluzione, range = +/-2g
device.write(0x31, (byte)0x08);
Thread.sleep(500);
// Legge 6 byte di dati
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
byte dati = nuovo byte[6];
data[0] = (byte)device.read(0x32);
data[1] = (byte)device.read(0x33);
data[2] = (byte)device.read(0x34);
data[3] = (byte)device.read(0x35);
data[4] = (byte)device.read(0x36);
data[5] = (byte)device.read(0x37);
// Converti i dati in 10 bit
int xAccl = ((data[1] & 0x03) * 256 + (data[0] & 0xFF));
if(xAccl > 511)
{
xAccl -= 1024;
}
int yAccl = ((data[3] & 0x03) * 256 + (data[2] & 0xFF));
if(yAccl > 511)
{
yAccl -= 1024;
}
int zAccl = ((data[5] & 0x03) * 256 + (data[4] & 0xFF));
if(zAccl > 511)
{
zAccl -= 1024;
}
// Invia i dati allo schermo
System.out.printf("Accelerazione nell'asse X: %d %n", xAccl);
System.out.printf("Accelerazione nell'asse Y: %d %n", yAccl);
System.out.printf("Accelerazione nell'asse Z: %d %n", 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