Satura rādītājs:
- 1. solis: kas jums nepieciešams..
- 2. darbība. Savienojumi:
- 3. darbība: kods:
- 4. darbība. Lietojumprogrammas:
Video: Daļiņu fotons - MPL3115A2 Precīzijas altimetra sensora apmācība: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
MPL3115A2 izmanto MEMS spiediena sensoru ar I2C saskarni, lai nodrošinātu precīzus spiediena/augstuma un temperatūras datus. Sensora izejas tiek digitalizētas ar augstas izšķirtspējas 24 bitu ADC. Iekšējā apstrāde noņem kompensācijas uzdevumus no resursdatora MCU sistēmas. Tas spēj noteikt izmaiņas tikai 0,05 kPa, kas atbilst 0,3 m augstuma izmaiņām. Šeit ir tā demonstrācija ar daļiņu fotonu.
1. solis: kas jums nepieciešams..
1. Daļiņu fotons
2. MPL3115A2
3. I²C kabelis
4. I²C vairogs daļiņu fotonam
2. darbība. Savienojumi:
Paņemiet I2C vairogu daļiņu fotonam un viegli piespiediet to virs daļiņu fotona tapām.
Pēc tam pievienojiet I2C kabeļa vienu galu MPL3115A2 sensoram un otru galu pie I2C vairoga.
Savienojumi ir parādīti attēlā iepriekš.
3. darbība: kods:
MPL3115A2 daļiņu kodu var lejupielādēt no mūsu Github repozitorija-DCUBE veikala.
Šeit ir saite.
Mēs esam izmantojuši divas bibliotēkas daļiņu kodam, kas ir application.h un spark_wiring_i2c.h. Lai atvieglotu I2C saziņu ar sensoru, ir nepieciešama bibliotēka Spark_wiring_i2c.
Varat arī nokopēt kodu no šejienes, tas ir norādīts šādi:
// Izplatīts ar brīvās gribas licenci.
// Izmantojiet to jebkurā veidā, bez peļņas vai bez maksas, ja tas iekļaujas saistīto darbu licencēs.
// MPL3115A2
// Šis kods ir paredzēts darbam ar MPL3115A2_I2CS I2C mini moduli
#iekļaut
#iekļaut
// MPL3115A2 I2C adrese ir 0x60 (96)
#define Addr 0x60
pludiņš cTemp = 0,0, fTemp = 0,0, spiediens = 0,0, augstums = 0,0;
int temp = 0, tAugstums = 0; garš pres = 0;
anulēts iestatījums ()
{
// Iestatīt mainīgo
Particle.variable ("i2cdevice", "MPL3115A2");
Particle.variable ("cTemp", cTemp);
Daļiņa.mainīgais ("spiediens", spiediens);
Particle.variable ("augstums", augstums);
// Inicializēt I2C komunikāciju
Wire.begin ();
// Inicializēt seriālo komunikāciju, iestatīt pārraides ātrumu = 9600
Sērijas sākums (9600);
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet vadības reģistru
Wire.write (0x26);
// Aktīvais režīms, OSR = 128, altimetra režīms
Wire.write (0xB9);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet datu konfigurācijas reģistru
Wire.write (0x13);
// Datu gatavs notikums ir iespējots augstumam, spiedienam, temperatūrai
Wire.write (0x07);
// Apturēt I2C pārraidi
Wire.endTransmission ();
kavēšanās (300);
}
tukša cilpa ()
{
neparakstīti int dati [6];
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet vadības reģistru
Wire.write (0x26);
// Aktīvais režīms, OSR = 128, altimetra režīms
Wire.write (0xB9);
// Apturēt I2C pārraidi
Wire.endTransmission ();
kavēšanās (1000);
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet datu reģistru
Wire.write (0x00);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Pieprasīt 6 baitus datu
Wire.requestFrom (Addr, 6);
// Nolasīt 6 baitus datu no adreses 0x00 (00)
// statuss, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
ja (Wire.available () == 6)
{
dati [0] = Wire.read ();
dati [1] = Wire.read ();
dati [2] = Wire.read ();
dati [3] = Wire.read ();
dati [4] = Wire.read ();
dati [5] = Wire.read ();
}
// Pārvērst datus par 20 bitiem
tAugstums = (((((gari)) dati [1] * (garš) 65536) + (dati [2] * 256) + (dati [3] un 0xF0)) / 16);
temp = ((dati [4] * 256) + (dati [5] un 0xF0)) / 16;
augstums = tAugstums / 16,0;
cTemp = (temp / 16,0);
fTemp = cTemp * 1,8 + 32;
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet vadības reģistru
Wire.write (0x26);
// Aktīvais režīms, OSR = 128, barometra režīms
Wire.write (0x39);
// Apturēt I2C pārraidi
Wire.endTransmission ();
// Sākt I2C pārraidi
Wire.beginTransmission (Addr);
// Atlasiet datu reģistru
Wire.write (0x00);
// Apturēt I2C pārraidi
Wire.endTransmission ();
kavēšanās (1000);
// Pieprasīt 4 baitus datu
Wire.requestFrom (Addr, 4);
// Lasīt 4 baitus datu
// statuss, pres msb1, pres msb, pres lsb
ja (Wire.available () == 4)
{
dati [0] = Wire.read ();
dati [1] = Wire.read ();
dati [2] = Wire.read ();
dati [3] = Wire.read ();
}
// Pārvērst datus par 20 bitiem
pres = (((gari) dati [1] * (garš) 65536) + (dati [2] * 256) + (dati [3] un 0xF0)) / 16;
spiediens = (pres / 4,0) / 1000,0;
// Izvadiet datus informācijas panelī
Particle.publish ("Augstums:", String (augstums));
Particle.publish ("Spiediens:", Stīga (spiediens));
Particle.publish ("Temperatūra pēc Celsija:", String (cTemp));
Particle.publish ("Temperatūra pēc Fārenheita:", String (fTemp));
kavēšanās (1000);
}
4. darbība. Lietojumprogrammas:
Dažādi MPL3115A2 pielietojumi ietver augstas precizitātes altimetriju, viedtālruņus/planšetdatorus, personīgās elektronikas altimetriju utt. To var iekļaut arī GPS mirušo aprēķinā, GPS uzlabojumos ārkārtas dienestiem, karšu palīglīdzekļos, navigācijā, kā arī meteoroloģisko staciju aprīkojumā.
Ieteicams:
Daļiņu fotons - TCN75A temperatūras sensora apmācība: 4 soļi
Daļiņu fotons-TCN75A temperatūras sensora apmācība: TCN75A ir divu vadu sērijas temperatūras sensors, kas apvienots ar temperatūras pārveidotāju cipariem. Tas ir iekļauts lietotāja programmējamos reģistros, kas nodrošina elastību lietojumprogrammām temperatūras noteikšanai. Reģistra iestatījumi ļauj lietotājiem
Daļiņu fotons - ADT75 temperatūras sensora apmācība: 4 soļi
Daļiņu fotons - ADT75 temperatūras sensora apmācība: ADT75 ir ļoti precīzs digitālais temperatūras sensors. Tas sastāv no joslas spraugas temperatūras sensora un 12 bitu analogā-digitālā pārveidotāja temperatūras uzraudzībai un digitalizēšanai. Tā ļoti jutīgais sensors padara mani pietiekami kompetentu
Daļiņu fotons - STS21 temperatūras sensora apmācība: 4 soļi
Daļiņu fotons - STS21 temperatūras sensora apmācība: STS21 digitālais temperatūras sensors piedāvā izcilu veiktspēju un vietu taupošu nospiedumu. Tas nodrošina kalibrētus, linearizētus signālus digitālā, I2C formātā. Šī sensora izgatavošana ir balstīta uz CMOSens tehnoloģiju, kas izcilākajam piešķir
Daļiņu fotons - HDC1000 temperatūras sensora apmācība: 4 soļi
Daļiņu fotons - HDC1000 temperatūras sensora apmācība: HDC1000 ir digitāls mitruma sensors ar integrētu temperatūras sensoru, kas nodrošina izcilu mērījumu precizitāti ar ļoti mazu jaudu. Ierīce mēra mitrumu, pamatojoties uz jaunu kapacitatīvo sensoru. Mitruma un temperatūras sensori ir
Daļiņu fotons - BH1715 Digitālā apkārtējās gaismas sensora apmācība: 4 soļi
Daļiņu fotons - BH1715 Digitālā apkārtējās gaismas sensora apmācība: BH1715 ir digitālais apkārtējās gaismas sensors ar I²C kopnes saskarni. BH1715 parasti izmanto, lai iegūtu apkārtējās gaismas datus, lai pielāgotu LCD un tastatūras apgaismojuma jaudu mobilajām ierīcēm. Šī ierīce piedāvā 16 bitu izšķirtspēju un pielāgojumu