![Arduino Nano - MPL3115A2 Həssas Altimetr Sensoru Dərsliyi: 4 addım Arduino Nano - MPL3115A2 Həssas Altimetr Sensoru Dərsliyi: 4 addım](https://i.howwhatproduce.com/images/002/image-3723-13-j.webp)
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:54
![Image Image](https://i.howwhatproduce.com/images/002/image-3723-15-j.webp)
![](https://i.ytimg.com/vi/1SQNlzMTexM/hqdefault.jpg)
MPL3115A2, dəqiq təzyiq/yüksəklik və temperatur məlumatlarını təmin etmək üçün I2C interfeysi olan bir MEMS təzyiq sensoru istifadə edir. Sensor çıxışları yüksək keyfiyyətli 24 bitlik ADC ilə rəqəmsallaşdırılır. Daxili emal, kompensasiya vəzifələrini ana MCU sistemindən çıxarır. Hündürlükdə 0.3m dəyişikliyə bərabər olan yalnız 0.05 kPa dəyişikliyi aşkar edə bilir. İşdə Arduino Nano ilə nümayişidir.
Addım 1: Nə Lazımdır..
![Nə Lazımdır.. !! Nə Lazımdır.. !!](https://i.howwhatproduce.com/images/002/image-3723-16-j.webp)
1. Arduino Nano
2. MPL3115A2
3. I²C Kabel
4. Arduino Nano üçün I²C Shield
Addım 2: Bağlantılar:
![Əlaqələr Əlaqələr](https://i.howwhatproduce.com/images/002/image-3723-17-j.webp)
![Əlaqələr Əlaqələr](https://i.howwhatproduce.com/images/002/image-3723-18-j.webp)
![Əlaqələr Əlaqələr](https://i.howwhatproduce.com/images/002/image-3723-19-j.webp)
![Əlaqələr Əlaqələr](https://i.howwhatproduce.com/images/002/image-3723-20-j.webp)
Arduino Nano üçün bir I2C qalxanı götürün və Nanonun sancaqlarından yumşaq bir şəkildə itələyin.
Sonra I2C kabelinin bir ucunu MPL3115A2 sensoruna, digər ucunu isə I2C ekranına bağlayın.
Bağlantılar yuxarıdakı şəkildə göstərilmişdir.
Addım 3: Kod:
![Kod Kod](https://i.howwhatproduce.com/images/002/image-3723-21-j.webp)
MPL3115A2 üçün arduino kodu github depomuzdan yükləyə bilərsiniz-DCUBE Mağazası.
İşdə bunun üçün bağlantı:
github.com/DcubeTechVentures/MPL3115A2/blob/master/Arduino/MPL3115A2.ino
Sensorun Arduino lövhəsi ilə I2c əlaqəsini asanlaşdırmaq üçün Wire.h kitabxanasına daxildir.
Kodu buradan da kopyalaya bilərsiniz, belə verilir:
// Azad iradə lisenziyası ilə paylanmışdır.
// İstənilən şəkildə, mənfəət və ya pulsuz istifadə edin, əlaqəli əsərlərinin lisenziyalarına uyğun gəlir.
// MPL3115A2
// Bu kod MPL3115A2_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır
#daxil edin
// MPL3115A2 I2C ünvanı 0x60 (96)
#Addr 0x60
boş quraşdırma ()
{
// I2C ünsiyyətini işə salın
Wire.begin ();
// Serial Rabitəni Başlatın, baud dərəcəsini = 9600 olaraq təyin edin
Serial.begin (9600);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Nəzarət reyestrini seçin
Wire.write (0x26);
// Aktiv rejim, OSR = 128, altimetr rejimi
Wire.write (0xB9);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat konfiqurasiya qeydini seçin
Wire.write (0x13);
// Hündürlük, təzyiq, temperatur üçün məlumatlara hazır hadisə aktivdir
Wire.write (0x07);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (300);
}
boşluq döngəsi ()
{
imzasız int məlumatları [6];
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Nəzarət reyestrini seçin
Wire.write (0x26);
// Aktiv rejim, OSR = 128, altimetr rejimi
Wire.write (0xB9);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (1000);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat qeydini seçin
Wire.write (0x00);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 6 bayt məlumat tələb edin
Wire.requestFrom (Addr, 6);
// 0x00 (00) ünvanından 6 bayt məlumat oxuyun
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb
əgər (Tel.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 ();
}
// Məlumatı 20 bitə çevirin
int tHeight = (((uzun) (məlumat [1] * (uzun) 65536) + (məlumat [2] * 256) + (məlumat [3] & 0xF0)) / 16);
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16;
üzmə hündürlüyü = tHeight / 16.0;
float cTemp = (temp / 16.0);
float fTemp = cTemp * 1.8 + 32;
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Nəzarət reyestrini seçin
Wire.write (0x26);
// Aktiv rejim, OSR = 128, barometr rejimi
Wire.write (0x39);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (1000);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat qeydini seçin
Wire.write (0x00);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 4 bayt məlumat tələb edin
Wire.requestFrom (Addr, 4);
// 4 bayt məlumat oxuyun
// status, pres msb1, pres msb, pres lsb
əgər (Tel.available () == 4)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
}
// Məlumatı 20 bitə çevirin
uzun pres = (((uzun) məlumatlar [1] * (uzun) 65536) + (məlumatlar [2] * 256) + (məlumatlar [3] & 0xF0)) / 16;
üzən təzyiq = (pres / 4.0) / 1000.0;
// Məlumatların serial monitora çıxarılması
Serial.print ("Hündürlük:");
Serial. çap (yüksəklik);
Serial.println ("m");
Serial.print ("Təzyiq:");
Serial. çap (təzyiq);
Serial.println ("kPa");
Serial.print ("Selsi temperaturu:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Fahrenheitdəki temperatur:");
Serial.print (fTemp);
Serial.println ("F");
gecikmə (500);
}
Addım 4: Tətbiqlər:
MPL3115A2 -nin müxtəlif tətbiqlərinə Yüksək Dəqiqlik Altimetriyası, Smartfonlar/Tabletlər, Fərdi Elektronik Altimetriya və s. Daxildir. O, həmçinin GPS Ölü Hesablama, Təcili Xidmətlər üçün GPS Artırması, Xəritə Köməkçisi, Naviqasiya və Hava İstismarı Avadanlıqlarına daxil edilə bilər.
Tövsiyə:
Arduino Nano - HTS221 Nisbi Nəmlik və İstilik Sensoru Dərsliyi: 4 addım
![Arduino Nano - HTS221 Nisbi Nəmlik və İstilik Sensoru Dərsliyi: 4 addım Arduino Nano - HTS221 Nisbi Nəmlik və İstilik Sensoru Dərsliyi: 4 addım](https://i.howwhatproduce.com/images/010/image-27332-j.webp)
Arduino Nano - HTS221 Nisbi Nəmlik və Temperatur Sensoru Dərsliyi: HTS221 nisbi rütubət və temperatur üçün ultra kompakt bir kapasitiv rəqəmsal sensordur. Ölçmə məlumatlarını rəqəmsal serial vasitəsilə təmin etmək üçün bir hissedici element və qarışıq siqnal tətbiqinə xüsusi inteqrasiya edilmiş dövrə (ASIC) daxildir
Arduino Nano - SI7050 Temperatur Sensoru Dərsliyi: 4 addım
![Arduino Nano - SI7050 Temperatur Sensoru Dərsliyi: 4 addım Arduino Nano - SI7050 Temperatur Sensoru Dərsliyi: 4 addım](https://i.howwhatproduce.com/images/010/image-27333-j.webp)
Arduino Nano - SI7050 Temperatur Sensor Dərsliyi: SI7050, I2C rabitə protokolu üzərində işləyən və bütün işləmə gərginliyi və temperatur aralığında yüksək dəqiqlik təqdim edən rəqəmsal bir temperatur sensoru. Sensorun bu yüksək dəqiqliyi yeni siqnal emalı və anal
Arduino Nano - TCN75A İstilik Sensoru Dərsliyi: 4 addım
![Arduino Nano - TCN75A İstilik Sensoru Dərsliyi: 4 addım Arduino Nano - TCN75A İstilik Sensoru Dərsliyi: 4 addım](https://i.howwhatproduce.com/images/010/image-27340-j.webp)
Arduino Nano-TCN75A Temperatur Sensor Dərsliyi: TCN75A, temperaturdan rəqəmsal çeviriciyə daxil edilmiş iki telli serial temperatur sensordur. İstilik algılama tətbiqləri üçün rahatlıq təmin edən istifadəçi tərəfindən proqramlaşdırıla bilən qeydlər ilə birləşdirilmişdir. Qeyd ayarları istifadəçilərə imkan verir
Arduino Nano - STS21 Temperatur Sensoru Dərsliyi: 4 addım
![Arduino Nano - STS21 Temperatur Sensoru Dərsliyi: 4 addım Arduino Nano - STS21 Temperatur Sensoru Dərsliyi: 4 addım](https://i.howwhatproduce.com/images/010/image-27341-j.webp)
Arduino Nano - STS21 Temperatur Sensor Dərsliyi: STS21 Rəqəmsal Temperatur Sensoru üstün performans və yer qənaət edən ayaq izi təqdim edir. Rəqəmsal, I2C formatında kalibrlənmiş, xətti siqnallar verir. Bu sensorun istehsalı CMOSens texnologiyasına əsaslanaraq üstün xüsusiyyətlərə malikdir
Arduino Nano - TMP100 Temperatur Sensoru Dərsliyi: 4 addım
![Arduino Nano - TMP100 Temperatur Sensoru Dərsliyi: 4 addım Arduino Nano - TMP100 Temperatur Sensoru Dərsliyi: 4 addım](https://i.howwhatproduce.com/images/010/image-27343-j.webp)
Arduino Nano-TMP100 Temperatur Sensor Dərsliyi: TMP100 Yüksək Dəqiqlik, Aşağı Güc, Rəqəmsal Temperatur Sensoru I2C MINI modulu. TMP100 uzun müddətli temperatur ölçümü üçün idealdır. Bu cihaz, kalibrləmə və ya xarici komponent siqnal kondisioneri tələb etmədən ± 1 ° C dəqiqlik təqdim edir. O