Innholdsfortegnelse:
- Trinn 1: Nødvendig maskinvare:
- Trinn 2: Maskinvaretilkobling:
- Trinn 3: Arduino -kode for akselerasjonsmåling:
- Trinn 4: Søknader:
Video: Akselerasjonsmåling ved bruk av BMA250 og Arduino Nano: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
BMA250 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 I2C digitalt grensesnitt. Den måler den statiske gravitasjonsakselerasjonen i tilt-sensing-applikasjoner, samt dynamisk akselerasjon som følge av bevegelse eller sjokk. Den høye oppløsningen (3,9 mg/LSB) muliggjør måling av hellingsendringer mindre enn 1,0 °.
I denne opplæringen skal vi måle akselerasjonen i alle de tre vinkelrette aksene ved hjelp av BMA250 og Arduino Nano.
Trinn 1: Nødvendig maskinvare:
Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:
1. BMA250
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 arduinoen. Å 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:
BMA250 vil fungere 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 Arduino, 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
// BMA250 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 register for registervalg
Wire.write (0x0F);
// Angi område +/- 2g
Wire.write (0x03);
// Stopp I2C -overføring
Wire.endTransmission ();
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg båndbredderegister
Wire.write (0x10);
// Angi båndbredde 7,81 Hz
Wire.write (0x08);
// Stopp I2C -overføring
Wire.endTransmission (); forsinkelse (300);}
hulrom ()
{
usignerte int -data [0];
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg dataregistre (0x02 - 0x07)
Wire.write (0x02);
// Stopp I2C -overføring
Wire.endTransmission ();
// Be om 6 byte
Wire.requestFrom (Addr, 6);
// Les de seks byte
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
hvis (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
forsinkelse (300);
// Konverter dataene til 10 bits
float xAccl = ((data [1] * 256.0) + (data [0] & 0xC0)) / 64;
hvis (xAccl> 511)
{
xAccl -= 1024;
}
float yAccl = ((data [3] * 256.0) + (data [2] & 0xC0)) / 64;
hvis (yAccl> 511)
{
yAccl -= 1024;
}
float zAccl = ((data [5] * 256.0) + (data [4] & 0xC0)) / 64;
hvis (zAccl> 511)
{
zAccl -= 1024;
}
// 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);
}
I trådbiblioteket brukes Wire.write () og Wire.read () til å skrive kommandoene og lese sensorutgangen. Serial.print () og Serial.println () brukes til å vise sensorutgangen på den serielle skjermen til Arduino IDE.
Sensorutgangen er vist på bildet ovenfor.
Trinn 4: Søknader:
Akselerometre som BMA250 finner stort sett sin anvendelse i spillene og bytte profilvisning. Denne sensormodulen brukes også i det avanserte strømstyringssystemet for mobile applikasjoner. BMA250 er en triaksial digital akselerasjonssensor som er integrert med en intelligent bevegelsesutløst avbryterkontroller på brikken.
Anbefalt:
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: 4 trinn
Kontroll ledet over hele verden ved bruk av internett ved hjelp av Arduino: Hei, jeg er Rithik. Vi kommer til å lage en Internett -kontrollert LED ved hjelp av telefonen din. Vi kommer til å bruke programvare som Arduino IDE og Blynk. Det er enkelt, og hvis du lyktes kan du kontrollere så mange elektroniske komponenter du vilTing We Need: Hardware:
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
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: 4 trinn
Atollic TrueStudio-Switch på LED-en ved å trykke på trykknappen ved bruk av STM32L100: I denne opplæringen til STM32 skal jeg fortelle deg hvordan du leser en GPIO-pin av STM32L100, så her skal jeg lage en ombord LED-glød av bare trykke på trykknappen
Akselerasjonsmåling ved bruk av BMA250 og Raspberry Pi: 4 trinn
Akselerasjonsmåling ved bruk av BMA250 og Raspberry Pi: BMA250 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 I2C digitalt grensesnitt. Den måler den statiske
Akselerasjonsmåling ved bruk av BMA250 og Particle Photon: 4 trinn
Akselerasjonsmåling ved hjelp av BMA250 og Particle Photon: BMA250 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 I2C digitalt grensesnitt. Den måler den statiske