Përmbajtje:
Video: Pjesë Photon - MPL3115A2 Precision Altimeter Sensor Tutorial: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
MPL3115A2 përdor një sensor presioni MEMS me një ndërfaqe I2C për të siguruar të dhëna të sakta të Presionit/Lartësisë dhe Temperaturës. Daljet e sensorit digjitalizohen nga një ADC me rezolucion të lartë 24-bit. Përpunimi i brendshëm heq detyrat e kompensimit nga sistemi pritës MCU. Shtë i aftë të zbulojë një ndryshim në vetëm 0.05 kPa që barazohet me një ndryshim 0.3m në lartësi. Këtu është demonstrimi i tij me fotonin e grimcave.
Hapi 1: Ajo që ju nevojitet.. !
1. Fotoni i grimcave
2. MPL3115A2
3. Kabllo I²C
4. Mburoja I²C për fotonin e grimcave
Hapi 2: Lidhjet:
Merrni një mburojë I2C për fotonin e grimcave dhe butësisht shtyjeni atë mbi kunjat e fotonit të grimcave.
Pastaj lidhni njërin skaj të kabllit I2C me sensorin MPL3115A2 dhe skajin tjetër me mburojën I2C.
Lidhjet janë treguar në figurën e mësipërme.
Hapi 3: Kodi:
Kodi i grimcave për MPL3115A2 mund të shkarkohet nga depoja jonë Github-Dyqani DCUBE.
Këtu është lidhja.
Ne kemi përdorur dy biblioteka për kodin e grimcave, të cilat janë application.h dhe spark_wiring_i2c.h. Biblioteka Spark_wiring_i2c kërkohet për të lehtësuar komunikimin I2C me sensorin.
Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:
// Shpërndarë me një licencë me vullnet të lirë.
// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.
// MPL3115A2
// Ky kod është krijuar për të punuar me Mini Modulin MPL3115A2_I2CS I2C
#përfshi
#përfshi
// Adresa MPL3115A2 I2C është 0x60 (96)
#përcaktoni Addr 0x60
noton cTemp = 0.0, fTemp = 0.0, presion = 0.0, lartësi = 0.0;
int temp = 0, tHeight = 0; pres i gjatë = 0;
void setup ()
{
// Vendos ndryshoren
Particle.variable ("i2cdevice", "MPL3115A2");
Particle.variable ("cTemp", cTemp);
Grimca. E ndryshueshme ("presion", presion);
Grimca. E ndryshueshme ("lartësi", lartësi);
// Filloni komunikimin I2C
Wire.begin ();
// Filloni Komunikimin Serial, vendosur normën e baudit = 9600
Serial.filloj (9600);
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e kontrollit
Wire.write (0x26);
// Mënyra aktive, OSR = 128, mënyra e lartësimatës
Wire.write (0xB9);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e konfigurimit të të dhënave
Wire.write (0x13);
// Ngjarja e gatshme për të dhëna e aktivizuar për lartësinë, presionin, temperaturën
Wire.write (0x07);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
vonesë (300);
}
lak void ()
{
të dhëna int të panënshkruara [6];
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e kontrollit
Wire.write (0x26);
// Mënyra aktive, OSR = 128, mënyra e lartësimatës
Wire.write (0xB9);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
vonesa (1000);
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidh regjistrin e të dhënave
Wire.write (0x00);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
// Kërkoni 6 bajt të dhëna
Tela. Kërkohet Nga (Addr, 6);
// Lexoni 6 bajt të dhëna nga adresa 0x00 (00)
// statusi, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
nëse (Wire. në dispozicion () == 6)
{
të dhëna [0] = Wire.read ();
të dhëna [1] = Wire.read ();
të dhëna [2] = Wire.read ();
të dhëna [3] = Wire.read ();
të dhëna [4] = Wire.read ();
të dhëna [5] = Wire.read ();
}
// Shndërroni të dhënat në 20-bit
tHeight = ((((të gjata) të dhënat [1] * (gjatë) 65536) + (të dhënat [2] * 256) + (të dhënat [3] & 0xF0)) / 16);
temp = ((të dhënat [4] * 256) + (të dhënat [5] & 0xF0)) / 16;
lartësi = tHeight / 16.0;
cTemp = (temp / 16.0);
fTemp = cTemp * 1.8 + 32;
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidhni regjistrin e kontrollit
Wire.write (0x26);
// Mënyra aktive, OSR = 128, mënyra e barometrit
Wire.write (0x39);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
// Filloni transmetimin I2C
Wire.beginTransmetimi (Addr);
// Zgjidh regjistrin e të dhënave
Wire.write (0x00);
// Ndaloni transmetimin I2C
Wire.endTransmission ();
vonesa (1000);
// Kërkoni 4 bajt të dhëna
Tela. Kërkohet Nga (Addr, 4);
// Lexoni 4 bajt të dhëna
// statusi, pres msb1, pres msb, pres lsb
nëse (Wire. në dispozicion () == 4)
{
të dhëna [0] = Wire.read ();
të dhëna [1] = Wire.read ();
të dhëna [2] = Wire.read ();
të dhëna [3] = Wire.read ();
}
// Shndërroni të dhënat në 20-bit
pres = (((e gjatë) të dhëna [1] * (e gjatë) 65536) + (të dhëna [2] * 256) + (të dhëna [3] & 0xF0)) / 16;
presion = (pres / 4.0) / 1000.0;
// Dalja e të dhënave në pult
Particle.publish ("Lartësia mbidetare:", Vargu (lartësia));
Particle.publish ("Presioni:", String (presion));
Particle.publish ("Temperatura në Celsius:", String (cTemp));
Particle.publish ("Temperatura në Fahrenheit:", String (fTemp));
vonesa (1000);
}
Hapi 4: Aplikimet:
Aplikime të ndryshme të MPL3115A2 përfshijnë Altimetri të Saktësisë së Lartë, Smartphone/Tableta, Elektronikë Personale Altimetri etj. Gjithashtu mund të inkorporohet në llogaritjen e vdekur të GPS, Përmirësimi i GPS për Shërbimet e Emergjencave, Ndihma në Hartë, Lundrimi si dhe Pajisjet e Stacionit Moti.
Recommended:
Pjesë Photon - TCN75A Sensori i Temperaturës Tutorial: 4 Hapa
Pjesë Photon-TCN75A Sensori i Temperaturës Tutorial: TCN75A është një sensor i temperaturës serike me dy tela i përfshirë me konvertuesin e temperaturës në dixhital. Shtë inkorporuar me regjistra të programueshëm të përdoruesve që ofrojnë fleksibilitet për aplikimet që ndjejnë temperaturën. Cilësimet e regjistrit lejojnë përdoruesit
Pjesë Photon - ADT75 Sensori i Temperaturës Tutorial: 4 Hapa
Foto Particle - ADT75 Tutorial i Sensorit të Temperaturës: ADT75 është një sensor dixhital i temperaturës shumë i saktë. Përbëhet nga një sensor i temperaturës së hendekut të brezit dhe një konvertues analog në dixhital 12-bit për monitorimin dhe digjitalizimin e temperaturës. Sensori i tij shumë i ndjeshëm e bën atë mjaft kompetent për mua
Pjesë Photon - STS21 Temperatura Sensor Tutorial: 4 hapa
Pjesë Photon - STS21 Temperatura Sensor Tutorial: Sensori i Temperaturës Dixhitale STS21 ofron performancë superiore dhe një hapësirë që kursen hapësirë. Ai siguron sinjale të kalibruara, të linearizuara në formatin digjital, I2C. Prodhimi i këtij sensori bazohet në teknologjinë CMOSens, e cila i atribuohet eprorit
Pjesë Photon - HDC1000 Sensori i Temperaturës Tutorial: 4 Hapa
Pjesë Fotoni - HDC1000 Sensori i Temperaturës Tutorial: HDC1000 është një sensor dixhital i lagështisë me sensor të integruar të temperaturës që siguron saktësi të shkëlqyeshme të matjes me fuqi shumë të ulët. Pajisja mat lagështinë bazuar në një sensor të ri kapacitiv. Sensorët e lagështisë dhe temperaturës janë të dukshme
Pjesë Photon - TMP100 Sensori i Temperaturës Tutorial: 4 Hapa
Pjesë Photon-TMP100 Sensori i Temperaturës Tutorial: TMP100 Sensori i Saktësisë së Lartë, me Fuqi të Ulët, Sensori i Temperaturës Dixhitale I2C MINI. TMP100 është ideale për matjen e zgjatur të temperaturës. Kjo pajisje ofron një saktësi prej ± 1 ° C pa kërkuar kalibrim ose kondicionim të sinjalit të komponentit të jashtëm. Ai