Indholdsfortegnelse:
![Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial: 4 trin Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial: 4 trin](https://i.howwhatproduce.com/images/002/image-3723-13-j.webp)
Video: Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial: 4 trin
![Video: Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial: 4 trin Video: Arduino Nano - MPL3115A2 Precision Altimeter Sensor Tutorial: 4 trin](https://i.ytimg.com/vi/1SQNlzMTexM/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
![Image Image](https://i.howwhatproduce.com/images/002/image-3723-15-j.webp)
![](https://i.ytimg.com/vi/1SQNlzMTexM/hqdefault.jpg)
MPL3115A2 anvender en MEMS -trykføler med en I2C -grænseflade til at levere nøjagtige data om tryk/højde og temperatur. Sensorudgangene digitaliseres med en højopløselig 24-bit ADC. Intern behandling fjerner kompensationsopgaver fra værts -MCU -systemet. Det er i stand til at detektere en ændring på kun 0,05 kPa, hvilket svarer til en højdeændring på 0,3 m. Her er demonstrationen med Arduino Nano.
Trin 1: Hvad du har brug for..
![Hvad du har brug for..!! Hvad du har brug for..!!](https://i.howwhatproduce.com/images/002/image-3723-16-j.webp)
1. Arduino Nano
2. MPL3115A2
3. I²C -kabel
4. I²C Shield til Arduino Nano
Trin 2: Forbindelser:
![Tilslutninger Tilslutninger](https://i.howwhatproduce.com/images/002/image-3723-17-j.webp)
![Tilslutninger Tilslutninger](https://i.howwhatproduce.com/images/002/image-3723-18-j.webp)
![Tilslutninger Tilslutninger](https://i.howwhatproduce.com/images/002/image-3723-19-j.webp)
![Tilslutninger Tilslutninger](https://i.howwhatproduce.com/images/002/image-3723-20-j.webp)
Tag et I2C -skjold til Arduino Nano og skub det forsigtigt hen over stifterne på Nano.
Tilslut derefter den ene ende af I2C -kablet til MPL3115A2 -sensoren og den anden ende til I2C -skærmen.
Forbindelser er vist på billedet ovenfor.
Trin 3: Kode:
![Kode Kode](https://i.howwhatproduce.com/images/002/image-3723-21-j.webp)
Arduino-koden til MPL3115A2 kan downloades fra vores github repository-DCUBE Store.
Her er linket til det samme:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
Vi inkluderer bibliotek Wire.h for at lette I2c -kommunikationen mellem sensoren og Arduino -kortet.
Du kan også kopiere koden herfra, den er givet som følger:
// Distribueret med en fri vilje licens.
// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.
// MPL3115A2
// Denne kode er designet til at fungere med MPL3115A2_I2CS I2C Mini Module
#omfatte
// MPL3115A2 I2C -adressen er 0x60 (96)
#define Addr 0x60
ugyldig opsætning ()
{
// Initialiser I2C -kommunikation
Wire.begin ();
// Initialiser seriel kommunikation, indstil baudhastighed = 9600
Serial.begin (9600);
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg kontrolregister
Wire.write (0x26);
// Aktiv tilstand, OSR = 128, højdemåler -tilstand
Wire.write (0xB9);
// Stop I2C -transmission
Wire.endTransmission ();
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg datakonfigurationsregister
Wire.write (0x13);
// Dataklar begivenhed aktiveret for højde, tryk, temperatur
Wire.write (0x07);
// Stop I2C -transmission
Wire.endTransmission ();
forsinkelse (300);
}
hulrum ()
{
usignerede int -data [6];
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg kontrolregister
Wire.write (0x26);
// Aktiv tilstand, OSR = 128, højdemåler -tilstand
Wire.write (0xB9);
// Stop I2C -transmission
Wire.endTransmission ();
forsinkelse (1000);
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg dataregister
Wire.write (0x00);
// Stop I2C -transmission
Wire.endTransmission ();
// Anmod om 6 bytes data
Wire.requestFrom (Addr, 6);
// Læs 6 bytes data fra adresse 0x00 (00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
hvis (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 ();
}
// Konverter dataene til 20-bit
int tHeight = (((long) (data [1] * (long) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16);
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
flydehøjde = tHøjde / 16,0;
float cTemp = (temp / 16,0);
float fTemp = cTemp * 1,8 + 32;
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg kontrolregister
Wire.write (0x26);
// Aktiv tilstand, OSR = 128, barometer -tilstand
Wire.write (0x39);
// Stop I2C -transmission
Wire.endTransmission ();
forsinkelse (1000);
// Start I2C -transmission
Wire.beginTransmission (Addr);
// Vælg dataregister
Wire.write (0x00);
// Stop I2C -transmission
Wire.endTransmission ();
// Anmod om 4 bytes data
Wire.requestFrom (Addr, 4);
// Læs 4 bytes data
// status, pres msb1, pres msb, pres lsb
hvis (Wire.available () == 4)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
}
// Konverter dataene til 20-bit
long pres = (((lange) data [1] * (lang) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16;
flydetryk = (pres / 4.0) / 1000.0;
// Output data til seriel skærm
Serial.print ("Højde:");
Serial.print (højde);
Serial.println ("m");
Serial.print ("Tryk:");
Serielt tryk (tryk);
Serial.println ("kPa");
Serial.print ("Temperatur i Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatur i Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
forsinkelse (500);
}
Trin 4: Ansøgninger:
Forskellige applikationer af MPL3115A2 inkluderer høj nøjagtigheds -altimetri, smartphones/tablets, personlig elektronik -altimetri osv. Det kan også inkorporeres i GPS Dead Reckoning, GPS -forbedring til nødservice, Map Assist, Navigation samt vejrstationsudstyr.
Anbefalede:
RC Plane Altimeter (kompatibel med Spektrum Telemetry): 7 trin
![RC Plane Altimeter (kompatibel med Spektrum Telemetry): 7 trin RC Plane Altimeter (kompatibel med Spektrum Telemetry): 7 trin](https://i.howwhatproduce.com/images/002/image-5375-j.webp)
RC Plane Altimeter (kompatibel med Spektrum Telemetry): Jeg lavede denne højdemåler, så piloten kunne vide, at de er under 400 fod grænsen for RC fly i USA. Min ven var bekymret, da han ikke med sikkerhed kunne sige, at han altid var under 400 fod, og ønskede den ekstra sikkerhed for, at en sensor
DropArt - Precision Two Drop Photographic Collider: 11 trin (med billeder)
![DropArt - Precision Two Drop Photographic Collider: 11 trin (med billeder) DropArt - Precision Two Drop Photographic Collider: 11 trin (med billeder)](https://i.howwhatproduce.com/images/006/image-15880-j.webp)
DropArt - Precision Two Drop Photographic Collider: Hej alle sammen, I denne instruktive præsenterer jeg mit design til en computerstyret to liquid drop collider. Inden vi går i gang med designdetaljerne, synes jeg, det er fornuftigt at forklare præcist, hvad formålet er med designet. En sjov, interessant
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 trin
![Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 trin Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 trin](https://i.howwhatproduce.com/images/002/image-3072-60-j.webp)
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 er en 360 ° kontaktløs højopløselig programmerbar magnetisk vinkel positionssensor. Det er designet til digitale systemer, der bruger en I2C -grænseflade. Det er bygget på Circular Vertical Hall (CVH) teknologi og et programmerbart mikroprocessorbaseret signal
Arduino Nano - BH1715 Digital Omgivelseslys Sensor Tutorial: 4 trin
![Arduino Nano - BH1715 Digital Omgivelseslys Sensor Tutorial: 4 trin Arduino Nano - BH1715 Digital Omgivelseslys Sensor Tutorial: 4 trin](https://i.howwhatproduce.com/images/002/image-3147-13-j.webp)
Arduino Nano - BH1715 Digital Ambient Light Sensor Tutorial: BH1715 er en digital Ambient Light Sensor med en I²C busgrænseflade. BH1715 bruges almindeligvis til at indhente omgivelseslysdata til justering af LCD- og tastaturets baggrundsbelysning til mobile enheder. Denne enhed tilbyder en 16-bit opløsning og en justering
Arduino: Precision Lib for trinmotor: 19 trin
![Arduino: Precision Lib for trinmotor: 19 trin Arduino: Precision Lib for trinmotor: 19 trin](https://i.howwhatproduce.com/images/002/image-3950-62-j.webp)
Arduino: Precision Lib for Stepper Motor: I dag vil jeg vise dig et bibliotek for en motor med fuld trin med endestopkontakter og motorbevægelse med acceleration og mikrotrin. Denne Lib, der fungerer på både Arduino Uno og Arduino Mega, giver dig mulighed for at flytte motorerne baseret ikke kun