Indholdsfortegnelse:
- Trin 1: Påkrævet hardware:
- Trin 2: Hardware -tilslutning:
- Trin 3: Arduino -kode til accelerationsmåling:
- Trin 4: Ansøgninger:
Video: Accelerationsmåling ved hjælp af BMA250 og Arduino Nano: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
BMA250 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 I2C 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 skal vi måle accelerationen i alle de tre vinkelrette akser ved hjælp af BMA250 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. BMA250
2. Arduino Nano
3. I2C -kabel
4. I2C -skjold til Arduino Nano
Trin 2: Hardware -tilslutning:
Hardwaretilslutningssektionen forklarer grundlæggende de ledningsforbindelser, der kræves mellem sensoren og arduinoen. 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:
BMA250 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 -biblioteket. "Wire" -biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og Arduino -kortet.
Hele Arduino -koden er angivet nedenfor for brugerens bekvemmelighed:
#omfatte
// BMA250 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 områdevalgsregister
Wire.write (0x0F);
// Indstil område +/- 2g
Wire.write (0x03);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg båndbredderegister
Wire.write (0x10);
// Indstil båndbredde 7,81 Hz
Wire.write (0x08);
// Stop I2C -transmission
Wire.endTransmission (); forsinkelse (300);}
hulrum ()
{
usignerede int -data [0];
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg dataregistre (0x02 - 0x07)
Wire.write (0x02);
// Stop I2C -transmission
Wire.endTransmission ();
// Anmod om 6 bytes
Wire.requestFrom (Addr, 6);
// Læs de seks bytes
// 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;
}
// Output data til den serielle 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);
}
I trådbiblioteket bruges Wire.write () og Wire.read () til at skrive kommandoer og læse sensoroutput. Serial.print () og Serial.println () bruges til at vise sensorudgangen på den serielle skærm på Arduino IDE.
Sensorudgangen er vist på billedet ovenfor.
Trin 4: Ansøgninger:
Accelerometre som BMA250 finder for det meste sin anvendelse i spil og skift af profilprofiler. Dette sensormodul bruges også i det avancerede strømstyringssystem til mobile applikationer. BMA250 er en triaksial digital accelerationssensor, som er integreret med en intelligent on-chip bevægelsesudløst afbrydelsescontroller.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Accelerationsmåling ved hjælp af BMA250 og Raspberry Pi: 4 trin
Accelerationsmåling ved hjælp af BMA250 og Raspberry Pi: BMA250 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 I2C digital interface. Den måler den statiske
Accelerationsmåling ved hjælp af BMA250 og Particle Photon: 4 trin
Accelerationsmåling ved hjælp af BMA250 og Particle Photon: BMA250 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 I2C digital interface. Den måler den statiske
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores