Indholdsfortegnelse:
- Trin 1: Påkrævet hardware:
- Trin 2: Hardware -tilslutning:
- Trin 3: Kode til måling af acceleration:
- Trin 4: Ansøgninger:
Video: Måling af acceleration ved hjælp af ADXL345 og Particle Photon: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler den statiske tyngdekraftacceleration i tilt-sensing applikationer samt dynamisk acceleration som følge af bevægelse eller stød. Dens høje opløsning (3,9 mg/LSB) muliggør måling af hældningsændringer mindre end 1,0 °.
I denne vejledning er grænsefladen mellem ADXL345 -sensormodulet og partikelfoton blevet illustreret. For at aflæse accelerationsværdierne har vi brugt partikler med en I2c -adapter. Denne I2C -adapter gør forbindelsen til sensormodulet let og mere pålidelig.
Trin 1: Påkrævet hardware:
De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:
1. ADXL345
2. Partikelfoton
3. I2C -kabel
4. I2C -skærm til partikelfoton
Trin 2: Hardware -tilslutning:
Hardwaretilslutningssektionen forklarer dybest set de ledningsforbindelser, der kræves mellem sensoren og partikelfonen. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:
ADXL345 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.
Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker.
Alt du behøver er fire ledninger! Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.
Disse forbindelser er vist på billederne ovenfor.
Trin 3: Kode til måling af acceleration:
Lad os starte med partikelkoden nu.
Mens vi bruger sensormodulet med partiklen, inkluderer vi application.h og spark_wiring_i2c.h bibliotek. "application.h" og spark_wiring_i2c.h biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og partiklen.
Hele partikelkoden er angivet nedenfor for brugerens bekvemmelighed:
#omfatte
#omfatte
// ADXL345 I2C -adressen er 0x53 (83)
#define Addr 0x53
int xAccl = 0, yAccl = 0, zAccl = 0;
ugyldig opsætning ()
{
// Indstil variabel
Particle.variable ("i2cdevice", "ADXL345");
Partikel.variabel ("xAccl", xAccl);
Partikel.variabel ("yAccl", yAccl);
Partikel.variabel ("zAccl", zAccl);
// Initialiser I2C -kommunikation som MASTER
Wire.begin ();
// Initialiser seriel kommunikation, indstil baudhastighed = 9600
Serial.begin (9600);
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg båndbreddehastighedsregister
Wire.write (0x2C);
// Vælg outputdatahastighed = 100 Hz
Wire.write (0x0A);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg effektstyringsregister
Wire.write (0x2D);
// Vælg automatisk deaktivering af søvn
Wire.write (0x08);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg dataformatregister
Wire.write (0x31);
// Vælg fuld opløsning, +/- 2g
Wire.write (0x08);
// Afslut I2C transmission
Wire.endTransmission ();
forsinkelse (300);
}
hulrum ()
{
usignerede int -data [6];
for (int i = 0; i <6; i ++)
{
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg dataregister
Wire.write ((50+i));
// Stop I2C -transmission
Wire.endTransmission ();
// Anmod om 1 byte data fra enheden
Wire.requestFrom (Addr, 1);
// Læs 6 bytes data
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
hvis (Wire.available () == 1)
{
data = Wire.read ();
}
forsinkelse (300);
}
// Konverter dataene til 10-bit
int xAccl = (((data [1] & 0x03) * 256) + data [0]);
hvis (xAccl> 511)
{
xAccl -= 1024;
}
int yAccl = (((data [3] & 0x03) * 256) + data [2]);
hvis (yAccl> 511)
{
yAccl -= 1024;
}
int zAccl = (((data [5] & 0x03) * 256) + data [4]);
hvis (zAccl> 511)
{
zAccl -= 1024;
}
// Output data til dashboard
Particle.publish ("Acceleration i X-Axis er:", String (xAccl));
Particle.publish ("Acceleration i Y-akse er:", String (yAccl));
Particle.publish ("Acceleration i Z-aksen er:", String (zAccl));
}
Funktionen Particle.variable () opretter variablerne til lagring af sensorens output og Particle.publish () -funktionen viser outputtet på webstedets dashboard.
Sensorudgangen er vist på billedet ovenfor til din reference.
Trin 4: Ansøgninger:
ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer, der kan bruges i håndsæt, medicinsk instrumentering osv. Dets anvendelse omfatter også spil- og pegeudstyr, industriel instrumentering, personlige navigationsenheder og beskyttelse af harddisk (HDD).
Anbefalede:
Måling af acceleration ved hjælp af H3LIS331DL og Arduino Nano: 4 trin
Måling af acceleration ved hjælp af H3LIS331DL og Arduino Nano: H3LIS331DL, er et laveffekt højtydende 3-akset lineært accelerometer, der tilhører "nano" -familien, med digitalt I²C serielt interface. H3LIS331DL har bruger -valgbare fulde skalaer på ± 100g/± 200g/± 400g, og den er i stand til at måle accelerationer m
Måling af acceleration ved hjælp af ADXL345 og Raspberry Pi: 4 trin
Måling af acceleration ved hjælp af ADXL345 og Raspberry Pi: ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler
Måling af acceleration ved hjælp af ADXL345 og Arduino Nano: 4 trin
Måling af acceleration ved hjælp af ADXL345 og Arduino Nano: ADXL345 er et lille, tyndt, ultralavt, 3-akset accelerometer med høj opløsning (13-bit) måling på op til ± 16 g. Digitale outputdata er formateret som 16-bit tokomplement og er tilgængelige via I2 C digital interface. Det måler
Måling af temperatur ved hjælp af ADT75 og Particle Photon: 4 trin
Måling af temperatur ved hjælp af ADT75 og Particle Photon: ADT75 er en meget præcis, digital temperatursensor. Det består af en båndgab temperatur sensor og en 12-bit analog til digital konverter til overvågning og digitalisering af temperaturen. Dens meget følsomme sensor gør den kompetent nok for mig
Måling af temperatur ved hjælp af AD7416ARZ og Particle Photon: 4 trin
Måling af temperatur ved hjælp af AD7416ARZ og Particle Photon: AD7416ARZ er en 10-bit temperatursensor med fire enkeltkanals analoge til digitale omformere og en indbygget temperatursensor indbygget i den. Temperaturføleren på delene kan tilgås via multiplexerkanaler. Denne temperatur med høj nøjagtighed