Orodha ya maudhui:
Video: Chembe Photon - MPL3115A2 Mafunzo ya sensa ya usahihi wa Altimeter: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
MPL3115A2 inaajiri sensa ya shinikizo la MEMS na kiolesura cha I2C ili kutoa data sahihi ya Shinikizo / Urefu na Joto. Matokeo ya sensa ni digitized na azimio kubwa 24-bit ADC. Usindikaji wa ndani huondoa kazi za fidia kutoka kwa mfumo wa mwenyeji wa MCU. Inauwezo wa kugundua mabadiliko katika 0.05 kPa tu ambayo ni sawa na mabadiliko ya 0.3m kwa urefu. Hapa kuna maonyesho yake na Particle photon.
Hatua ya 1: Unachohitaji.. !
1. Particle Photon
2. MPL3115A2
3. I²C Cable
4. I²C Shield kwa Particle Photon
Hatua ya 2: Miunganisho:
Chukua ngao ya I2C kwa chembe chembe na usukume kwa upole juu ya pini za chembe chembe.
Kisha unganisha mwisho mmoja wa kebo ya I2C kwa sensorer ya MPL3115A2 na mwisho mwingine kwenye ngao ya I2C.
Uunganisho umeonyeshwa kwenye picha hapo juu.
Hatua ya 3: Nambari:
Nambari ya chembe ya MPL3115A2 inaweza kupakuliwa kutoka kwa duka yetu ya Github-Duka la DCUBE.
Hapa kuna kiunga.
Tumetumia maktaba mbili kwa nambari ya chembe, ambazo ni application.h na spark_wiring_i2c.h. Maktaba ya Spark_wiring_i2c inahitajika kuwezesha mawasiliano ya I2C na sensa.
Unaweza pia kunakili nambari kutoka hapa, imepewa kama ifuatavyo:
// Imesambazwa na leseni ya hiari.
// Itumie kwa njia yoyote unayotaka, faida au bure, mradi inafaa katika leseni za kazi zake zinazohusiana.
// MPL3115A2
// Nambari hii imeundwa kufanya kazi na Moduli ya MPL3115A2_I2CS I2C Mini
# pamoja
# pamoja
// Anwani ya MPL3115A2 I2C ni 0x60 (96)
#fafanua Addr 0x60
kuelea cTemp = 0.0, fTemp = 0.0, shinikizo = 0.0, urefu = 0.0;
muda = 0, tUrefu = 0; pres ya muda mrefu = 0;
kuanzisha batili ()
{
// Weka tofauti
Particle.badilika ("i2cdevice", "MPL3115A2");
Chembe. Hubadilika ("cTemp", cTemp);
Chembe inaweza kubadilika ("shinikizo", shinikizo);
Chembe. Hubadilika ("urefu", urefu);
// Anzisha mawasiliano ya I2C
Wire.begin ();
// Awali Mawasiliano ya Siri, weka kiwango cha baud = 9600
Kuanzia Serial (9600);
// Anzisha usambazaji wa I2C
Uwasilishaji wa waya (Addr);
// Chagua rejista ya kudhibiti
Andika waya (0x26);
// Hali inayotumika, OSR = 128, hali ya altimeter
Andika waya (0xB9);
// Acha usambazaji wa I2C
Uwasilishaji wa waya ();
// Anzisha usambazaji wa I2C
Uwasilishaji wa waya (Addr);
// Chagua rejista ya usanidi wa data
Andika waya (0x13);
// Tukio tayari la data limewezeshwa kwa urefu, shinikizo, joto
Andika waya (0x07);
// Acha usambazaji wa I2C
Uwasilishaji wa waya ();
kuchelewesha (300);
}
kitanzi batili ()
{
data isiyoingia [6];
// Anzisha usambazaji wa I2C
Uwasilishaji wa waya (Addr);
// Chagua rejista ya kudhibiti
Andika waya (0x26);
// Hali inayotumika, OSR = 128, hali ya altimeter
Andika waya (0xB9);
// Acha usambazaji wa I2C
Uwasilishaji wa waya ();
kuchelewesha (1000);
// Anzisha usambazaji wa I2C
Uwasilishaji wa waya (Addr);
// Chagua rejista ya data
Andika waya (0x00);
// Acha usambazaji wa I2C
Uwasilishaji wa waya ();
// Omba ka 6 za data
Ombi la Wire. Toka (Addr, 6);
// Soma ka 6 za data kutoka kwa anwani 0x00 (00)
// hadhi, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
ikiwa (Waya haipatikani () == 6)
{
data [0] = Wire.read ();
data [1] = soma kwa waya ();
data [2] = soma kwa waya ();
data [3] = soma kwa waya ();
data [4] = soma kwa waya ();
data [5] = soma kwa waya ();
}
// Badilisha data iwe 20-bits
tHeight = (((((muda mrefu) data [1] * (ndefu) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16);
temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
urefu = tUrefu / 16.0;
cTemp = (temp / 16.0);
fTemp = cTemp * 1.8 + 32;
// Anzisha usambazaji wa I2C
Uwasilishaji wa waya (Addr);
// Chagua rejista ya kudhibiti
Andika waya (0x26);
// Hali inayotumika, OSR = 128, hali ya barometer
Andika waya (0x39);
// Acha usambazaji wa I2C
Uwasilishaji wa waya ();
// Anzisha usambazaji wa I2C
Uwasilishaji wa waya (Addr);
// Chagua rejista ya data
Andika waya (0x00);
// Acha usambazaji wa I2C
Uwasilishaji wa waya ();
kuchelewesha (1000);
// Omba ka 4 za data
Ombi la Wire. Toka (Addr, 4);
// Soma ka 4 za data
// hadhi, pres msb1, pres msb, pres lsb
ikiwa (Waya haipatikani () == 4)
{
data [0] = Wire.read ();
data [1] = soma kwa waya ();
data [2] = soma kwa waya ();
data [3] = soma kwa waya ();
}
// Badilisha data iwe 20-bits
pres = (((ndefu) data [1] * (ndefu) 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16;
shinikizo = (pres / 4.0) / 1000.0;
// Pato la data kwenye dashibodi
Chembe.chapisha ("Urefu:", Kamba (urefu));
Kuchapisha chembe ("Shinikizo:", Kamba (shinikizo));
Kuchapisha chembe ("Joto katika Celsius:", Kamba (cTemp));
Kuchapisha chembe ("Joto katika Fahrenheit:", Kamba (fTemp));
kuchelewesha (1000);
}
Hatua ya 4: Maombi:
Matumizi anuwai ya MPL3115A2 ni pamoja na Altimetry ya Usahihi wa Juu, Simu za Mkononi / Kompyuta Kibao, Upimaji wa Elektroniki za kibinafsi n.k. Inaweza pia kuingizwa katika Uhesabuji wa Wafu wa GPS, Uboreshaji wa GPS kwa Huduma za Dharura, Msaada wa Ramani, Urambazaji pamoja na Vifaa vya Kituo cha Hali ya Hewa.
Ilipendekeza:
Chembe Photon - TCN75A Mafunzo ya Sensorer ya Joto: Hatua 4
Chembe Photon - TCN75A Mafunzo ya Sensorer ya Joto: TCN75A ni sensorer ya joto ya waya mbili iliyoingizwa na ubadilishaji wa joto-na-dijiti. Imejumuishwa na rejista zinazoweza kupangiliwa na watumiaji ambazo hutoa kubadilika kwa matumizi ya kuhisi joto. Mipangilio ya rejista inaruhusu watumiaji
Chembe Photon - ADT75 Mafunzo ya Sensorer ya Joto: Hatua 4
Chembe ya Picha - Mafunzo ya Sensorer ya Joto la ADT75: ADT75 ni sensorer ya joto ya dijiti iliyo sahihi sana. Inajumuisha sensorer ya joto ya pengo la bendi na analog ya 12-bit kwa kibadilishaji cha dijiti kwa ufuatiliaji na utaftaji wa joto. Sensa yake nyeti sana hufanya iwe na uwezo wa kutosha kwangu
Chembe Photon - Mafunzo ya Sensorer ya Joto la HDC1000: Hatua 4
Chembe ya Photon - Mafunzo ya Sensorer ya Joto la HDC1000: HDC1000 ni sensorer ya unyevu wa dijiti na sensorer ya joto iliyojumuishwa ambayo hutoa usahihi bora wa kipimo kwa nguvu ndogo sana. Kifaa hupima unyevu kulingana na sensorer capacitive sensor. Sensorer unyevu na joto ni uso
Chembe Photon - BH1715 Mafunzo ya sensa ya Nuru iliyoko Dijitali: Hatua 4
Chembe Photon - BH1715 Mafunzo ya sensa ya Mwangaza ya Dijiti: BH1715 ni sensorer ya Nuru iliyoko kwenye dijiti na kiolesura cha basi cha I²C. BH1715 kawaida hutumiwa kupata data ya taa iliyoko kwa kurekebisha umeme wa taa ya LCD na Keypad kwa vifaa vya rununu. Kifaa hiki kinatoa azimio la 16-bit na kiambatisho
Chembe Photon - Mafunzo ya Sensor ya Joto la TMP100: Hatua 4
Particle Photon - Mafunzo ya Sensorer ya Joto la TMP100: TMP100 Usahihi wa Juu, Nguvu-Chini, Sura ya Joto la Joto la Dijiti I2C MINI. TMP100 ni bora kwa kipimo cha joto kilichopanuliwa. Kifaa hiki kinatoa usahihi wa ± 1 ° C bila kuhitaji usuluhishi au hali ya ishara ya sehemu ya nje. Yeye