Talaan ng mga Nilalaman:
- Hakbang 1: Ano ang Kailangan Mo.. !
- Hakbang 2: Mga Koneksyon:
- Hakbang 3: Code:
- Hakbang 4: Mga Aplikasyon:
Video: Particle Photon - Tutorial ng MPL3115A2 Precision Altimeter Sensor: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13: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 sa Particle photon.
Hakbang 1: Ano ang Kailangan Mo.. !
1. Particle Photon
2. MPL3115A2
3. I²C Cable
4. I²C Shield para sa Particle Photon
Hakbang 2: Mga Koneksyon:
Kumuha ng isang kalasag I2C para sa maliit na butil na poton at dahan-dahang itulak ito sa mga pin ng maliit na butil na poton.
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 particle code para sa MPL3115A2 ay maaaring ma-download mula sa aming Github repository-DCUBE Store.
Nandito ang link.
Gumamit kami ng dalawang mga aklatan para sa code ng maliit na butil, na kung saan ay application.h at spark_wiring_i2c.h. Kinakailangan ang Spark_wiring_i2c library upang mapadali ang komunikasyon ng I2C sa sensor.
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
# isama
// MPL3115A2 I2C address ay 0x60 (96)
# tukuyin ang Addr 0x60
float cTemp = 0.0, fTemp = 0.0, pressure = 0.0, altitude = 0.0;
int temp = 0, tHeight = 0; long pres = 0;
walang bisa ang pag-setup ()
{
// Itakda ang variable
Particle.variable ("i2cdevice", "MPL3115A2");
Particle.variable ("cTemp", cTemp);
Particle. Iba-iba ("pressure", pressure);
Particle. Iba-iba ("altitude", altitude);
// 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
tHeight = ((((haba) data [1] * (haba) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16);
temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
altitude = tKataas / 16.0;
cTemp = (temp / 16.0);
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 ();
// Simulan ang paghahatid ng I2C
Wire.beginTransmission (Addr);
// Piliin ang pagrehistro ng data
Wire.write (0x00);
// Ihinto ang paghahatid ng I2C
Wire.endTransmission ();
pagkaantala (1000);
// 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
pres = (((haba) data [1] * (haba) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16;
presyon = (pres / 4.0) / 1000.0;
// Output data sa dashboard
Particle.publish ("Altitude:", String (altitude));
Particle.publish ("Pressure:", String (pressure));
Particle.publish ("Temperatura sa Celsius:", String (cTemp));
Particle.publish ("Temperatura sa Fahrenheit:", String (fTemp));
pagkaantala (1000);
}
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:
Pagsukat ng Pagpapabilis Gamit ang ADXL345 at Particle Photon: 4 na Hakbang
Pagsukat ng Acceleration Gamit ang ADXL345 at Particle Photon: Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat ang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Particle Photon: 4 na Hakbang
Pagsukat ng Magnetic Field Gamit ang HMC5883 at Particle Photon: Ang HMC5883 ay isang digital na kompas na dinisenyo para sa mababang patlang na sensasyong pang-magnet. Ang aparatong ito ay may malawak na saklaw ng magnetic field na +/- 8 Oe at isang rate ng output na 160 Hz. Kasama sa sensor ng HMC5883 ang mga awtomatikong degaussing strap driver, offset na pagkansela, at isang
Particle Photon IoT Personal na Panahon ng Panahon: 4 na Hakbang (na may Mga Larawan)
Particle Photon IoT Personal na Panahon ng Panahon:
Moisture Sensor Gamit ang Particle Photon: 6 Mga Hakbang
Moisture Sensor Gamit ang Particle Photon: Panimula Sa tutorial na ito magtatayo kami ng isang sensor ng Moisture gamit ang isang Particle Photon at ito sa bedded o / at panlabas na antena ng WiFi. Ang lakas ng WiFi ay nakasalalay sa dami ng kahalumigmigan sa hangin at sa lupa din. Ginagamit namin ang principl na ito
Fog Sensor - Particle Photon - I-save ang Data Online: 5 Mga Hakbang (na may Mga Larawan)
Fog Sensor - Particle Photon - I-save ang Data Online: Upang masukat ang dami ng fog o usok sa hangin na ginawa namin ang fog sensor na ito. Sinusukat nito ang dami ng ilaw na natatanggap ng LDR mula sa isang laser, at inihambing ito sa dami ng ilaw ng nakapaligid. Nai-post nito ang data sa isang google sheet realtime sa pamamagitan ng IFTTT