Mündəricat:
- Addım 1: Ehtiyac duyduğumuz əvəzedilməz avadanlıq
- Addım 2: Dövrəni Bir araya gətirmək üçün Avadanlıq Bağlantıları
- Addım 3: Java -da Raspberry Pi Proqramlaşdırması
- Addım 4: Kodun Praktikliyi (İşləyir)
- Addım 5: Tətbiqlər və Xüsusiyyətlər
- Addım 6: Nəticə
Video: Raspberry Pi istifadə edərək, MPL3115A2 ilə Yüksəkliyi, Təzyiqi və Temperaturu Ölçün: 6 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
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
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ı
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ı
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)
İ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ə:
M5STACK Visuino istifadə edərək M5StickC ESP32 -də Temperaturu, Nəmliyi və Təzyiqi Necə Göstərmək olar - Etmək asan: 6 addım
M5STACK Visuino istifadə edərək M5StickC ESP32 -də İstilik, Rütubət və Təzyiqi Necə Göstərmək olar - Bunu etmək üçün bu dərslikdə ENV sensoru (DHT12, BMP280, BMM150)
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow - Arduino IDE -dən istifadə edərək M5stack M5stick C -dən istifadə edərək Neopixel Ws2812 -də Göy qurşağının Çalışması: 5 addım
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow | Arduino IDE istifadə edərək M5stack M5stick C istifadə edərək Neopixel Ws2812 üzərində Göy qurşağı çalıştırın: Salam uşaqlar bu təlimatlarda Arduino IDE ilə m5stack m5stick-C inkişaf lövhəsi ilə neopixel ws2812 LED və ya led şerit və ya led matris və ya led üzük istifadə etməyi öyrənəcəyik. onunla bir göy qurşağı nümunəsi
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT
Mikrofonunuzla təzyiqi ölçün: bit: 5 addım (şəkillərlə)
Mikro Təzyiqi Ölçün: bit: Aşağıdakı təlimat, BMP280 təzyiq/temperatur sensoru ilə birlikdə micro: bit istifadə edərək, təzyiq ölçmələri aparmaq və Boyle qanununu nümayiş etdirmək üçün qurulması asan və ucuz bir cihazı təsvir edir. Halbuki bu şpris/təzyiq
Raspberry Pi və TE Connectivity MS8607-02BA01 istifadə edərək İstilik, Nisbi Rütubət, Atmosfer Təzyiqi Kaydedicisi: 22 Addım (Şəkillərlə)
Raspberry Pi və TE Connectivity MS8607-02BA01 istifadə edərək Temperatur, Nisbi Nəmlik, Atmosfer Təzyiqi Qeydiyyatı: Giriş: Bu layihədə, temperatur rütubəti və atmosfer təzyiqi üçün addım-addım giriş sistemini necə quracağınızı sizə göstərəcəyəm. Bu layihə Raspberry Pi 3 Model B və TE Connectivity ətraf mühit sensoru çipinə əsaslanır MS8607-02BA