Indholdsfortegnelse:
- Trin 1: Påkrævet hardware:
- Trin 2: Hardware -tilslutning:
- Trin 3: Arduino -kode til accelerationsmåling:
- Trin 4: Ansøgninger:
Video: Måling af acceleration ved hjælp af H3LIS331DL og Arduino Nano: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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 med outputdatahastigheder fra 0,5 Hz til 1 kHz. H3LIS331DL fungerer garanteret over et udvidet temperaturområde fra -40 ° C til +85 ° C.
I denne vejledning vil vi demonstrere grænsefladen mellem H3LIS331DL og Arduino Nano.
Trin 1: Påkrævet hardware:
De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:
1. H3LIS331DL
2. Arduino Nano
3. I2C -kabel
4. I2C Shield til Arduino Nano
Trin 2: Hardware -tilslutning:
Hardwaretilslutningssektionen forklarer dybest set de nødvendige ledningsforbindelser mellem sensoren og arduino nano. 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:
H3LIS331DL 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: Arduino -kode til accelerationsmåling:
Lad os starte med arduino -koden nu.
Mens vi bruger sensormodulet med arduino, inkluderer vi Wire.h -bibliotek. "Wire" -biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og arduino -kortet.
Hele arduino -koden er angivet nedenfor for brugerens bekvemmelighed:
#omfatte
// H3LIS331DL I2C -adressen er 0x18 (24)
#define Addr 0x18
ugyldig opsætning ()
{
// Initialiser I2C -kommunikation som MASTER
Wire.begin ();
// Initialiser seriel kommunikation, indstil baudhastighed = 9600
Serial.begin (9600);
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg kontrolregister 1
Wire.write (0x20);
// Aktiver X, Y, Z -aksen, tændt -tilstand, dataudgangshastighed 50Hz
Wire.write (0x27);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg kontrolregister 4
Wire.write (0x23);
// Indstil fuld skala, +/- 100g, kontinuerlig opdatering
Wire.write (0x00);
// Stop 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 ((40+i));
// Stop I2C -transmission
Wire.endTransmission ();
// Anmod om 1 byte data
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
int xAccl = ((data [1] * 256) + data [0]);
int yAccl = ((data [3] * 256) + data [2]);
int zAccl = ((data [5] * 256) + data [4]);
// Output data til seriel skærm
Serial.print ("Acceleration i X-akse:");
Serial.println (xAccl);
Serial.print ("Acceleration i Y-akse:");
Serial.println (yAccl);
Serial.print ("Acceleration i Z-akse:");
Serial.println (zAccl);
forsinkelse (300);
}
Alt du skal gøre er at brænde koden i arduino og kontrollere dine aflæsninger på den serielle port. Outputtet er vist på billedet ovenfor.
Trin 4: Ansøgninger:
Accelerometre som H3LIS331DL finder for det meste sin anvendelse i spil og skifter profilprofil. Dette sensormodul bruges også i det avancerede strømstyringssystem til mobile applikationer. H3LIS331DL er en triaksial digital accelerationssensor, som er integreret med en intelligent on-chip bevægelsesudløst afbrydelsescontroller.
Anbefalede:
Måling af acceleration ved hjælp af ADXL345 og Particle Photon: 4 trin
Måling af acceleration ved hjælp af ADXL345 og Particle Photon: 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 H3LIS331DL og partikelfoton: 4 trin
Måling af acceleration ved hjælp af H3LIS331DL og Particle Photon: 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 H3LIS331DL og Raspberry Pi: 4 trin
Måling af acceleration ved hjælp af H3LIS331DL og Raspberry Pi: 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 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