Mundarija:
- 1 -qadam: Bizga kerak bo'lmagan uskunalar
- 2 -qadam: Devrenni birlashtirish uchun apparat ulanishlari
- 3 -qadam: Java -da Raspberry Pi dasturlash
- 4 -qadam: Kodning amaliyligi (ishchi)
- 5 -qadam: Ilovalar va xususiyatlar
- 6 -qadam: Xulosa
Video: Raspberry Pi yordamida MPL3115A2 yordamida balandlik, bosim va haroratni o'lchang: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Nimaga egalik qilayotganingizni va nima uchun sizga tegishli ekanligini biling
Bu qiziq. Biz Internet -avtomatlashtirish asrida yashayapmiz, chunki u ko'plab yangi ilovalarga kiradi. Kompyuter va elektronika ixlosmandlari sifatida biz Raspberry Pi bilan ko'p narsalarni o'rgandik va o'z manfaatlarimizni uyg'unlashtirishga qaror qildik. Agar siz I²C ulanishlari va dasturiy ta'minotni sozlashda yangi bo'lsangiz, bu loyiha taxminan bir soat davom etadi va bu MPL3115A2 imkoniyatlarini Java -da Raspberry Pi bilan kengaytirishning ajoyib usuli.
1 -qadam: Bizga kerak bo'lmagan uskunalar
1. Raspberry Pi
Birinchi qadam Raspberry Pi taxtasini olish edi. Bu kichkina dahodan havaskorlar, o'qituvchilar va innovatsion muhit yaratishda foydalaniladi.
2. Raspberry Pi uchun I2C qalqoni
INPI2 (I2C adapteri) Raspberry Pi 2/3 va I²C portlarini bir nechta I2C qurilmalarida ishlatish uchun taqdim etadi. U Dcube do'konida mavjud.
3. Altimetr, bosim va harorat sensori, MPL3115A2
MPL3115A2 - bosim, balandlik va harorat ma'lumotlarini beruvchi I²C interfeysli MEMS bosim sensori. Bu sensor aloqa uchun I²2 protokolidan foydalanadi. Biz bu sensorni Dcube do'konidan sotib oldik.
4. Kabelni ulash
Biz Dcube do'konida mavjud bo'lgan I²C ulanish kabelidan foydalandik.
5. Micro USB kabeli
Raspberry Pi mikro USB -quvvat manbai bilan ishlaydi.
6. Internetga kirishni yaxshilash - Ethernet kabeli/WiFi moduli
Siz qilmoqchi bo'lgan birinchi narsalardan biri - Raspberry Pi -ni Internetga ulash. Siz Ethernet kabeli yoki simsiz USB Nano WiFi adapteri orqali ulanishingiz mumkin.
7. HDMI kabeli (ixtiyoriy, sizning tanlovingiz)
Siz HDMI kabelidan foydalanib, Raspberry Pi -ni monitorga ulashingiz mumkin. Shuningdek, siz Raspberry Pi -ga SSH/PuTTY yordamida masofadan kirishingiz mumkin.
2 -qadam: Devrenni birlashtirish uchun apparat ulanishlari
Ko'rsatilgan sxemaga muvofiq sxemani tuzing. Umuman olganda, ulanishlar juda oddiy. Yuqoridagi ko'rsatmalar va rasmlarga rioya qiling, shunda hech qanday muammo bo'lmasligi kerak. Rejalashtirishda biz apparat va kodlashni, shuningdek elektronika asoslarini ko'rib chiqdik. Biz ushbu loyiha uchun elektronikaning oddiy sxemasini tuzmoqchimiz. Diagrammada siz I²C aloqa protokollariga rioya qilgan holda turli qismlar, quvvat komponentlari va I²C sensorini ko'rishingiz mumkin. Umid qilamanki, bu loyiha uchun elektronika qanchalik sodda ekanligini ko'rsatadi.
Raspberry Pi va I2C qalqonining ulanishi
Buning uchun Raspberry Pi va I²C Shield -ni joylashtiring. Qalqonni sekin bosing (rasmga qarang).
Sensor va Raspberry Pi ulanishi
Sensorni oling va u bilan I²C kabelini ulang. I²C chiqishi har doim I²C kirishiga ulanganligiga ishonch hosil qiling. Shu bilan bir qatorda, I²C qalqoni o'rnatilgan Raspberry Pi, biz tomonda I²C qalqoni va I²C tutashtiruvchi kabellari bor, bu biz uchun juda katta afzallik, chunki bizda faqat vilkasini yoqish opsiyasi qoladi. Endi pinlar va simlar muammosi yo'q, shuning uchun chalkashliklar yo'qoldi. O'zingizni simlar tarmog'ida tasavvur qiling -a, qanday yengillik. Bu kabi oddiy!
E'tibor bering: jigarrang sim har doim bitta qurilmaning chiqishi va boshqa qurilmaning kirishi o'rtasidagi Ground (GND) aloqasini kuzatishi kerak
Internetga ulanish juda muhim
Loyihamiz muvaffaqiyatli bo'lishi uchun bizga Raspberry Pi uchun internet kerak. Bunda Ethernet (LAN) kabelini ulash kabi variantlar mavjud. Bundan tashqari, WiFi adapteridan foydalanishning muqobil, ammo ta'sirli usuli sifatida.
O'chirishning kuchi
Micro USB kabelini Raspberry Pi quvvat manbaiga ulang. Uni yoqing va voila, biz borishga tayyormiz!
Ekranga ulanish
Biz HDMI kabelini monitorga ulashimiz mumkin yoki biz boshsiz Pi (-SSH/PuTTY yordamida) yasashda biroz innovatsion bo'la olamiz, bu esa qo'shimcha xarajatlarni kamaytirishga yordam beradi, chunki biz qandaydir havaskormiz.
Odat pulga tusha boshlasa, bu xobbi deb ataladi
3 -qadam: Java -da Raspberry Pi dasturlash
Raspberry Pi va MPL3115A2 sensori uchun Java kodi. U bizning Github omborida mavjud.
Kodga o'tishdan oldin, Readme faylida berilgan ko'rsatmalarni o'qiganingizga va Raspberry Pi -ni unga muvofiq sozlaganingizga ishonch hosil qiling. Balandlik quyidagi tenglama yordamida bosimdan hisoblanadi:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Ro'yxatdan o'tish qiymati)
bu erda p0 = dengiz sathining bosimi (101326 Pa) va h metrda. MPL3115A2 bu qiymatdan foydalanadi, chunki ofset registri LSB uchun 2 Paskal sifatida belgilanadi. Kod sizning oldingizda aniq va siz tasavvur qila oladigan eng oddiy shaklda va sizda hech qanday muammo bo'lmasligi kerak.
Bu sensor uchun ishlaydigan Java kodini bu erdan ham ko'chirishingiz mumkin.
// Ixtiyoriy litsenziya bilan tarqatilgan. // MPL3115A2 // Bu kod ControlEverything.com saytida mavjud MPL3115A2_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan. //
com.pi4j.io.i2c. I2CBus -ni import qilish;
com.pi4j.io.i2c. I2CDevice -ni import qilish; com.pi4j.io.i2c. I2CFactory -ni import qilish; java.io. IOException ni import qilish;
umumiy sinf MPL3115A2
{public static void main (String args ) istisno qiladi {// I2C avtobusini yaratish I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C qurilmasini oling, MPL3115A2 I2C manzili - 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Boshqaruv registrini tanlang // Faol rejim, OSR = 128, altimetr rejimi device.write (0x26, (bayt) 0xB9); // Ma'lumotlar konfiguratsiyasi registrini tanlang // Balandlik, bosim, harorat moslamasi uchun ma'lumot tayyor hodisa.write (0x13, (bayt) 0x07); // Boshqaruv registrini tanlang // Faol rejim, OSR = 128, altimetr rejimi device.write (0x26, (bayt) 0xB9); Thread.sleep (1000);
// 0x00 (00) manzilidan 6 bayt ma'lumotni o'qing
// status, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb bayt ma'lumotlar = yangi bayt [6]; device.read (0x00, ma'lumotlar, 0, 6);
// Ma'lumotni 20 bitga aylantiring
int tHeight = ((((ma'lumotlar [1] & 0xFF) * 65536) + ((ma'lumotlar [2] & 0xFF) * 256) + (ma'lumotlar [3] & 0xF0)) / 16); int temp = ((ma'lumotlar [4] * 256) + (ma'lumotlar [5] & 0xF0)) / 16; er -xotin balandlik = tHeight / 16.0; er -xotin cTemp = (temp / 16.0); er -xotin fTemp = cTemp * 1.8 + 32;
// Boshqarish registrini tanlang
// Faol rejim, OSR = 128, barometrli uskuna.write (0x26, (bayt) 0x39); Thread.sleep (1000); // 0x00 (00) manzilidan 4 bayt ma'lumotni o'qing // status, pres msb1, pres msb, pres lsb device.read (0x00, ma'lumotlar, 0, 4);
// Ma'lumotni 20 bitga aylantiring
int pres = (((ma'lumotlar [1] & 0xFF) * 65536) + ((ma'lumotlar [2] & 0xFF) * 256) + (ma'lumotlar [3] & 0xF0)) / 16; er -xotin bosim = (pres / 4.0) / 1000.0; // System.out.printf ekraniga ma'lumotlarni chiqarish ("Bosim: %.2f kPa %n", bosim); System.out.printf ("Balandlik: %.2f m %n", balandlik); System.out.printf ("Selsiy bo'yicha harorat: %.2f C %n", cTemp); System.out.printf ("Farengeytdagi harorat: %.2f F %n", fTemp); }}
4 -qadam: Kodning amaliyligi (ishchi)
Endi kodni yuklab oling (yoki git pull) va uni Raspberry Pi -da oching. Kodni kompilyatsiya qilish va terminalga yuklash buyruqlarini bajaring va monitorda chiqishni ko'ring. Bir necha soniyadan so'ng, u barcha parametrlarni ko'rsatadi. Hamma muammosiz ishlashiga ishonch hosil qilganingizdan so'ng, siz ushbu loyihani kattaroq loyihaga aylantirishingiz mumkin.
5 -qadam: Ilovalar va xususiyatlar
MPL3115A2 Precision Altimeter sensorining keng qo'llanilishi Map (Map Assist, Navigatsiya), Magnit Kompas yoki GPS (GPS O'lik Hisoblash, Favqulodda Xizmatlar uchun GPS -ni yaxshilash), yuqori aniqlikdagi altimetriya, smartfonlar/planshetlar, shaxsiy elektron altimetriya va Sun'iy yo'ldoshlar (ob -havo stantsiyalari uskunalari/bashorat qilish).
Masalan Ushbu sensor va Rasp Pi yordamida siz balandlikni, havo bosimi va haroratni o'lchaydigan, parvozda sakrash uskunasining eng muhim qismi bo'lgan Digital Visual Altimeter -ni qurishingiz mumkin. Siz shamol doka va boshqa datchiklarni qo'shishingiz mumkin, shuning uchun ularni yanada qiziqarli qiling.
6 -qadam: Xulosa
Dastur hayratlanarli darajada moslashtirilganligi sababli, siz ushbu loyihani kengaytirish va uni yanada yaxshilashning ko'plab qiziqarli usullari mavjud. Masalan, altimetr/interferometr bir vaqtning o'zida o'lchovlarni oladigan, shu tariqa doimiy yoki bitta yoki ko'p balandlikdagi keng maydonni qamrab oladigan tayanchlarga o'rnatilgan bir nechta altimetrlarni o'z ichiga oladi. YouTubeda ushbu loyihani yaxshiroq tushunishga yordam beradigan qiziqarli video darsimiz bor.
Tavsiya:
BME280 va foton interfeysi yordamida namlik, bosim va haroratni hisoblash: 6 qadam
BME280 va foton interfeysi yordamida namlik, bosim va haroratni hisoblash: Biz harorati, bosimi va namligini kuzatishni talab qiladigan turli loyihalarni uchratamiz. Biz shuni tushunamizki, bu parametrlar har xil atmosfera sharoitida tizimning ish samaradorligini baholashda muhim rol o'ynaydi
MPL3115A2 bilan Raspberry Pi yordamida balandlik, bosim va harorat: 6 qadam
MPL3115A2 bilan Raspberry Pi yordamida balandlik, bosim va harorat: Qiziqarli eshitiladi. Hammamiz IoT avlodiga o'tayotganimizda, bu mumkin. Biz elektronika fanati sifatida Raspberry Pi bilan o'ynadik va shu bilimlarimizdan foydalanib, qiziqarli loyihalar tuzishga qaror qildik. Ushbu loyihada biz
Infineon XMC4700 RelaxKit, Infineon DPS422 va AWS yordamida barometrik bosim va haroratni vizualizatsiya qilish: 8 qadam
Infineon XMC4700 RelaxKit, Infineon DPS422 va AWS yordamida barometrik bosim va haroratni vizualizatsiya qilish: Infineon DPS 422 yordamida barometrik bosim va haroratni o'lchashning oddiy loyihasi. Vaqti -vaqti bilan bosim va haroratni kuzatib turish noqulay bo'lib qoladi. Bu erda tahlillar tasvirga tushadi, o'zgarishlarning ko'rinishi
Arduino Uno yordamida LM35 harorat sensori yordamida haroratni o'qish: 4 qadam
Arduino Uno yordamida LM35 harorat sensori yordamida haroratni o'qish: Salom bolalar, biz LM35ni Arduino bilan qanday ishlatishni bilib olamiz. Lm35 --55 ° C dan 150 ° C gacha bo'lgan harorat qiymatlarini o'qiy oladigan harorat sensori. Bu haroratga mutanosib analog kuchlanishni ta'minlaydigan 3-terminalli qurilma. Yuqori
Mikrofon yordamida bosimni o'lchang: bit: 5 qadam (rasmlar bilan)
Bosimni mikrofon bilan o'lchang: bit: Quyidagi ko'rsatma BMP280 bosim/harorat sensori bilan birgalikda micro: bit yordamida bosim o'lchovlarini bajarish va Boyl qonunini namoyish qilish uchun qurilishi oson va arzon qurilmani tavsiflaydi. Holbuki, bu shprits/bosim