
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40


MPL3115A2 kasutab rõhu/kõrguse ja temperatuuri täpsete andmete saamiseks IEM -liidesega MEMS -rõhuandurit. Anduri väljundid digiteeritakse kõrge eraldusvõimega 24-bitise ADC abil. Sisemine töötlemine eemaldab kompenseerimisülesanded host -MCU süsteemist. See on võimeline tuvastama muutusi vaid 0,05 kPa, mis võrdub 0,3 m kõrguse muutusega. Siin on selle demonstratsioon Arduino Nanoga.
Samm: mida vajate..

1. Arduino Nano
2. MPL3115A2
3. I²C kaabel
4. I²C kilp Arduino Nano jaoks
Samm: ühendused:




Võtke Arduino Nano jaoks I2C kilp ja lükake see õrnalt üle Nano tihvtide.
Seejärel ühendage I2C kaabli üks ots MPL3115A2 anduriga ja teine ots I2C varjestusega.
Ühendused on näidatud ülaltoodud pildil.
3. samm: kood:

MPL3115A2 arduino koodi saate alla laadida meie githubi hoidlast-DCUBE poest.
Siin on link samale:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
Kaasame raamatukogu Wire.h, et hõlbustada anduri I2c -side Arduino plaadiga.
Siit saate koodi ka kopeerida, see on järgmine:
// Levitatakse vaba tahte litsentsiga.
// Kasutage seda soovitud viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.
// MPL3115A2
// See kood on loodud töötama koos MPL3115A2_I2CS I2C minimooduliga
#kaasake
// MPL3115A2 I2C aadress on 0x60 (96)
#define Addr 0x60
tühine seadistus ()
{
// Initsialiseeri I2C side
Wire.begin ();
// Initsialiseeri jadaühendus, määrake edastuskiirus = 9600
Seriaalne algus (9600);
// Alusta I2C edastamist
Wire.beginTransmission (Addr);
// Valige juhtregister
Wire.write (0x26);
// Aktiivne režiim, OSR = 128, altimeetri režiim
Wire.write (0xB9);
// Peata I2C edastamine
Wire.endTransmission ();
// Alusta I2C edastamist
Wire.beginTransmission (Addr);
// Valige andmete konfiguratsiooniregister
Wire.write (0x13);
// Andmete valmis sündmus on lubatud kõrguse, rõhu, temperatuuri jaoks
Wire.write (0x07);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (300);
}
tühine tsükkel ()
{
allkirjastamata int andmed [6];
// Alusta I2C edastamist
Wire.beginTransmission (Addr);
// Valige juhtregister
Wire.write (0x26);
// Aktiivne režiim, OSR = 128, altimeetri režiim
Wire.write (0xB9);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (1000);
// Alusta I2C edastamist
Wire.beginTransmission (Addr);
// Valige andmeregister
Wire.write (0x00);
// Peata I2C edastamine
Wire.endTransmission ();
// Taotlege 6 baiti andmeid
Wire.requestFrom (Addr, 6);
// Lugege 6 baiti andmeid aadressilt 0x00 (00)
// olek, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
kui (Wire.available () == 6)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
andmed [2] = Wire.read ();
andmed [3] = Wire.read ();
andmed [4] = Wire.read ();
andmed [5] = Wire.read ();
}
// Teisendage andmed 20-bitisteks
int tKõrgus = (((pikk) (andmed [1] * (pikk) 65536) + (andmed [2] * 256) + (andmed [3] ja 0xF0)) / 16);
int temp = ((andmed [4] * 256) + (andmed [5] & 0xF0)) / 16;
ujukõrgus = tKõrgus / 16,0;
ujuk cTemp = (temp / 16,0);
ujuk fTemp = cTemp * 1,8 + 32;
// Alusta I2C edastamist
Wire.beginTransmission (Addr);
// Valige juhtregister
Wire.write (0x26);
// Aktiivne režiim, OSR = 128, baromeetri režiim
Wire.write (0x39);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (1000);
// Alusta I2C edastamist
Wire.beginTransmission (Addr);
// Valige andmeregister
Wire.write (0x00);
// Peata I2C edastamine
Wire.endTransmission ();
// Taotle 4 baiti andmeid
Wire.requestFrom (Addr, 4);
// Loe 4 baiti andmeid
// olek, pres msb1, pres msb, pres lsb
kui (Wire.available () == 4)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
andmed [2] = Wire.read ();
andmed [3] = Wire.read ();
}
// Teisendage andmed 20-bitisteks
pikk pres = (((pikad) andmed [1] * (pikk) 65536) + (andmed [2] * 256) + (andmed [3] ja 0xF0)) / 16;
ujukirõhk = (pres / 4,0) / 1000,0;
// Andmete väljastamine jadamonitorile
Serial.print ("Kõrgus:");
Serial.print (kõrgus);
Serial.println ("m");
Serial.print ("Rõhk:");
Serial.print (rõhk);
Serial.println ("kPa");
Serial.print ("Temperatuur Celsiuse järgi:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatuur Fahrenheiti järgi:");
Serial.print (fTemp);
Serial.println ("F");
viivitus (500);
}
4. samm: rakendused:
MPL3115A2 mitmesugused rakendused hõlmavad suure täpsusega kõrguse mõõtmist, nutitelefoni/tahvelarvutit, isikliku elektroonika kõrguse mõõtmist jne. Seda saab lisada ka GPS -i surnud arvestusse, hädaabiteenuste GPS -i täiustamisse, kaardiabi, navigeerimisseadmesse ja ilmajaama seadmetesse.
Soovitan:
PIR -anduri ja summeri mooduli kasutamine - Visuino õpetus: 6 sammu

Kuidas kasutada PIR -andurit ja summerimoodulit - Visuino õpetus: Selles õpetuses õpime, kuidas kasutada PIR -andurit ja summerimoodulit heli tekitamiseks iga kord, kui PIR -andur tuvastab liikumise. Vaata näidisvideot
Arduino Nano - TSL45315 ümbritseva valguse anduri õpetus: 4 sammu

Arduino Nano - TSL45315 ümbritseva valguse anduri õpetus: TSL45315 on digitaalne ümbritseva valguse andur. See lähendab inimese silma reaktsiooni erinevates valgustingimustes. Seadmetel on kolm valitavat integreerimisaega ja need pakuvad otsest 16-bitist luksväljundit I2C siiniliidese kaudu. Seade koos
Ultraheli anduri õpetus Arduino abil: 6 sammu

Ultraheli anduri õpetus Arduino abil: see juhend on juhend populaarse ultraheli anduri HC - SR04 kohta. Ma selgitan, kuidas see töötab, näitan teile mõningaid selle funktsioone ja jagan Arduino projekti näidet, mida saate oma projektidesse integreerida. Pakume skemaatilist diagrammi
Õpetus: Kuidas luua Arduino UNO abil VL53L0X lasersageduse anduri moodul: 3 sammu

Õpetus: Kuidas luua Arduino UNO abil VL53L0X lasermõõdiku andurimoodul: Kirjeldused: see õpetus näitab teile kõigile üksikasjalikult, kuidas luua kaugusandurit, kasutades VL53L0X lasermõõdetava anduri moodulit ja Arduino UNO -d ning see töötab nagu teie taha. Järgige juhiseid ja saate sellest juhendajast aru
Arduino Nano - BH1715 digitaalse ümbritseva valguse anduri õpetus: 4 sammu

Arduino Nano - BH1715 digitaalse ümbritseva valguse anduri õpetus: BH1715 on digitaalne ümbritseva valguse andur, millel on I²C siiniliides. BH1715 kasutatakse tavaliselt ümbritseva valguse andmete saamiseks, et reguleerida mobiilseadmete LCD -ekraani ja klaviatuuri taustvalgustust. See seade pakub 16-bitist eraldusvõimet ja reguleerib