
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10


MPL3115A2 përdor një sensor presioni MEMS me një ndërfaqe I2C për të siguruar të dhëna të sakta të Presionit/Lartësisë dhe Temperaturës. Daljet e sensorit digjitalizohen nga një ADC me rezolucion të lartë 24-bit. Përpunimi i brendshëm heq detyrat e kompensimit nga sistemi pritës MCU. Shtë i aftë të zbulojë një ndryshim në vetëm 0.05 kPa që barazohet me një ndryshim 0.3m në lartësi. Këtu është demonstrimi i tij me Arduino Nano.
Hapi 1: Ajo që ju nevojitet.. !

1. Arduino Nano
2. MPL3115A2
3. Kabllo I²C
4. Mburoja I²C për Arduino Nano
Hapi 2: Lidhjet:




Merrni një mburojë I2C për Arduino Nano dhe shtyjeni butësisht mbi kunjat e Nanos.
Pastaj lidhni njërin skaj të kabllit I2C me sensorin MPL3115A2 dhe skajin tjetër me mburojën I2C.
Lidhjet janë treguar në figurën e mësipërme.
Hapi 3: Kodi:

Kodi arduino për MPL3115A2 mund të shkarkohet nga depoja jonë github-Dyqani DCUBE.
Këtu është lidhja për të njëjtën gjë:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
Ne përfshijmë bibliotekën Wire.h për të lehtësuar komunikimin I2c të sensorit me bordin Arduino.
Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:
// Shpërndarë me një licencë me vullnet të lirë.
// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.
// MPL3115A2
// Ky kod është krijuar për të punuar me Mini Modulin MPL3115A2_I2CS I2C
#përfshi
// Adresa MPL3115A2 I2C është 0x60 (96)
#përcaktoni Addr 0x60
void setup ()
{
// Filloni komunikimin I2C
Wire.begin ();
// Filloni Komunikimin Serial, vendosur normën e baudit = 9600
Serial.filloj (9600);
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e kontrollit
Wire.write (0x26);
// Mënyra aktive, OSR = 128, mënyra e lartësimatës
Wire.write (0xB9);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e konfigurimit të të dhënave
Wire.write (0x13);
// Ngjarja e gatshme për të dhëna e aktivizuar për lartësinë, presionin, temperaturën
Wire.write (0x07);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
vonesë (300);
}
lak void ()
{
të dhëna int të panënshkruara [6];
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e kontrollit
Wire.write (0x26);
// Mënyra aktive, OSR = 128, mënyra e lartësimatës
Wire.write (0xB9);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
vonesa (1000);
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidh regjistrin e të dhënave
Wire.write (0x00);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
// Kërkoni 6 bajt të dhëna
Tela. Kërkohet Nga (Addr, 6);
// Lexoni 6 bajt të dhëna nga adresa 0x00 (00)
// statusi, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
nëse (Wire. në dispozicion () == 6)
{
të dhëna [0] = Wire.read ();
të dhëna [1] = Wire.read ();
të dhëna [2] = Wire.read ();
të dhëna [3] = Wire.read ();
të dhëna [4] = Wire.read ();
të dhëna [5] = Wire.read ();
}
// Shndërroni të dhënat në 20-bit
int tHeight = (((e gjatë) (të dhënat [1] * (e gjatë) 65536) + (të dhënat [2] * 256) + (të dhënat [3] & 0xF0)) / 16);
int temp = ((të dhënat [4] * 256) + (të dhënat [5] & 0xF0)) / 16;
lartësia e notit = tHeight / 16.0;
noton cTemp = (temp / 16.0);
noton fTemp = cTemp * 1.8 + 32;
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e kontrollit
Wire.write (0x26);
// Mënyra aktive, OSR = 128, mënyra e barometrit
Wire.write (0x39);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
vonesa (1000);
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidh regjistrin e të dhënave
Wire.write (0x00);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
// Kërkoni 4 bajt të dhëna
Tela. Kërkohet Nga (Addr, 4);
// Lexoni 4 bajt të dhëna
// statusi, pres msb1, pres msb, pres lsb
nëse (Wire. në dispozicion () == 4)
{
të dhëna [0] = Wire.read ();
të dhëna [1] = Wire.read ();
të dhëna [2] = Wire.read ();
të dhëna [3] = Wire.read ();
}
// Shndërroni të dhënat në 20-bit
pres i gjatë = (((i gjatë) të dhëna [1] * (i gjatë) 65536) + (të dhëna [2] * 256) + (të dhëna [3] & 0xF0)) / 16;
presioni notues = (pres / 4.0) / 1000.0;
// Dalja e të dhënave në monitorin serik
Serial.print ("Lartësia mbidetare:");
Serial.print (lartësia);
Serial.println ("m");
Serial.print ("Presioni:");
Serial.print (presion);
Serial.println ("kPa");
Serial.print ("Temperatura në Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura në Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
vonesë (500);
}
Hapi 4: Aplikimet:
Aplikime të ndryshme të MPL3115A2 përfshijnë Altimetri të Saktësisë së Lartë, Smartphone/Tableta, Elektronikë Personale Altimetri etj. Gjithashtu mund të inkorporohet në llogaritjen e vdekur të GPS, Përmirësimi i GPS për Shërbimet e Emergjencave, Ndihma në Hartë, Lundrimi si dhe Pajisjet e Stacionit Moti.
Recommended:
RC Plain Altimetër (i pajtueshëm me Spektrum Telemetry): 7 hapa

RC Plamet Altimeter (i pajtueshëm me Spektrum Telemetry): Unë e bëra këtë lartësimatës në mënyrë që piloti të dijë se ata janë nën kufirin 400 këmbë për avionët RC në SHBA. Miku im ishte i shqetësuar pasi ai nuk mund të thoshte me siguri se ai ishte gjithmonë nën 400 këmbë, dhe donte sigurinë e shtuar që një sensor të
Altimetër (metër lartësie) Bazuar në presionin atmosferik: 7 hapa (me fotografi)

Altimetër (metër lartësi) Bazuar në presionin atmosferik: [Redakto]; Shihni versionin 2 në hapin 6 me futjen manualisht të lartësisë bazë. Ky është përshkrimi i ndërtesës së një Altimetri (Matës i lartësisë) i bazuar në një Arduino Nano dhe një sensor presioni atmosferik Bosch BMP180. Dizajni është i thjeshtë, por matjet
Dirt-lirë Dirt-O-Meter-9 dollarë Altimetër i dëgjueshëm i bazuar në Arduino: 4 hapa (me fotografi)

Dirt Cheap Dirt-O-Meter-9 dollarë Altimetër i dëgjueshëm me bazë Arduino: Dytters (A.K.A Altimeters Audible) shpëtuan jetën e parashutistëve për kaq shumë vjet. Tani, Audible Abby do t'i kursejë edhe ata para. Basic Dytters kanë katër alarme, një në rrugën lart dhe tre në rrugën poshtë. Në udhëtimin me avion, parashutistët duhet të dinë kur
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Udhëzues: 4 hapa

Raspberry Pi A1332 Precision Hall - Sensori i këndit të efektit Java Tutorial: A1332 është një sensor pozicioni i këndit magnetik i programueshëm me rezolucion të lartë 360 °. Shtë projektuar për sistemet dixhitale duke përdorur një ndërfaqe I2C. Shtë ndërtuar në teknologjinë Circular Vertical Hall (CVH) dhe një sinjal të programueshëm të bazuar në mikroprocesor
Kompas LED dhe Altimetër: 7 hapa (me fotografi)

Kompas LED dhe Altimetër: Objektet me LED gjithmonë më magjepsin. Prandaj ky projekt për të kombinuar sensorin popullor të busullës dixhitale HMC5883L me 48 LED. Duke i vendosur LED -et në një rreth led që ndriçon është drejtimi që po shkoni. Çdo 7.5 gradë do të dr