Cuprins:
Video: Raspberry Pi - Accelerometru cu 3 axe ADXL345 Tutorial Java: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
ADXL345 este un accelerometru cu 3 axe mic, subțire, cu putere foarte mică, cu măsurare cu rezoluție înaltă (13 biți) până la ± 16 g. Datele de ieșire digitală sunt formatate ca un complement de doi biți pe 16 biți și sunt accesibile prin interfața digitală I2 C. Măsurează accelerația statică a gravitației în aplicațiile de detectare a înclinării, precum și accelerația dinamică rezultată din mișcare sau șoc. Rezoluția sa înaltă (3,9 mg / LSB) permite măsurarea modificărilor de înclinație mai mici de 1,0 °. Iată demonstrația cu raspberry pi folosind codul java.
Pasul 1: De ce ai nevoie..
1. Raspberry Pi
2. ADXL345
3. Cablu I²C
4. Scut I²C pentru Raspberry Pi
5. Cablu Ethernet
Pasul 2: Conexiuni:
Luați un scut I2C pentru raspberry pi și împingeți-l ușor peste pinii gpio ai raspberry pi.
Apoi conectați capătul cablului I2C la senzorul ADXL345 și celălalt capăt la ecranul I2C.
De asemenea, conectați cablul Ethernet la pi sau puteți utiliza un modul WiFi.
Conexiunile sunt afișate în imaginea de mai sus.
Pasul 3: Cod:
Codul java pentru ADXL345 poate fi descărcat din depozitul nostru GitHub - Magazinul Dcube
Iată linkul pentru același lucru:
github.com/DcubeTechVentures/ADXL345
Am folosit biblioteca pi4j pentru cod java, pașii pentru instalarea pi4j pe raspberry pi sunt descriși aici:
pi4j.com/install.html
De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:
// Distribuit cu o licență de liberă voință.
// Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.
// ADXL345
// Acest cod este conceput pentru a funcționa cu Mini-modulul ADXL345_I2CS I2C disponibil în Magazinul Dcube.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
clasa publica ADXL345
{
public static main principal (String args ) aruncă Excepție
{
// Creați autobuzul I2C
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Obțineți dispozitivul I2C, adresa I2C a dispozitivului este 0x53 (83)
I2CDevice device = Bus.getDevice (0x53);
// Selectați registrul ratei lățimii de bandă
// Mod normal, rata de ieșire a datelor = 100 Hz
device.write (0x2C, (octet) 0x0A);
// Selectați registrul de control al puterii
// Dezactivare automată
device.write (0x2D, (octet) 0x08);
// Selectați Registrul formatului de date
// Autotest dezactivat, interfață cu 4 fire, rezoluție completă, interval = +/- 2g
device.write (0x31, (octet) 0x08);
Thread.sleep (500);
// Citiți 6 octeți de date
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
octet date = octet nou [6];
date [0] = (octet) device.read (0x32);
date [1] = (octet) device.read (0x33);
date [2] = (octet) device.read (0x34);
date [3] = (octet) device.read (0x35);
date [4] = (octet) device.read (0x36);
date [5] = (octet) device.read (0x37);
// Convertiți datele în 10 biți
int xAccl = ((date [1] & 0x03) * 256 + (date [0] & 0xFF));
if (xAccl> 511)
{
xAccl - = 1024;
}
int yAccl = ((date [3] & 0x03) * 256 + (date [2] & 0xFF));
if (yAccl> 511)
{
yAccl - = 1024;
}
int zAccl = ((date [5] & 0x03) * 256 + (date [4] & 0xFF));
if (zAccl> 511)
{
zAccl - = 1024;
}
// Ieșire date pe ecran
System.out.printf ("Accelerare în axa X:% d% n", xAccl);
System.out.printf ("Accelerare în axa Y:% d% n", yAccl);
System.out.printf ("Accelerare în axa Z:% d% n", zAccl);
}
}
Pasul 4: Aplicații:
ADXL345 este un accelerometru cu 3 axe mic, subțire, cu putere foarte mică, care poate fi utilizat în receptoare, instrumente medicale etc. Aplicația sa include, de asemenea, dispozitive pentru jocuri și indicare, instrumentare industrială, dispozitive de navigație personală și protecție pentru unitatea de disc (HDD).
Recomandat:
Interfațarea senzorului de giroscop cu 3 axe BMG160 cu Arduino Nano: 5 pași
Interfațarea senzorului giroscopului cu 3 axe BMG160 cu Arduino Nano: În lumea de astăzi, mai mult de jumătate dintre tineri și copii sunt pasionați de jocuri și toți cei care sunt pasionați de acest lucru, fascinați de aspectele tehnice ale jocului, cunosc importanța detectării mișcării în acest domeniu. Am fost, de asemenea, uimiți de același lucru și
Robotică DIY - Braț robot educativ cu 6 axe: 6 pași (cu imagini)
Robotică DIY | Braț educativ cu 6 axe Robot: Celula educativă DIY-Robotics este o platformă care include un braț robotizat pe 6 axe, un circuit electronic de control și un software de programare. Această platformă este o introducere în lumea roboticii industriale. Prin acest proiect, DIY-Robotics își dorește
Robot paralel Tensegrity sau Double 5R, 5 axe (DOF) Ieftin, dur, control al mișcării: 3 pași (cu imagini)
Robot paralel Tensegrity sau Double 5R, 5 axe (DOF) Ieftin, dur, control al mișcării: Sper că veți crede că aceasta este ideea MARE pentru ziua dvs.! Aceasta este o intrare în concursul Instructables Robotics care se încheie pe 2 decembrie 2019. Proiectul a ajuns la runda finală de jurizare și nu am avut timp să fac actualizările dorite! Am
Cum să interfațați joystick-ul cu două axe cu Arduino Uno: 5 pași
Cum să interfațăm joystick-ul cu două axe cu Arduino Uno: Aici vom interfața un joystick cu o axă duel cu arduino uno. Acest joystick are doi pini analogici pentru axa x și axa y și un pin digital pentru comutator
Interfațarea senzorului giroscopului 3 axe BMG160 cu Raspberry Pi: 5 pași
Interfața senzorului giroscopului cu 3 axe BMG160 cu Raspberry Pi: În lumea de astăzi, mai mult de jumătate dintre tineri și copii sunt pasionați de jocuri și toți cei care sunt pasionați de acest lucru, fascinați de aspectele tehnice ale jocului, cunosc importanța detectării mișcării în acest domeniu. Am fost, de asemenea, uimiți de același lucru și