
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53


Die MPL3115A2 het 'n MEMS -druksensor met 'n I2C -koppelvlak om akkurate druk-/hoogte- en temperatuurdata te verskaf. Die sensoruitsette word gedigitaliseer deur 'n hoë-resolusie 24-bis ADC. Interne verwerking verwyder vergoedingstake uit die gasheer -MCU -stelsel. Dit is in staat om 'n verandering in slegs 0,05 kPa op te spoor wat gelykstaande is aan 'n hoogteverandering van 0,3 m. Hier is die demonstrasie met Arduino Nano.
Stap 1: wat u nodig het..

1. Arduino Nano
2. MPL3115A2
3. I²C -kabel
4. I²C -skild vir Arduino Nano
Stap 2: Verbindings:




Neem 'n I2C -skild vir Arduino Nano en druk dit saggies oor die penne van Nano.
Koppel dan die een kant van die I2C -kabel aan die MPL3115A2 -sensor en die ander kant aan die I2C -skild.
Verbindings word op die foto hierbo getoon.
Stap 3: Kode:

Die arduino-kode vir MPL3115A2 kan afgelaai word in ons github repository-DCUBE-winkel.
Hier is die skakel vir dieselfde:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
Ons bevat biblioteek Wire.h om die I2c -kommunikasie van die sensor met die Arduino -bord te vergemaklik.
U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:
// Versprei met 'n vrywillige lisensie.
// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.
// MPL3115A2
// Hierdie kode is ontwerp om te werk met die MPL3115A2_I2CS I2C Mini Module
#insluit
// MPL3115A2 I2C adres is 0x60 (96)
#definieer Addr 0x60
leemte opstelling ()
{
// Initialiseer I2C -kommunikasie
Wire.begin ();
// Initialiseer seriële kommunikasie, stel baud rate = 9600 in
Serial.begin (9600);
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies kontroleregister
Draad.skryf (0x26);
// Aktiewe modus, OSR = 128, hoogtemodus
Wire.write (0xB9);
// Stop I2C -oordrag
Wire.endTransmission ();
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies datakonfigurasie register
Wire.write (0x13);
// Gereedheid vir data gereed vir hoogte, druk, temperatuur
Wire.write (0x07);
// Stop I2C -oordrag
Wire.endTransmission ();
vertraging (300);
}
leemte lus ()
{
ongetekende int data [6];
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies kontroleregister
Draad.skryf (0x26);
// Aktiewe modus, OSR = 128, hoogtemodus
Wire.write (0xB9);
// Stop I2C -oordrag
Wire.endTransmission ();
vertraging (1000);
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies dataregister
Wire.write (0x00);
// Stop I2C -oordrag
Wire.endTransmission ();
// Versoek 6 grepe data
Wire.requestFrom (Addr, 6);
// Lees 6 grepe data vanaf adres 0x00 (00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
as (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
// Skakel die data om in 20-bisse
int tHeight = (((long) (data [1] * (lang) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16);
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
dryfhoogte = tHeight / 16.0;
float cTemp = (temp / 16.0);
float fTemp = cTemp * 1.8 + 32;
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies kontroleregister
Draad.skryf (0x26);
// Aktiewe modus, OSR = 128, barometer af
Wire.write (0x39);
// Stop I2C -oordrag
Wire.endTransmission ();
vertraging (1000);
// Begin I2C -oordrag
Wire.beginTransmission (Addr);
// Kies dataregister
Wire.write (0x00);
// Stop I2C -oordrag
Wire.endTransmission ();
// Versoek 4 grepe data
Wire.requestFrom (Addr, 4);
// Lees 4 grepe data
// status, pres msb1, pres msb, pres lsb
as (Wire.available () == 4)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
}
// Skakel die data om in 20-bisse
lang pres = (((lang) data [1] * (lank) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16;
vlotdruk = (pres / 4.0) / 1000.0;
// Uitset data na die seriële monitor
Serial.print ("Hoogte:");
Reeks.afdruk (hoogte);
Serial.println ("m");
Serial.print ("Druk:");
Reeks.afdruk (druk);
Serial.println ("kPa");
Serial.print ("Temperatuur in Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatuur in Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
vertraging (500);
}
Stap 4: Aansoeke:
Verskeie toepassings van MPL3115A2 sluit in hoë akkuraatheid altimetrie, slimfone/tablette, persoonlike elektronika altimetrie, ens. Dit kan ook opgeneem word in GPS Dead Reckoning, GPS -verbetering vir nooddienste, kaarthulp, navigasie sowel as weerstasie -toerusting.
Aanbeveel:
Arduino Nano - TSL45315 Tutoriaal vir omgevingsligsensor: 4 stappe

Arduino Nano - TSL45315 Sensor vir omringende lig: TSL45315 is 'n digitale sensor vir omringende lig. Dit benader die reaksie van die menslike oog onder verskillende beligtingstoestande. Die toestelle het drie kiesbare integrasietye en bied 'n direkte 16-bis lux-uitset via 'n I2C-bus-koppelvlak. Die toestel saam
Tutoriaal vir koppelvlak HMC5883L kompas sensor met Arduino: 10 stappe (met foto's)

Tutoriaal vir koppelvlak-HMC5883L-kompassensor met Arduino: beskrywing HMC5883L is 'n 3-as digitale kompas wat vir twee algemene doeleindes gebruik word: om die magnetisering van 'n magnetiese materiaal soos 'n ferromagnet te meet, of om die sterkte en, in sommige gevalle, die rigting van die magnetiese veld op 'n punt in s
Arduino Nano - STS21 Temperatuur sensor Tutoriaal: 4 stappe

Arduino Nano - STS21 Temperatuur Sensor Tutoriaal: STS21 Digitale Temperatuur Sensor bied uitstekende prestasie en 'n ruimtebesparende voetspoor. Dit bied gekalibreerde, lineêre seine in digitale I2C -formaat. Die vervaardiging van hierdie sensor is gebaseer op CMOSens -tegnologie, wat toegeskryf word aan die superieure
Raspberry Pi A1332 Precision Hall - Java -tutoriaal vir effekhoeksensor: 4 stappe

Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 is 'n 360 ° kontaklose hoë resolusie programmeerbare magnetiese hoekposisiesensor. Dit is ontwerp vir digitale stelsels met 'n I2C -koppelvlak. Dit is gebou op Circular Vertical Hall (CVH) tegnologie en 'n programmeerbare mikroverwerker gebaseerde sein
Arduino Nano - BH1715 Tutoriaal vir digitale omgevingsligsensor: 4 stappe

Arduino Nano - BH1715 Tutoriaal vir digitale omgevingsligsensor: Die BH1715 is 'n digitale omgevingsligsensor met 'n I²C -bus -koppelvlak. Die BH1715 word algemeen gebruik om die omgevingsligdata te verkry vir die aanpassing van die krag van die LCD- en toetsbordblok vir mobiele toestelle. Hierdie toestel bied 'n resolusie van 16 bis en 'n verstelbare