Mündəricat:

Raspberry Pi istifadə edərək, MPL3115A2 ilə Yüksəkliyi, Təzyiqi və Temperaturu Ölçün: 6 Addım
Raspberry Pi istifadə edərək, MPL3115A2 ilə Yüksəkliyi, Təzyiqi və Temperaturu Ölçün: 6 Addım

Video: Raspberry Pi istifadə edərək, MPL3115A2 ilə Yüksəkliyi, Təzyiqi və Temperaturu Ölçün: 6 Addım

Video: Raspberry Pi istifadə edərək, MPL3115A2 ilə Yüksəkliyi, Təzyiqi və Temperaturu Ölçün: 6 Addım
Video: Supervised Home Assistant. RaspiOS 64-də asan quraşdırma - Argon One M.2 qutusunda Raspberry PI 4B 2024, Noyabr
Anonim
Image
Image
Ehtiyac duyduğumuz əvəzolunmaz avadanlıqlar
Ehtiyac duyduğumuz əvəzolunmaz avadanlıqlar

Nəyə sahib olduğunuzu və nəyə sahib olduğunuzu bilin

Maraqlıdır. Bir çox yeni tətbiqə girən İnternet Avtomatlaşdırma əsrində yaşayırıq. Kompüter və elektronika həvəskarları olaraq, Raspberry Pi ilə çox şey öyrəndik və maraqlarımızı qarışdırmağa qərar verdik. I²C əlaqələri və Proqram Quraşdırması ilə yeni tanışsınızsa bu layihə təxminən bir saat çəkir və Java -da Raspberry Pi ilə MPL3115A2 imkanlarını genişləndirmək üçün əla bir yoldur.

Addım 1: Ehtiyac duyduğumuz əvəzedilməz avadanlıq

Ehtiyac duyduğumuz əvəzolunmaz avadanlıqlar
Ehtiyac duyduğumuz əvəzolunmaz avadanlıqlar
Ehtiyac duyduğumuz əvəzolunmaz avadanlıqlar
Ehtiyac duyduğumuz əvəzolunmaz avadanlıqlar
Ehtiyac duyduğumuz əvəzolunmaz avadanlıqlar
Ehtiyac duyduğumuz əvəzolunmaz avadanlıqlar

1. Moruq Pi

İlk addım bir Raspberry Pi lövhəsi əldə etmək idi. Bu kiçik dahi həvəskarlar, müəllimlər və yenilikçi mühit yaratmaqda istifadə olunur.

2. Raspberry Pi üçün I2C 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²2 protokolundan istifadə edir. Bu sensoru Dcube Mağazasından aldıq.

4. Bağlayıcı Kabel

Dcube Store -da mövcud olan I²C birləşdirmə kabelindən istifadə etdik.

5. Mikro USB kabeli

Raspberry Pi mikro USB təchizatı ilə təchiz edilmişdir.

6. İnternetə Gücləndirmə - Ethernet Kabeli/WiFi Modulu

Etmək istədiyiniz ilk şeylərdən biri Raspberry Pi -ni İnternetə bağlamaqdır. Bir Ethernet kabeli və ya Simsiz USB Nano WiFi adapteri ilə qoşula bilərsiniz.

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

HDMI kabelindən istifadə edərək Raspberry Pi -ni bir monitora qoşa bilərsiniz. Ayrıca, SSH/PuTTY istifadə edərək Raspberry Pi -yə uzaqdan daxil 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 olduqca sadədir. Yuxarıdakı təlimatları və şəkilləri izləyin və heç bir problem yaşamamalısınız. 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ı

Bunun üçün Raspberry Pi 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. Bu qədər sadə!

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ı Əhəmiyyətlidir

Layihəmizin uğur qazanması üçün Raspberry Pi üçün internetə ehtiyacımız var. Burada Ethernet (LAN) kabelini bağlamaq kimi seçimləriniz var. Ayrıca, bir WiFi adapterindən istifadə etmək üçün alternativ, lakin təsir edici bir yol olaraq.

Dövrün Gücü

Micro USB kabelini Raspberry Pi -nin elektrik prizinə qoşun. Açın və voila, biz getmək üçün yaxşı!

Ekrana keçid

Ya HDMI kabelini monitora qoşa bilərik, ya da birtəhər həvəskar olduğumuz üçün əlavə xərcləri azaltmağa kömək edən başsız Pi (-SSH/PuTTY istifadə edərək) etmək üçün bir az yenilikçi ola bilərik.

Vərdiş pul xərcləməyə başlayanda buna hobi deyilir

Addım 3: Java -da Raspberry Pi Proqramlaşdırması

Java -da Raspberry Pi Proqramlaşdırma
Java -da Raspberry Pi Proqramlaşdırma

Raspberry Pi və MPL3115A2 Sensoru üçün Java 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. 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ə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 Java kodunu buradan da kopyalaya bilərsiniz.

// Azad iradə lisenziyası ilə paylanmışdır. // 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. //

com.pi4j.io.i2c. I2CBus idxal edin;

com.pi4j.io.i2c. I2CDevice idxal edin; com.pi4j.io.i2c. I2CFactory idxal edin; java.io. IOException idxal edin;

ictimai sinif MPL3115A2

{public static void main (String args ) istisnalar atır {// I2C avtobusu yaradın I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C cihazı alın, MPL3115A2 I2C ünvanı 0x60 (96) I2CDevice cihazı = Bus.getDevice (0x60); // İdarəetmə qeydini seçin // Aktiv rejim, OSR = 128, altimetr rejimi cihazı.write (0x26, (bayt) 0xB9); // Məlumat konfiqurasiya reyestrini seçin // Hündürlük, təzyiq, temperatur cihazı üçün aktiv olan Məlumata hazırlıq hadisəsi.write (0x13, (bayt) 0x07); // İdarəetmə qeydini seçin // Aktiv rejim, OSR = 128, altimetr rejimi cihazı.write (0x26, (bayt) 0xB9); Thread.sleep (1000);

// 0x00 (00) ünvanından 6 bayt məlumat oxuyun

// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb bayt data = yeni bayt [6]; device.read (0x00, data, 0, 6);

// Məlumatı 20 bitə çevirin

int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16); int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16; ikiqat hündürlük = tHeight / 16.0; ikiqat cTemp = (temp / 16.0); ikiqat fTemp = cTemp * 1.8 + 32;

// Nəzarət reyestrini seçin

// Aktiv rejim, OSR = 128, barometr rejimi cihazı. Yaz (0x26, (bayt) 0x39); Thread.sleep (1000); // 0x00 (00) ünvanından 4 bayt məlumat oxuyun // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);

// Məlumatı 20 bitə çevirin

int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16; ikiqat təzyiq = (pres / 4.0) / 1000.0; // System.out.printf ekranına çıxış məlumatları ("Təzyiq: %.2f kPa %n", təzyiq); System.out.printf ("Hündürlük: %.2f m %n", yüksəklik); System.out.printf ("Selsi İstiliyi: %.2f C %n", cTemp); System.out.printf ("Fahrenheitdəki temperatur: %.2f F %n", fTemp); }}

Addım 4: Kodun Praktikliyi (İşləyir)

Məcəllənin praktikliyi (işlək)
Məcəllənin praktikliyi (işlək)

İndi kodu yükləyin (və ya git pull) və Raspberry Pi -də açın. Kodu yığmaq 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 sensorunun ümumi istifadəsi Xəritə (Map Assist, Navigation), Magnetic Compass, or GPS (GPS Dead Reckoning, GPS Enhancement for Emergency Services), High Accuracy Altimetry, Smartphones/Tablet, Personal Electronics Altimetry və Peyklər (Hava Stansiyası Avadanlıqları/Proqnozlaşdırma).

Məsələn Bu sensordan və Rasp Pi -dən istifadə edərək hündürlüyü, hava təzyiqini və temperaturu ölçə bilən ən vacib skydiving avadanlığı olan Digital Visual Altimeter qura bilərsiniz. Külək doku və digər sensorlar əlavə edə bilərsiniz, buna görə daha maraqlı olsun.

Addım 6: Nəticə

Proqram inanılmaz dərəcədə fərdiləşdirilə bildiyindən, bu layihəni genişləndirmək və daha da yaxşılaşdırmaq üçün bir çox maraqlı yol var. Məsələn, bir altimetr/interferometr eyni vaxtda ölçülər əldə edəcək dirəklərə quraşdırılmış bir neçə altimetrdən ibarət olacaq ki, bu da davamlı, tək və ya çox altimetrlik geniş sahəni əhatə edir. YouTube -da bu layihəni daha yaxşı başa düşməyinizə kömək edəcək maraqlı bir video dərsimiz var.

Tövsiyə: