
Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:12


Ang MPL3115A2 ay gumagamit ng isang sensor ng presyon ng MEMS na may isang interface na I2C upang magbigay ng tumpak na data ng Presyon / Altitude at Temperatura. Ang mga output ng sensor ay na-digitize ng isang mataas na resolusyon na 24-bit ADC. Tinatanggal ng panloob na pagproseso ang mga gawain sa pagbabayad mula sa host MCU system. Ito ay may kakayahang makita ang isang pagbabago sa 0.05 kPa lamang na katumbas ng isang 0.3m na pagbabago sa altitude. Narito ang pagpapakita nito kasama si Arduino Nano.
Hakbang 1: Ano ang Kailangan Mo.. !

1. Arduino Nano
2. MPL3115A2
3. I²C Cable
4. I²C Shield para sa Arduino Nano
Hakbang 2: Mga Koneksyon:




Kumuha ng isang kalasag I2C para sa Arduino Nano at dahan-dahang itulak ito sa mga pin ng Nano.
Pagkatapos ikonekta ang isang dulo ng I2C cable sa MPL3115A2 sensor at ang iba pang mga dulo sa I2C kalasag.
Ang mga koneksyon ay ipinapakita sa larawan sa itaas.
Hakbang 3: Code:

Ang arduino code para sa MPL3115A2 ay maaaring ma-download mula sa aming github repository-DCUBE Store.
Narito ang link para sa pareho:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
Isinasama namin ang library Wire.h upang mapabilis ang komunikasyon ng I2c ng sensor gamit ang Arduino board.
Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:
// Ipinamamahagi ng isang lisensyang malaya ang kalooban.
// Gumamit nito sa anumang paraan na nais mo, kumita o libre, naibigay na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.
// MPL3115A2
// Ang code na ito ay dinisenyo upang gumana sa MPL3115A2_I2CS I2C Mini Module
# isama
// MPL3115A2 I2C address ay 0x60 (96)
# tukuyin ang Addr 0x60
walang bisa ang pag-setup ()
{
// Initialise I2C na komunikasyon
Wire.begin ();
// Initialise Serial Communication, itakda ang baud rate = 9600
Serial.begin (9600);
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng kontrol
Wire.write (0x26);
// Active mode, OSR = 128, altimeter mode
Wire.write (0xB9);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng pagsasaayos ng data
Wire.write (0x13);
// Pinagana ang kaganapan na handa na sa data para sa altitude, presyon, temperatura
Wire.write (0x07);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
pagkaantala (300);
}
walang bisa loop ()
{
unsigned int data [6];
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng kontrol
Wire.write (0x26);
// Active mode, OSR = 128, altimeter mode
Wire.write (0xB9);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
pagkaantala (1000);
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Piliin ang pagrehistro ng data
Wire.write (0x00);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
// Humiling ng 6 bytes ng data
Wire.requestFrom (Addr, 6);
// Basahin ang 6 bytes ng data mula sa address 0x00 (00)
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
kung (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 ();
}
// I-convert ang data sa 20-bit
int tHeight = (((haba) (data [1] * (haba) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16);
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
float altitude = tKataas / 16.0;
float cTemp = (temp / 16.0);
float fTemp = cTemp * 1.8 + 32;
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng kontrol
Wire.write (0x26);
// Aktibo mode, OSR = 128, mode ng barometer
Wire.write (0x39);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
pagkaantala (1000);
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Piliin ang pagrehistro ng data
Wire.write (0x00);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
// Humiling ng 4 bytes ng data
Wire.requestFrom (Addr, 4);
// Basahin ang 4 bytes ng data
// status, pres msb1, pres msb, pres lsb
kung (Wire.available () == 4)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
}
// I-convert ang data sa 20-bit
long pres = (((long) data [1] * (long) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16;
float pressure = (pres / 4.0) / 1000.0;
// Output data sa serial monitor
Serial.print ("Altitude:");
Serial.print (altitude);
Serial.println ("m");
Serial.print ("Presyon:");
Serial.print (presyon);
Serial.println ("kPa");
Serial.print ("Temperatura sa Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura sa Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
pagkaantala (500);
}
Hakbang 4: Mga Aplikasyon:
Ang iba`t ibang mga aplikasyon ng MPL3115A2 ay may kasamang Mataas na Katumpakan Altimetry, Mga Smartphone / Tablet, Personal na Elektronikong Altimetry atbp Maaari din itong isama sa GPS Dead Reckoning, Pagpapahusay ng GPS para sa Mga Serbisyong Pang-emergency, Tulong sa Mapa, Pag-navigate pati na rin Kagamitan ng Weather Station.
Inirerekumendang:
Arduino Nano - TSL45315 Ambient Light Sensor Tutorial: 4 na Hakbang

Arduino Nano - TSL45315 Ambient Light Sensor Tutorial: Ang TSL45315 ay isang digital ambient light sensor. Tinatantiya nito ang pagtugon ng mata ng tao sa ilalim ng iba't ibang mga kundisyon sa pag-iilaw. Ang mga aparato ay may tatlong mapipiling oras ng pagsasama at magbigay ng direktang 16-bit na output ng lux sa pamamagitan ng isang interface ng I2C bus. Ang aparato co
Dirt Cheap Dirt-O-Meter - $ 9 Arduino Batay sa Naririnig na Altimeter: 4 na Hakbang (na may Mga Larawan)

Dirt Cheap Dirt-O-Meter - $ 9 Arduino Base Audible Altimeter: Ang mga dytter (A.K.A Audible Altimeter) ay nagligtas ng buhay ng mga skydiver sa loob ng maraming taon. Ngayon, makakapagtipid din sa kanila ang Audible Abby. Ang Mga Basikong Dytter ay mayroong apat na mga alarma, isa habang papataas, at tatlo sa pababang pababa. Sa pagsakay sa eroplano, kailangang malaman ng mga skydiver kung kailan
Arduino Nano - HTS221 Kamag-anak na Humidity at Temperatura Sensor Tutorial: 4 na Hakbang

Arduino Nano - HTS221 Kamag-anak na Humidity at Temperatura Sensor Tutorial: Ang HTS221 ay isang ultra compact capacitive digital sensor para sa kamag-anak na halumigmig at temperatura. May kasamang elemento ng sensing at isang halo-halong signal application na tiyak na integrated circuit (ASIC) upang maibigay ang impormasyon sa pagsukat sa pamamagitan ng digital serial
Raspberry Pi A1332 Precision Hall - Epekto ng Angle Sensor Java Tutorial: 4 na Hakbang

Raspberry Pi A1332 Precision Hall - Epekto ng Angle Sensor Java Tutorial: Ang A1332 ay isang 360 ° contactless na mataas na resolusyon na maaaring mai-program na magnetic anggulo ng posisyon ng sensor. Dinisenyo ito para sa mga digital na system na gumagamit ng isang interface ng I2C. Itinayo ito sa teknolohiya ng Circular Vertical Hall (CVH) at isang napaprograma na batay sa signal na microprocessor
Arduino Altimeter Gamit ang BMP at SPI o I2C OLED: 5 Hakbang

Arduino Altimeter Gamit ang BMP at SPI o I2C OLED: Sa mahabang panahon ay naghahanap ako ng altimeter at temperatura gamit ang isang solong sensor at ipinapakita ito sa OLI batay sa OLED. Dahil hindi ako makahanap ng anumang tumpak, naisip na magtatayo ako ng sarili gamit ang U8glib library. Mayroong isang tutorial sa youtub