Innholdsfortegnelse:
- Trinn 1: Nødvendig maskinvare:
- Trinn 2: Maskinvaretilkobling:
- Trinn 3: Arduino -kode for akselerasjonsmåling:
- Trinn 4: Søknader:
Video: Måling av akselerasjon ved hjelp av H3LIS331DL og Arduino Nano: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
H3LIS331DL, er et laveffekt 3-akset lineært akselerometer med høy ytelse som tilhører "nano" -familien, med digitalt I²C serielt grensesnitt. H3LIS331DL har full skalaer som kan velges av brukeren på ± 100g/± 200g/± 400g, og den er i stand til å måle akselerasjoner med utdatahastigheter fra 0,5 Hz til 1 kHz. H3LIS331DL fungerer garantert over et utvidet temperaturområde fra -40 ° C til +85 ° C.
I denne opplæringen skal vi demonstrere grensesnittet mellom H3LIS331DL og Arduino Nano.
Trinn 1: Nødvendig maskinvare:
Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:
1. H3LIS331DL
2. Arduino Nano
3. I2C -kabel
4. I2C -skjold for Arduino Nano
Trinn 2: Maskinvaretilkobling:
Maskinvarekoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og arduino nano. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:
H3LIS331DL fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.
Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker. Alt du trenger er fire ledninger!
Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.
Disse sammenhengene er vist på bildene ovenfor.
Trinn 3: Arduino -kode for akselerasjonsmåling:
La oss begynne med arduino -koden nå.
Mens vi bruker sensormodulen med arduinoen, inkluderer vi Wire.h -biblioteket. "Wire" -biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og arduino -kortet.
Hele arduino -koden er gitt nedenfor for brukerens bekvemmelighet:
#inkludere
// H3LIS331DL I2C -adressen er 0x18 (24)
#define Addr 0x18
ugyldig oppsett ()
{
// Initialiser I2C -kommunikasjon som MASTER
Wire.begin ();
// Initialize Serial Communication, set baud rate = 9600
Serial.begin (9600);
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg kontrollregister 1
Wire.write (0x20);
// Aktiver X, Y, Z -aksen, strøm på -modus, datautgangshastighet 50Hz
Wire.write (0x27);
// Stopp I2C -overføring
Wire.endTransmission ();
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg kontrollregister 4
Wire.write (0x23);
// Sett full skala, +/- 100g, kontinuerlig oppdatering
Wire.write (0x00);
// Stopp I2C -overføring
Wire.endTransmission ();
forsinkelse (300);
}
hulrom ()
{
usignerte int -data [6];
for (int i = 0; i <6; i ++)
{
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg dataregister
Wire.write ((40+i));
// Stopp I2C -overføring
Wire.endTransmission ();
// Be om 1 byte med data
Wire.requestFrom (Addr, 1);
// Les 6 byte med 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]);
// Utdata til seriell skjerm
Serial.print ("Akselerasjon i X-akse:");
Serial.println (xAccl);
Serial.print ("Akselerasjon i Y-akser:");
Serial.println (yAccl);
Serial.print ("Akselerasjon i Z-akse:");
Serial.println (zAccl);
forsinkelse (300);
}
Alt du trenger å gjøre er å brenne koden i arduino og sjekke avlesningene dine på seriell port. Utgangen er vist på bildet ovenfor.
Trinn 4: Søknader:
Akselerometre som H3LIS331DL finner stort sett sin anvendelse i spillene og viser profilveksling. Denne sensormodulen brukes også i det avanserte strømstyringssystemet for mobile applikasjoner. H3LIS331DL er en triaksial digital akselerasjonssensor som er integrert med en intelligent bevegelsesutløst avbruddskontroller på brikken.
Anbefalt:
Måling av akselerasjon ved bruk av ADXL345 og Particle Photon: 4 trinn
Måling av akselerasjon ved bruk av ADXL345 og Particle Photon: ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2 C digitalt grensesnitt. Den måler
Måling av akselerasjon ved bruk av H3LIS331DL og partikkelfoton: 4 trinn
Måling av akselerasjon ved hjelp av H3LIS331DL og Particle Photon: H3LIS331DL, er et laveffekt 3-akset lineært akselerometer med høy ytelse som tilhører "nano" -familien, med digitalt I²C serielt grensesnitt. H3LIS331DL har full skalaer som kan velges på ± 100g/± 200g/± 400g, og den er i stand til å måle akselerasjoner m
Overvåke akselerasjon ved bruk av Raspberry Pi og AIS328DQTR ved hjelp av Python: 6 trinn
Overvåke akselerasjon ved hjelp av Raspberry Pi og AIS328DQTR Bruke Python: Akselerasjon er begrenset, tror jeg i henhold til noen fysikklover.- Terry Riley En gepard bruker fantastisk akselerasjon og raske endringer i hastighet når jeg jager. Den raskeste skapningen i land en gang i blant bruker sitt høyeste tempo for å fange byttedyr. Den
Måling av akselerasjon ved hjelp av H3LIS331DL og Raspberry Pi: 4 trinn
Måling av akselerasjon ved hjelp av H3LIS331DL og Raspberry Pi: H3LIS331DL, er et laveffekt 3-akset lineært akselerometer med høy ytelse som tilhører "nano" -familien, med digitalt I²C serielt grensesnitt. H3LIS331DL har full skalaer som kan velges på ± 100g/± 200g/± 400g, og den er i stand til å måle akselerasjoner m
Måling av akselerasjon ved bruk av ADXL345 og Arduino Nano: 4 trinn
Måling av akselerasjon ved hjelp av ADXL345 og Arduino Nano: ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2 C digitalt grensesnitt. Den måler