Turinys:
Video: „Raspberry Pi“- ADXL345 3 ašių akcelerometras „Java“pamoka: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
„ADXL345“yra mažas, plonas, itin mažos galios 3 ašių akselerometras su didelės skiriamosios gebos (13 bitų) matavimu iki ± 16 g. Skaitmeniniai išvesties duomenys yra suformatuoti kaip 16 bitų du papildymai ir yra prieinami per I2 C skaitmeninę sąsają. Jis matuoja statinį gravitacijos pagreitį pasvirimo jutiklyje, taip pat dinaminį pagreitį, atsirandantį dėl judesio ar smūgio. Didelė skiriamoji geba (3,9 mg/LSB) leidžia matuoti nuolydžio pokyčius, mažesnius nei 1,0 °. Štai demonstracija su aviečių pi naudojant „Java“kodą.
1 žingsnis: ko jums reikia..
1. Avietė Pi
2. ADXL345
3. I²C kabelis
4. „I²C Shield“, skirtas „Raspberry Pi“
5. Ethernet kabelis
2 žingsnis: jungtys:
Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.
Tada vieną I2C kabelio galą prijunkite prie ADXL345 jutiklio, o kitą - prie I2C skydo.
Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas:
ADXL345 „Java“kodą galima atsisiųsti iš mūsų „GitHub“saugyklos- „Dcube Store“
Čia yra nuoroda į tą patį:
github.com/DcubeTechVentures/ADXL345
„Java“kodui naudojome „pi4j“biblioteką, čia aprašyti veiksmai, kaip įdiegti „pi4j“į aviečių pi:
pi4j.com/install.html
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
// Platinama su laisvos valios licencija.
// Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka susijusių darbų licencijas.
// ADXL345
// Šis kodas skirtas dirbti su „ADCL345_I2CS I2C Mini“moduliu, kurį galima įsigyti „Dcube Store“.
importuoti com.pi4j.io.i2c. I2CBus;
importuoti com.pi4j.io.i2c. I2CDevice;
importuoti com.pi4j.io.i2c. I2CFactory;
importuoti java.io. IOException;
viešoji klasė ADXL345
{
public static void main (String args ) metimai Išimtis
{
// Sukurti I2C magistralę
I2CBus magistralė = I2CFactory.getInstance (I2CBus. BUS_1);
// Gauti I2C įrenginį, įrenginio I2C adresas yra 0x53 (83)
I2CDevice device = Bus.getDevice (0x53);
// Pasirinkite Bandwidth rate register
// Normalus režimas, Išvesties duomenų perdavimo sparta = 100 Hz
device.write (0x2C, (baitas) 0x0A);
// Pasirinkite galios valdymo registrą
// Automatinio miego išjungimas
device.write (0x2D, (baitas) 0x08);
// Pasirinkite Duomenų formatų registras
// Savęs testavimas išjungtas, 4 laidų sąsaja, visa raiška, diapazonas = +/- 2g
device.write (0x31, (baitas) 0x08);
Siūlai.miegoti (500);
// Perskaitykite 6 baitus duomenų
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
baitas duomenys = naujas baitas [6];
duomenys [0] = (baitas) device.read (0x32);
duomenys [1] = (baitas) device.read (0x33);
duomenys [2] = (baitas) device.read (0x34);
duomenys [3] = (baitas) device.read (0x35);
duomenys [4] = (baitas) device.read (0x36);
duomenys [5] = (baitas) device.read (0x37);
// Konvertuokite duomenis į 10 bitų
int xAccl = ((duomenys [1] ir 0x03) * 256 + (duomenys [0] ir 0xFF));
jei (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = ((duomenys [3] ir 0x03) * 256 + (duomenys [2] ir 0xFF));
jei (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = ((duomenys [5] ir 0x03) * 256 + (duomenys [4] ir 0xFF));
jei (zAccl> 511)
{
zAccl -= 1024;
}
// Išvesti duomenis į ekraną
System.out.printf ("pagreitis X ašyje: %d %n", xAccl);
System.out.printf ("pagreitis Y ašyje: %d %n", yAccl);
System.out.printf ("Pagreitis Z ašyje: %d %n", zAccl);
}
}
4 žingsnis: programos:
ADXL345 yra mažas, plonas, itin mažos galios 3 ašių akselerometras, kurį galima naudoti telefonuose, medicinos prietaisuose ir pan. Jo taikymas taip pat apima žaidimų ir rodymo prietaisus, pramoninius prietaisus, asmeninius navigacijos įrenginius ir standžiojo disko (HDD) apsaugą.
Rekomenduojamas:
„Arduino Nano“-MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninio akselerometro pamoka: 4 žingsniai
„Arduino Nano“-MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninio pagreičio matuoklio pamoka: „MMA8452Q“yra protingas, mažos galios, trijų ašių, talpinis, mikromašinis pagreičio matuoklis, turintis 12 bitų skiriamąją gebą. Lanksčios vartotojo programuojamos parinktys pateikiamos naudojant pagreičio matuoklio įterptas funkcijas, kurias galima sukonfigūruoti dviem pertraukomis
Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninio akselerometro „Python“vadovėlis: 4 žingsniai
„Raspberry Pi MMA8452Q“3 ašių 12 bitų/8 bitų skaitmeninio akselerometro „Python“vadovėlis: „MMA8452Q“yra protingas, mažos galios, trijų ašių, talpinis, mikromechaninis pagreičio matuoklis, turintis 12 bitų skiriamąją gebą. Lanksčios vartotojo programuojamos parinktys pateikiamos naudojant pagreičio matuoklio įterptas funkcijas, kurias galima sukonfigūruoti dviem pertraukomis
Judėjimo valdymas naudojant „Raspberry Pi“ir LIS3DHTR, 3 ašių akselerometras, naudojant „Python“: 6 žingsniai
Judėjimo valdymas naudojant „Raspberry Pi“ir „LIS3DHTR“, 3 ašių akselerometrą, naudojant „Python“: grožis supa mus, tačiau paprastai turime vaikščioti sode, kad tai žinotume. - „RumiAs“kaip išsilavinusi grupė, kuri, panašu, esame, didžiąją savo energijos dalį investuojame į darbą prieš kompiuterius ir mobiliuosius telefonus. Todėl mes dažnai leidžiame savo gerovei
Raspberry Pi MMA8452Q 3 ašių 12 bitų/8 bitų skaitmeninis pagreičio matuoklis „Java“pamoka: 4 žingsniai
„Raspberry Pi MMA8452Q“3 ašių 12 bitų/8 bitų skaitmeninis pagreičio matuoklis „Java“pamoka: „MMA8452Q“yra protingas, mažos galios, trijų ašių, talpinis, mikromechaninis pagreičio matuoklis, turintis 12 bitų skiriamąją gebą. Lanksčios vartotojo programuojamos parinktys pateikiamos naudojant pagreičio matuoklio įterptas funkcijas, kurias galima sukonfigūruoti dviem pertraukomis
GY-521 MPU6050 3 ašių pagreičio giroskopas 6DOF modulio pamoka: 4 žingsniai
GY-521 MPU6050 3 ašių pagreičio giroskopo 6DOF modulio pamoka: Aprašymas Šiame paprastame modulyje yra viskas, ko reikia sąsajai su „Arduino“ir kitais valdikliais per I2C (naudokite „Wire Arduino“biblioteką) ir pateikite judesio jutimo informaciją 3 ašims-X, Y ir Z .Specifikacijos Akselerometro diapazonai: ± 2, ±