Innholdsfortegnelse:
Video: Raspberry Pi - ADXL345 3 -akset akselerometer Java Opplæring: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2 C digitalt grensesnitt. Den måler den statiske gravitasjonsakselerasjonen i tilt-sensing-applikasjoner, samt dynamisk akselerasjon som følge av bevegelse eller sjokk. Den høye oppløsningen (3,9 mg/LSB) muliggjør måling av hellingsendringer mindre enn 1,0 °. Her er det demonstrasjon med bringebær pi ved hjelp av java -kode.
Trinn 1: Hva du trenger..
1. Bringebær Pi
2. ADXL345
3. I²C -kabel
4. I²C Shield for Raspberry Pi
5. Ethernet -kabel
Trinn 2: Tilkoblinger:
Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.
Koble deretter den ene enden av I2C -kabelen til ADXL345 -sensoren og den andre enden til I2C -skjoldet.
Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Java-koden for ADXL345 kan lastes ned fra vårt GitHub-depot- Dcube Store
Her er lenken til det samme:
github.com/DcubeTechVentures/ADXL345
Vi har brukt pi4j bibliotek for java -kode, trinnene for å installere pi4j på bringebær pi er beskrevet her:
pi4j.com/install.html
Du kan også kopiere koden herfra, den er gitt som følger:
// Distribuert med en fri viljelisens.
// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.
// ADXL345
// Denne koden er designet for å fungere med ADXL345_I2CS I2C Mini Module tilgjengelig i Dcube Store.
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDenhet;
importer com.pi4j.io.i2c. I2CFactory;
importer java.io. IOException;
offentlig klasse ADXL345
{
public static void main (String args ) kaster Unntak
{
// Lag I2C -buss
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Skaff deg I2C -enhet, enhetens I2C -adresse er 0x53 (83)
I2CDevice -enhet = Bus.getDevice (0x53);
// Velg båndbreddehastighetsregister
// Normal modus, Utdatahastighet = 100 Hz
device.write (0x2C, (byte) 0x0A);
// Velg Power control register
// Deaktiver automatisk søvn
device.write (0x2D, (byte) 0x08);
// Velg Dataformatregister
// Selvtest deaktivert, 4-leder grensesnitt, Full oppløsning, område = +/- 2g
device.write (0x31, (byte) 0x08);
Tråd. Sover (500);
// Les 6 byte med data
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
byte data = ny 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);
// Konverter dataene til 10-bits
int xAccl = ((data [1] & 0x03) * 256 + (data [0] & 0xFF));
hvis (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = ((data [3] & 0x03) * 256 + (data [2] & 0xFF));
hvis (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = ((data [5] & 0x03) * 256 + (data [4] & 0xFF));
hvis (zAccl> 511)
{
zAccl -= 1024;
}
// Utdata til skjermen
System.out.printf ("Akselerasjon i X-aksen: %d %n", xAccl);
System.out.printf ("Akselerasjon i Y-akse: %d %n", yAccl);
System.out.printf ("Akselerasjon i Z-akser: %d %n", zAccl);
}
}
Trinn 4: Søknader:
ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer som kan brukes i håndsett, medisinsk instrumentering etc. Applikasjonen inkluderer også spill- og pekeenheter, industriell instrumentering, personlige navigasjonsenheter og beskyttelse mot harddisk (HDD).
Anbefalt:
Raspberry Pi - TMD26721 Infrarød digital nærhetsdetektor Java Opplæring: 4 trinn
Raspberry Pi-TMD26721 Infrarød digital nærhetsdetektor Java Opplæring: TMD26721 er en infrarød digital nærhetsdetektor som gir et komplett nærhetsdeteksjonssystem og digital grensesnittlogikk i en enkelt 8-pinners overflatemonteringsmodul. Nærhetsdeteksjonen inkluderer forbedret signal-til-støy og nøyaktighet. En proff
Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Python-opplæring: 4 trinn
Raspberry Pi MMA8452Q 3-akse 12-biters/8-biters digitalt akselerometer Python-opplæring: MMA8452Q er et smart, tre-akset, kapasitært, mikromaskinert akselerometer med 12 bits oppløsning. Fleksible brukerprogrammerbare alternativer tilbys ved hjelp av innebygde funksjoner i akselerometeret, som kan konfigureres til to avbrudd
Raspberry Pi MCP9803 Temperatursensor Java Opplæring: 4 trinn
Raspberry Pi MCP9803 Temperatursensor Java Opplæring: MCP9803 er en 2-leders temperatursensor med høy nøyaktighet. De er utformet med brukerprogrammerbare registre som letter temperaturfølere. Denne sensoren er egnet for svært sofistikert flersonet temperaturovervåkingssystem. Her
Raspberry Pi - MPL3115A2 Java Precision Altimeter Sensor Java Opplæring: 4 trinn
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: MPL3115A2 bruker en MEMS -trykksensor med et I2C -grensesnitt for å gi nøyaktige trykk-/høyde- og temperaturdata. Sensorutgangene digitaliseres med en høyoppløselig 24-biters ADC. Intern behandling fjerner kompensasjonsoppgaver fra
Raspberry Pi MMA8452Q 3-akse 12-bits/8-biters digitalt akselerometer Java Opplæring: 4 trinn
Raspberry Pi MMA8452Q 3-akse 12-biters/8-biters digitalt akselerometer Java-opplæring: MMA8452Q er et smart, tre-akset, kapasitært, mikromaskinert akselerometer med 12 bits oppløsning. Fleksible brukerprogrammerbare alternativer tilbys ved hjelp av innebygde funksjoner i akselerometeret, som kan konfigureres til to avbrudd