Obsah:
- Krok 1: Potrebný hardvér:
- Krok 2: Pripojenie hardvéru:
- Krok 3: Kód na meranie zrýchlenia:
- Krok 4: Aplikácie:
Video: Meranie zrýchlenia pomocou fotónu BMA250 a časticového fotónu: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
BMA250 je malý, tenký, 3-osový akcelerometer s ultra nízkym výkonom a meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2C. Meria statické gravitačné zrýchlenie v aplikáciách snímajúcich náklon, ako aj dynamické zrýchlenie vyplývajúce z pohybu alebo šoku. Jeho vysoké rozlíšenie (3,9 mg/LSB) umožňuje meranie zmien sklonu menej ako 1,0 °.
V tomto tutoriáli budeme merať zrýchlenie vo všetkých troch kolmých osiach pomocou fotónu BMA250 a Particle.
Krok 1: Potrebný hardvér:
Materiály, ktoré potrebujeme na dosiahnutie nášho cieľa, obsahujú nasledujúce hardvérové komponenty:
1. BMA250
2. Fotón častíc
3. Kábel I2C
4. I2C štít pre fotón častíc
Krok 2: Pripojenie hardvéru:
Časť zapojenia hardvéru v zásade vysvetľuje zapojenie potrebné medzi senzorom a fotónom častíc. Zabezpečenie správneho pripojenia je základnou potrebou pri práci na akomkoľvek systéme s požadovaným výstupom. Potrebné spojenia sú teda tieto:
BMA250 bude fungovať na I2C. Tu je príklad schémy zapojenia, ktorá ukazuje, ako prepojiť každé rozhranie snímača.
Hneď po vybalení je doska nakonfigurovaná na rozhranie I2C, preto vám toto pripojenie odporúčame použiť, ak ste inak agnostik. Všetko, čo potrebujete, sú štyri drôty!
Vyžadujú sa iba štyri pripojenia Vcc, Gnd, SCL a SDA piny, ktoré sú prepojené pomocou kábla I2C.
Tieto spojenia sú znázornené na obrázkoch vyššie.
Krok 3: Kód na meranie zrýchlenia:
Začnime teraz s časticovým kódom.
Pri použití senzorového modulu s arduino zahrnujeme knižnicu application.h a spark_wiring_i2c.h. Knižnica "application.h" a spark_wiring_i2c.h obsahuje funkcie, ktoré uľahčujú i2c komunikáciu medzi senzorom a časticou.
Celý kód častíc je pre pohodlie užívateľa uvedený nižšie:
#zahrnúť
#zahrnúť
// Adresa BMA250 I2C je 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
neplatné nastavenie ()
{
// Nastavenie premennej
Premenná častica ("i2cdevice", "BMA250");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// Inicializujte komunikáciu I2C ako MASTER
Wire.begin ();
// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600
Serial.begin (9600);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte register výberu rozsahu
Wire.write (0x0F);
// Nastaviť rozsah +/- 2g
Wire.write (0x03);
// Zastavte prenos I2C
Wire.endTransmission ();
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte register šírky pásma
Wire.write (0x10);
// Nastaviť šírku pásma 7,81 Hz
Wire.write (0x08);
// Zastavte prenos I2C
Wire.endTransmission ();
meškanie (300);}
prázdna slučka ()
{
nepodpísané int údaje [0];
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte dátové registre (0x02 - 0x07)
Wire.write (0x02);
// Zastavte prenos I2C
Wire.endTransmission ();
// Požiadajte o 6 bajtov
Wire.requestFrom (Addr, 6);
// Prečítajte si šesť bajtov
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
ak (Wire.available () == 6)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
údaje [2] = Wire.read ();
údaje [3] = Wire.read ();
údaje [4] = Wire.read ();
údaje [5] = Wire.read ();
}
oneskorenie (300);
// Konvertujte údaje na 10 bitov
xAccl = ((údaje [1] * 256) + (údaje [0] & 0xC0)) / 64;
ak (xAccl> 511)
{
xAccl -= 1024;
}
yAccl = ((údaje [3] * 256) + (údaje [2] & 0xC0)) / 64;
ak (yAccl> 511)
{
yAccl -= 1024;
}
zAccl = ((údaje [5] * 256) + (údaje [4] & 0xC0)) / 64;
ak (zAccl> 511)
{
zAccl -= 1024;
}
// Výstup údajov na informačný panel
Particle.publish ("Zrýchlenie v osi X:", reťazec (xAccl));
oneskorenie (1000);
Particle.publish ("Zrýchlenie v osi Y:", reťazec (yAccl));
oneskorenie (1000);
Particle.publish ("Zrýchlenie v osi Z:", reťazec (zAccl));
oneskorenie (1000);
}
Funkcia Particle.variable () vytvára premenné na ukladanie výstupu zo senzora a funkcia Particle.publish () zobrazuje výstup na palubnej doske webu.
Výstup senzora je pre vašu referenciu zobrazený na obrázku vyššie.
Krok 4: Aplikácie:
Akcelerometre ako BMA250 väčšinou nachádzajú svoje uplatnenie v hrách a prepínaní profilov zobrazenia. Tento senzorový modul sa používa aj v pokročilom systéme riadenia spotreby pre mobilné aplikácie. BMA250 je trojosový digitálny snímač zrýchlenia, ktorý je vybavený inteligentným radičom prerušenia spúšťaným pohybom na čipe.
Odporúča:
Meranie zrýchlenia pomocou ADXL345 a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou ADXL345 a časticového fotónu: ADXL345 je malý, tenký, ultra nízky výkon, 3-osový akcelerometer s meraním s vysokým rozlíšením (13-bit) až do ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2 C. Meria
Meranie zrýchlenia pomocou H3LIS331DL a Arduino Nano: 4 kroky
Meranie zrýchlenia pomocou modelov H3LIS331DL a Arduino Nano: H3LIS331DL je nízkoenergetický vysokovýkonný 3-osový lineárny akcelerometer patriaci do rodiny „nano“s digitálnym sériovým rozhraním I²C. H3LIS331DL má užívateľsky voliteľné plné stupnice ± 100 g/± 200 g/± 400 g a je schopný merať zrýchlenia
Meranie zrýchlenia pomocou H3LIS331DL a fotónu častíc: 4 kroky
Meranie zrýchlenia pomocou H3LIS331DL a fotónu častíc: H3LIS331DL je nízkoenergetický vysokovýkonný 3-osový lineárny akcelerometer patriaci do rodiny „nano“s digitálnym sériovým rozhraním I²C. H3LIS331DL má užívateľsky voliteľné plné stupnice ± 100 g/± 200 g/± 400 g a je schopný merať zrýchlenia
Meranie zrýchlenia pomocou BMA250 a Arduino Nano: 4 kroky
Meranie zrýchlenia pomocou modelov BMA250 a Arduino Nano: BMA250 je malý, tenký, ultraľahký, 3-osový akcelerometer s meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2C. Meria statickú
Meranie zrýchlenia pomocou BMA250 a Raspberry Pi: 4 kroky
Meranie zrýchlenia pomocou modelov BMA250 a Raspberry Pi: BMA250 je malý, tenký, 3-osový akcelerometer s ultra nízkym výkonom a meraním s vysokým rozlíšením (13 bitov) až ± 16 g. Digitálne výstupné údaje sú formátované ako 16-bitové dvojčatá a sú prístupné prostredníctvom digitálneho rozhrania I2C. Meria statickú