Sisukord:
- Samm: vajalik riistvara:
- 2. samm: riistvara ühendamine:
- 3. samm: kiirenduse mõõtmise kood:
- 4. samm: rakendused:
Video: Kiirenduse mõõtmine ADXL345 ja Arduino Nano abil: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
ADXL345 on väike, õhuke, üliväikese võimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs digitaalse liidese I2 C kaudu. Mõõdab staatilist raskuskiirendust kaldetundlikes rakendustes, samuti liikumisest või põrutusest tulenevat dünaamilist kiirendust. Selle kõrge eraldusvõime (3,9 mg/LSB) võimaldab mõõta kalde muutusi alla 1,0 °.
Selles õpetuses on illustreeritud ADXL345 andurimooduli liidestamist arduino nanoga. Kiirendusväärtuste lugemiseks oleme kasutanud arduino koos I2c adapteriga. See I2C adapter muudab ühenduse andurimooduliga lihtsaks ja usaldusväärsemaks.
Samm: vajalik riistvara:
Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:
1. ADXL345
2. Arduino Nano
3. I2C kaabel
4. I2C kilp Arduino Nano jaoks
2. samm: riistvara ühendamine:
Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja arduino nano vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:
ADXL345 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.
Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik.
Kõik, mida vajate, on neli juhtmest! Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.
Neid seoseid on näidatud ülaltoodud piltidel.
3. samm: kiirenduse mõõtmise kood:
Alustame nüüd arduino koodiga.
Andurimoodulit arduinoga kasutades kaasame Wire.h raamatukogu. Juhtmeraamatukogu sisaldab funktsioone, mis hõlbustavad i2c side anduri ja arduino plaadi vahel.
Kogu arduino kood on kasutaja mugavuse huvides toodud allpool:
#kaasake
// ADXL345 I2C aadress on 0x53 (83)
#define Addr 0x53
tühine seadistus ()
{
// Initsialiseeri I2C side kui MASTER
Wire.begin ();
// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600
Seriaalne algus (9600);
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige ribalaiuse kiiruse register
Wire.write (0x2C);
// Tavaline režiim, väljundandmete kiirus = 100 Hz
Wire.write (0x0A);
// Peata I2C edastamine
Wire.endTransmission ();
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige toitejuhtimise register
Wire.write (0x2D);
// Automaatse une keelamine
Wire.write (0x08);
// Peata I2C edastamine
Wire.endTransmission ();
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige andmevorminguregister
Wire.write (0x31);
// Enesetesti keelatud, 4-juhtmeline liides, täisresolutsioon, vahemik = +/- 2g
Wire.write (0x08);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (300);
}
tühine tsükkel ()
{
allkirjastamata int andmed [6];
jaoks (int i = 0; i <6; i ++)
{
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige andmeregister
Wire.write ((50 + i));
// Peata I2C edastamine
Wire.endTransmission ();
// Taotle 1 baiti andmeid
Wire.requestFrom (Addr, 1);
// Lugege 6 baiti andmeid
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
kui (Wire.available () == 1)
{
andmed = Wire.read ();
}
}
// Teisendage andmed 10-bitisteks
int xAccl = (((andmed [1] & 0x03) * 256) + andmed [0]);
kui (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = (((andmed [3] & 0x03) * 256) + andmed [2]);
kui (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = (((andmed [5] & 0x03) * 256) + andmed [4]);
kui (zAccl> 511)
{
zAccl -= 1024;
}
// Andmete väljastamine jadamonitorile
Serial.print ("Kiirendus X-teljel on:");
Serial.println (xAccl);
Serial.print ("Kiirendus Y-teljel on:");
Serial.println (yAccl);
Serial.print ("Kiirendus Z-teljel on:");
Serial.println (zAccl);
viivitus (300);
}
Traaditeegis kasutatakse käskude kirjutamiseks ja anduri väljundi lugemiseks Wire.write () ja Wire.read ().
Serial.print () ja Serial.println () kasutatakse anduri väljundi kuvamiseks Arduino IDE jadamonitoril.
Anduri väljund on näidatud ülaltoodud pildil.
4. samm: rakendused:
ADXL345 on väike, õhuke, üliväikese võimsusega 3-teljeline kiirendusmõõtur, mida saab kasutada mobiiltelefonides, meditsiiniseadmetes jne. Selle rakendus hõlmab ka mängu- ja osutusseadmeid, tööstusseadmeid, isiklikke navigeerimisseadmeid ja kõvaketta kaitset.
Soovitan:
Kiirenduse mõõtmine ADXL345 ja osakeste footoni abil: 4 sammu
Kiirenduse mõõtmine ADXL345 ja osakeste footonite abil: ADXL345 on väike, õhuke ülivõimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs digitaalse liidese I2 C kaudu. See mõõdab
Kiirenduse mõõtmine H3LIS331DL ja Arduino Nano abil: 4 sammu
Kiirenduse mõõtmine H3LIS331DL ja Arduino Nano abil: H3LIS331DL on väikese võimsusega suure jõudlusega 3-teljeline lineaarne kiirendusmõõtur, mis kuulub nano perekonda, digitaalse I²C jadaliidesega. H3LIS331DL -l on kasutaja poolt valitavad täisskaalad ± 100 g/± 200 g/± 400 g ja see on võimeline mõõtma kiirendusi
Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: 4 sammu
Kiirenduse mõõtmine H3LIS331DL ja osakeste footoni abil: H3LIS331DL on väikese võimsusega suure jõudlusega 3-teljeline lineaarne kiirendusmõõtur, mis kuulub nano-perekonda, digitaalse I²C jadaliidesega. H3LIS331DL -l on kasutaja poolt valitavad täisskaalad ± 100 g/± 200 g/± 400 g ja see on võimeline mõõtma kiirendusi
Kiirenduse mõõtmine ADXL345 ja Raspberry Pi abil: 4 sammu
Kiirenduse mõõtmine ADXL345 ja Raspberry Pi abil: ADXL345 on väike, õhuke ülivõimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs digitaalse liidese I2 C kaudu. See mõõdab
Kiirenduse mõõtmine BMA250 ja Arduino Nano abil: 4 sammu
Kiirenduse mõõtmine BMA250 ja Arduino Nano abil: BMA250 on väike, õhuke ülivõimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs I2C digitaalse liidese kaudu. See mõõdab staatilist