Mündəricat:

MPL3115A2 ilə Raspberry Pi istifadə edərək yüksəklik, təzyiq və temperatur: 6 addım
MPL3115A2 ilə Raspberry Pi istifadə edərək yüksəklik, təzyiq və temperatur: 6 addım

Video: MPL3115A2 ilə Raspberry Pi istifadə edərək yüksəklik, təzyiq və temperatur: 6 addım

Video: MPL3115A2 ilə Raspberry Pi istifadə edərək yüksəklik, təzyiq və temperatur: 6 addım
Video: Measuring altitude using arduino and MPL3115A2 2024, Iyul
Anonim
MPL3115A2 ilə Raspberry Pi istifadə edərək yüksəklik, təzyiq və temperatur
MPL3115A2 ilə Raspberry Pi istifadə edərək yüksəklik, təzyiq və temperatur
MPL3115A2 ilə Raspberry Pi istifadə edərək yüksəklik, təzyiq və temperatur
MPL3115A2 ilə Raspberry Pi istifadə edərək yüksəklik, təzyiq və temperatur

Maraqlı səslənir. Hamımızın IoT nəslinə girdiyimiz bu dövrdə olduqca mümkündür. Bir elektronika qəribəsi olaraq, Raspberry Pi ilə oynadıq və bu bilikdən istifadə edərək maraqlı layihələr etmək qərarına gəldik. Bu layihədə Raspberry Pi istifadə edərək hündürlüyü, hava təzyiqini, temperaturu ölçəcəyik. Beləliklə, sənədləşmə gedir (həmişə dəyişdirilir və genişləndirilir). Təlimatları yerinə yetirməyi və kodu kopyalamağı məsləhət görürük. Daha sonra təcrübə edə bilərsiniz. Beləliklə, başlayaq.

Addım 1: Ehtiyacımız olan təcili avadanlıq

Ehtiyac duyduğumuz təcili avadanlıqlar
Ehtiyac duyduğumuz təcili avadanlıqlar
Ehtiyac duyduğumuz təcili avadanlıqlar
Ehtiyac duyduğumuz təcili avadanlıqlar
Ehtiyac duyduğumuz təcili avadanlıqlar
Ehtiyac duyduğumuz təcili avadanlıqlar
Ehtiyac duyduğumuz təcili avadanlıqlar
Ehtiyac duyduğumuz təcili avadanlıqlar

1. Moruq Pi

İlk addım bir Raspberry Pi lövhəsi əldə etmək idi. Biz özümüzü aldıq, siz də. Dərsliklərdən öyrənməyə başladıq, skript və əlaqə anlayışlarını anladıq və sonra öyrəndik. Bu kiçik dahi həvəskarlar, müəllimlər və yenilikçi mühitlər yaratmaq üçün ortaqdır.

2. Raspberry Pi üçün I²C Shield

INPI2 (I2C adapteri) birdən çox I2C cihazı ilə istifadə üçün Raspberry Pi 2/3 və I²C portunu təmin edir. Dcube Mağazasında mövcuddur

3. Altimetr, Təzyiq və Temperatur Sensoru, MPL3115A2

MPL3115A2, təzyiq/yüksəklik və temperatur məlumatları vermək üçün I²C interfeysli MEMS təzyiq sensoru. Bu sensor ünsiyyət üçün I²C protokolundan istifadə edir. Bu sensoru Dcube Mağazasından aldıq

4. Bağlayıcı Kabel

Dcube Store -da I2C birləşdirən kabelimiz var idi

5. Mikro USB kabeli

Mikro USB kabel Güc təchizatı, Raspberry Pi -ni gücləndirmək üçün ideal seçimdir.

6. İnternetə çıxışın genişləndirilməsi - Ethernet Kabeli/WiFi Adapteri

Bu dövrdə hər şeyə giriş əldə etmək üçün internet bağlantısı lazımdır (demək olar ki, offline həyat olduğu kimi). Beləliklə, İnternet bağlantısı qurmaq üçün LAN kabelindən və ya Simsiz Nano USB Adaptöründən (WiFi) istifadə edərək Rasp Pi -ni rahatlıqla və heç bir problem olmadan istifadə edə bilərik.

7. HDMI Kabeli (İsteğe bağlı, Seçdiyiniz)

Bir az çətindir. İstəyirsinizsə və ya PC/Laptopunuzla başsız bir Pi bağlantısı quraraq özünüzə çox qənaətcil olsanız başqa bir Monitor bağlamaq gücünə sahib ola bilərsiniz.

Addım 2: Dövrəni Bir araya gətirmək üçün Avadanlıq Bağlantıları

Dövrəni Bir araya gətirmək üçün Avadanlıq Bağlantıları
Dövrəni Bir araya gətirmək üçün Avadanlıq Bağlantıları
Dövrəni Bir araya gətirmək üçün Avadanlıq Bağlantıları
Dövrəni Bir araya gətirmək üçün Avadanlıq Bağlantıları

Göstərilən sxemə görə dövrə qurun. Ümumiyyətlə əlaqələr çox sadədir. Təlimatları və şəkilləri izləyin və heç bir probleminiz olmayacaq.

Planlaşdırarkən, biz aparat və kodlaşdırma ilə yanaşı elektronikanın əsaslarını da nəzərdən keçirdik. Bu layihə üçün sadə bir elektronika sxemini hazırlamaq istədik. Diaqramda, I²C ünsiyyət protokollarından sonra fərqli hissələri, güc komponentlərini və I²C sensorunu görə bilərsiniz. İnşallah, bu, bu layihə üçün elektronikanın nə qədər sadə olduğunu göstərir.

Raspberry Pi və I2C Shield bağlantısı

Əvvəlcə Raspberry Pi götürün və üzərinə I²C Shield qoyun. Qalxanı yumşaq bir şəkildə basın (Şəkilə baxın).

Sensor və Raspberry Pi -nin əlaqəsi

Sensoru götürün və I²C kabelini onunla bağlayın. I²C Çıxışının DAİMA I²C Girişinə qoşulduğundan əmin olun. Üzərində I²C qalxanı olan Raspberry Pi -nin ardınca gedən tərəfimizdə I²C Shield və I²C birləşdirən kabellər çox böyük bir üstünlük olaraq qalır, çünki yalnız plug -play seçimi qalır. Artıq sancaqlar və naqillər problemi yoxdur və buna görə də qarışıqlıq aradan qalxdı. Özünüzü tellər şəbəkəsində təsəvvür etmək və ona girmək nə qədər rahatdır. Sadəcə qeyd etdiyimiz sadə prosesdir.

Qeyd: Qəhvəyi tel həmişə bir cihazın çıxışı ilə digər cihazın girişi arasındakı Ground (GND) bağlantısını izləməlidir

İnternet Bağlantısı çox vacibdir

Əslində burada seçiminiz var. Raspberry Pi -ni LAN kabeli və ya WiFi Bağlantısı üçün simsiz Nano USB Adaptoru ilə bağlaya bilərsiniz. Hər halda, əsas məqsədi İnternetə qoşulmaq idi.

Dövrün Gücü

Micro USB kabelini Raspberry Pi -nin elektrik prizinə qoşun. Yandırın və getməyimiz yaxşıdır.

Ekrana keçid

Ya HDMI kabelini yeni bir monitora bağlaya bilərik, ya da SSH/PuTTY kimi uzaqdan girişdən istifadə edərək yaradıcı və qənaətcil başsız Pi qura bilərik. (Gizli bir təşkilat kimi maliyyələşdirilmədiyimizi bilirəm)

Addım 3: Pythonda Raspberry Pi Proqramlaşdırması

Pythonda Raspberry Pi Proqramlaşdırma
Pythonda Raspberry Pi Proqramlaşdırma

Raspberry Pi və MPL3115A2 Sensor üçün Python kodu. Github depomuzda mövcuddur.

Kodu işə salmadan əvvəl, Readme faylında verilən təlimatları oxuduğunuzdan və Raspberry Pi -ni ona uyğun olaraq qurduğunuzdan əmin olun. Bunu etmək üçün bir az vaxt lazım olacaq.

Hündürlük aşağıdakı tənlikdən istifadə edərək təzyiqdən hesablanır:

h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Qeyd Dəyəri)

Burada p0 = dəniz səviyyəsindəki təzyiq (101326 Pa) və h metrlərlədir. MPL3115A2 ofset reyestri hər LSB üçün 2 Paskal olaraq təyin olunduğundan bu dəyəri istifadə edir.

Kod aydın şəkildə qarşınızdadır və xəyal edə biləcəyiniz ən sadə formadadır və heç bir problem yaşamamalısınız.

Bu sensor üçün işləyən Python kodunu buradan da kopyalaya bilərsiniz.

# Sərbəst iradə lisenziyası ilə paylanmışdır.# İstənilən şəkildə, mənfəət və ya pulsuz olaraq, əlaqəli işlərin lisenziyalarına uyğun olması şərtilə istifadə edin. # MPL3115A2 # Bu kod ControlEverything.com saytında mövcud olan MPL3115A2_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır. #

smbus idxal edin

idxal vaxtı

# I2C avtobusu alın

avtobus = smbus. SMBus (1)

# MPL3115A2 ünvanı, 0x60 (96)

# İdarəetmə qeydini seçin, 0x26 (38) # 0xB9 (185) Aktiv rejim, OSR = 128, Altimetr rejimi bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 ünvanı, 0x60 (96) # Məlumat konfiqurasiya qeydini seçin, 0x13 (19)) # 0x07 (07) Hündürlük, təzyiq, temperatur busu üçün aktiv olan məlumatlara hazır hadisə.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 ünvanı, 0x60 (96) # İdarəetmə qeydini seçin, 0x26 (38) # 0xB9 (185) Aktiv rejim, OSR = 128, Altimetr rejimi bus.write_byte_data (0x60, 0x26, 0xB9)

vaxt.yuxu (1)

# MPL3115A2 ünvanı, 0x60 (96)

# 0x00 (00), 6 bayt # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Məlumatı 20 bitə çevirin

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 yüksəklik = tHeight / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32

# MPL3115A2 ünvanı, 0x60 (96)

# İdarəetmə qeydini seçin, 0x26 (38) # 0x39 (57) Aktiv rejim, OSR = 128, Barometr rejimi bus.write_byte_data (0x60, 0x26, 0x39)

vaxt.yuxu (1)

# MPL3115A2 ünvanı, 0x60 (96)

# 0x00 (00), 4 bayt # status, MSB1 pres, MSB pres, LSB data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Məlumatı 20 bitə çevirin

pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 təzyiq = (pres / 4.0) / 1000.0

# Ekrana məlumat çıxarın

çap "Təzyiq: %.2f kPa" %təzyiq çapı "Yüksəklik: %.2f m" %yüksəklik çapı "Selsi İstiliyi: %.2f C" %cTemp çapı "Fahrenheitdə Temperatur: %.2f F" %fTemp

Addım 4: Kodun Praktikliyi (Test)

Kodun Praktikliyi (Test)
Kodun Praktikliyi (Test)

İndi kodu yükləyin (və ya git pull) və Raspberry Pi -də açın.

Kodu tərtib etmək və terminala yükləmək üçün əmrləri işlədin və Monitorda çıxışı görün. Bir neçə saniyə sonra bütün parametrləri göstərəcək. Hər şeyin problemsiz işlədiyinə əmin olduqdan sonra bu layihəni daha böyük bir layihəyə götürə bilərsiniz.

Addım 5: Tətbiqlər və Xüsusiyyətlər

MPL3115A2 Precision Altimeter I²C sensorunun ümumi istifadəsi Xəritə (Map Assist, Navigation), Magnetic Compass, or GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), High Accuracy Altimetry, Smartfon/Tablet, Personal Electronics Altimetry kimi tətbiqlərdədir. və Peyklər (Hava Stansiyası Avadanlıqları/Proqnozlaşdırma).

Məsələn Raspberry Pi istifadə edərək hündürlüyü, hava təzyiqini və temperaturu ölçən Fərdi Elektronik Altimetr hazırlamaq üçün bir layihə. Fərdi Elektronik Altimetr qurmaq üçün olduqca sürətli bir layihədir. Bütün hissələriniz varsa və improvizasiya etməsəniz, bir neçə dəqiqə çəkəcək (əlbəttə edə bilərsiniz!). Təzyiq altimetri əksər təyyarələrdə olan bir altimetrdir və göydələnlər oxşar məqsədlər üçün biləyə quraşdırılmış versiyalardan istifadə edirlər. Yürüyüşçülər və alpinistlər bilək və ya əllə tutulan altimetrlərdən istifadə edirlər.

Addım 6: Nəticə

Ümid edirik ki, bu layihə daha çox sınaqlara ilham verəcək. Bu I²C sensoru inanılmaz dərəcədə çox yönlü, ucuz və əlçatandır. Son dərəcə dəyişkən bir proqram olduğundan, bu layihəni genişləndirmək və daha da yaxşılaşdırmaq üçün maraqlı yollar var. Məsələn, altimetr off-road avtomobillərində naviqasiyaya kömək etmək üçün isteğe bağlı bir alətdir. Asfalt yolları tərk etməyi düşünməyən bəzi yüksək performanslı lüks avtomobillər bu texnologiyadan istifadə edir. Rahatlığınız üçün YouTube -da araşdırmalarınıza kömək edə biləcək maraqlı bir video dərsimiz var. Ümid edirik ki, bu layihə daha çox sınaqlara ilham verəcək.

Tövsiyə: