Obsah:
Video: Fotón častíc - Návod na snímač presného výškomera MPL3115A2: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
MPL3115A2 využíva snímač tlaku MEMS s rozhraním I2C, ktorý poskytuje presné údaje o tlaku/nadmorskej výške a teplote. Výstupy senzorov sú digitalizované 24-bitovým ADC s vysokým rozlíšením. Interné spracovanie odstráni úlohy kompenzácie z hostiteľského systému MCU. Je schopný detekovať zmenu iba o 0,05 kPa, čo sa rovná zmene výšky 0,3 m. Tu je jeho ukážka s fotónom častíc.
Krok 1: Čo potrebujete.. !
1. Fotón častíc
2. MPL3115A2
3. Kábel I²C
4. I²C štít pre časticový fotón
Krok 2: Pripojenia:
Vezmite I2C štít pre časticový fotón a jemne ho zatlačte cez kolíky časticového fotónu.
Potom pripojte jeden koniec kábla I2C k senzoru MPL3115A2 a druhý koniec k štítu I2C.
Pripojenia sú znázornené na obrázku vyššie.
Krok 3: Kód:
Časticový kód pre MPL3115A2 je možné stiahnuť z nášho úložiska Github-DCUBE Store.
Tu je odkaz.
Na časticový kód sme použili dve knižnice, ktorými sú application.h a spark_wiring_i2c.h. Na uľahčenie komunikácie I2C so senzorom je potrebná knižnica Spark_wiring_i2c.
Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:
// Distribuované s licenciou slobodnej vôle.
// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.
// MPL3115A2
// Tento kód je navrhnutý tak, aby pracoval s mini modulom MPL3115A2_I2CS I2C
#zahrnúť
#zahrnúť
// Adresa MPL3115A2 I2C je 0x60 (96)
#define Addr 0x60
plavák cTemp = 0,0, fTemp = 0,0, tlak = 0,0, nadmorská výška = 0,0;
int temp = 0, tHeight = 0; long pres = 0;
neplatné nastavenie ()
{
// Nastavenie premennej
Premenná častica ("i2cdevice", "MPL3115A2");
Particle.variable ("cTemp", cTemp);
Častica.proměnná ("tlak", tlak);
Častica.proměnná ("nadmorská výška", nadmorská výška);
// Inicializácia komunikácie I2C
Wire.begin ();
// Inicializujte sériovú komunikáciu, nastavte prenosovú rýchlosť = 9600
Serial.begin (9600);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte riadiaci register
Wire.write (0x26);
// Aktívny režim, OSR = 128, režim výškomeru
Wire.write (0xB9);
// Zastavte prenos I2C
Wire.endTransmission ();
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte register konfigurácie údajov
Wire.write (0x13);
// Udalosť pripravená na údaje je povolená pre nadmorskú výšku, tlak, teplotu
Wire.write (0x07);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (300);
}
prázdna slučka ()
{
nepodpísané int údaje [6];
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte riadiaci register
Wire.write (0x26);
// Aktívny režim, OSR = 128, režim výškomeru
Wire.write (0xB9);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (1000);
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte dátový register
Wire.write (0x00);
// Zastavte prenos I2C
Wire.endTransmission ();
// Požiadajte o 6 bajtov údajov
Wire.requestFrom (Addr, 6);
// Prečítajte 6 bajtov údajov z adresy 0x00 (00)
// stav, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
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 ();
}
// Previesť údaje na 20-bitové
tHeight = (((((dlhé) údaje [1] * (dlhé) 65536) + (údaje [2] * 256) + (údaje [3] & 0xF0)) / 16);
teplota = ((údaje [4] * 256) + (údaje [5] & 0xF0)) / 16;
nadmorská výška = tVýška / 16,0;
cTemp = (teplota / 16,0);
fTemp = cTemp * 1,8 + 32;
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte riadiaci register
Wire.write (0x26);
// Aktívny režim, OSR = 128, režim barometra
Wire.write (0x39);
// Zastavte prenos I2C
Wire.endTransmission ();
// Spustite prenos I2C
Wire.beginTransmission (Addr);
// Vyberte dátový register
Wire.write (0x00);
// Zastavte prenos I2C
Wire.endTransmission ();
oneskorenie (1000);
// Požiadajte o 4 bajty údajov
Wire.requestFrom (Addr, 4);
// Prečítajte 4 bajty údajov
// stav, pres msb1, pres msb, pres lsb
ak (Wire.available () == 4)
{
data [0] = Wire.read ();
údaje [1] = Wire.read ();
údaje [2] = Wire.read ();
údaje [3] = Wire.read ();
}
// Previesť údaje na 20-bitové
pres = (((dlhé) údaje [1] * (dlhé) 65536) + (údaje [2] * 256) + (údaje [3] & 0xF0)) / 16;
tlak = (prez / 4,0) / 1000,0;
// Výstup údajov na informačný panel
Particle.publish ("Nadmorská výška:", Reťazec (nadmorská výška));
Particle.publish ("Tlak:", Reťazec (tlak));
Particle.publish („Teplota v stupňoch Celzia:“, reťazec (cTemp));
Particle.publish („Teplota vo Fahrenheite:“, reťazec (fTemp));
oneskorenie (1000);
}
Krok 4: Aplikácie:
Rôzne aplikácie MPL3115A2 zahŕňajú vysoko presnú výškomer, smartphony/tablety, osobnú elektronickú výškomer atď. Môže byť tiež začlenený do systému GPS Dead Reckoning, GPS Enhancement for Emergency Services, Map Assist, Navigation, rovnako ako vybavenie meteorologickej stanice.
Odporúča:
Fotón častíc - teplotný snímač TCN75A Výukový program: 4 kroky
Fotón častíc-Snímač teploty TCN75A Výukový program: TCN75A je dvojvodičový sériový snímač teploty vstavaný s prevodníkom teploty na digitál. Je integrovaný s užívateľsky programovateľnými registrami, ktoré poskytujú flexibilitu pre aplikácie snímajúce teplotu. Nastavenia registra umožňujú používateľom
Raspberry Pi - Snímač presného výškomeru MPL3115A2 Java Výukový program: 4 kroky
Raspberry Pi - Snímač presného výškomeru MPL3115A2 Java Výukový program: MPL3115A2 využíva snímač tlaku MEMS s rozhraním I2C, ktorý poskytuje presné údaje o tlaku/nadmorskej výške a teplote. Výstupy senzorov sú digitalizované 24-bitovým ADC s vysokým rozlíšením. Interné spracovanie odstráni úlohy kompenzácie z
Fotón častíc - teplotný senzor HDC1000 Výučba: 4 kroky
Fotón častíc - snímač teploty HDC1000 Výukový program: HDC1000 je digitálny snímač vlhkosti s integrovaným snímačom teploty, ktorý poskytuje vynikajúcu presnosť merania pri veľmi nízkom výkone. Zariadenie meria vlhkosť na základe nového kapacitného senzora. Senzory vlhkosti a teploty sú
Fotón častíc - BH1715 Digitálny snímač okolitého svetla Výučba: 4 kroky
Particle Photon - BH1715 Digital Ambient Light Sensor Tutorial: BH1715 is a digital Ambient Light Sensor with I²C bus interface. BH1715 sa bežne používa na získavanie údajov o okolitom svetle na úpravu výkonu podsvietenia LCD a klávesnice pre mobilné zariadenia. Toto zariadenie ponúka 16-bitové rozlíšenie a
Fotón častíc - TMP100 Snímač teploty Tutorial: 4 Steps
Fotón častíc-teplotný snímač TMP100 Výukový program: Vysoko presný, digitálny teplotný snímač TMP100 I2C MINI modul. TMP100 je ideálny pre rozšírené meranie teploty. Toto zariadenie ponúka presnosť ± 1 ° C bez nutnosti kalibrácie alebo úpravy signálu externých komponentov. On