Mundarija:
- 1 -qadam: Bizga zarur uskunalar
- 2 -qadam: Devrenni birlashtirish uchun apparat ulanishlari
- 3 -qadam: Pythonda Raspberry Pi dasturlash
- 4 -qadam: Kodning amaliyligi (test)
- 5 -qadam: Ilovalar va xususiyatlar
- 6 -qadam: Xulosa
Video: MPL3115A2 bilan Raspberry Pi yordamida balandlik, bosim va harorat: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Qiziqarli eshitiladi. Hammamiz IoT avlodiga o'tayotganimizda, bu mumkin. Biz elektronika fanati sifatida Raspberry Pi bilan o'ynadik va bu bilimdan foydalanib, qiziqarli loyihalar tuzishga qaror qildik. Ushbu loyihada biz Raspberry Pi yordamida balandlik, havo bosimi, haroratni o'lchaymiz. Shunday qilib, bu erda hujjatlar (har doim o'zgartirilgan va kengaytirilgan). Ko'rsatmalarni bajarishni boshlash va kodni nusxalashni tavsiya qilamiz. Keyinchalik tajriba o'tkazishingiz mumkin. Shunday qilib, boshlaylik.
1 -qadam: Bizga zarur uskunalar
1. Raspberry Pi
Birinchi qadam Raspberry Pi taxtasini olish edi. Biz o'zimizni sotib oldik va siz ham. Qo'llanmalardan o'rganishni boshladik, biz skript va ulanish tushunchalarini tushundik va keyin bilib oldik. Bu kichkina daho havaskorlar, o'qituvchilar va innovatsion muhit yaratishda keng tarqalgan.
2. Raspberry Pi uchun I²C 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²C protokolidan foydalanadi. Biz bu sensorni Dcube do'konidan sotib oldik
4. Kabelni ulash
Bizda Dcube do'konida I2C ulanish kabeli bor edi
5. Micro USB kabeli
Micro USB kabeli Quvvat manbai Raspberry Pi -ni quvvatlantirish uchun ideal tanlovdir.
6. Internetga kirishni yaxshilash - Ethernet kabeli/WiFi adapteri
Bu davrda har qanday narsaga kirish uchun Internetga ulanish kerak (xuddi oflayn hayotda bo'lgani kabi). Shunday qilib, biz Rasp Pi -dan osongina va hech qanday muammosiz foydalanishimiz uchun Internetga ulanish uchun LAN kabeli yoki Simsiz Nano USB Adapterining (WiFi) maslahatini olamiz.
7. HDMI kabeli (ixtiyoriy, sizning tanlovingiz)
Bu biroz murakkab. Agar xohlasangiz, boshqa monitorni ulash huquqiga ega bo'lishingiz mumkin yoki bu sizning kompyuteringiz/noutbukingiz bilan boshsiz Pi ulanishi orqali o'zingizga juda tejamli bo'ladi.
2 -qadam: Devrenni birlashtirish uchun apparat ulanishlari
O'chirish sxemasi ko'rsatilgan sxema bo'yicha amalga oshiriladi. Umuman olganda, ulanishlar juda oddiy. 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
Birinchidan, Raspberry Pi -ni oling va unga I²C qalqonini qo'ying. 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. Biz aytgan oddiy jarayon.
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
Sizda bu erda tanlov bor. Siz Raspberry Pi -ni LAN kabeli yoki Wi -Fi ulanish uchun simsiz Nano USB adapteri bilan ulashingiz mumkin. Qanday bo'lmasin, u Internetga ulanishning asosiy maqsadini amalga oshirdi.
O'chirishning kuchi
Micro USB kabelini Raspberry Pi quvvat manbaiga ulang. Chiroqni yoqing va biz borishga tayyormiz.
Ekranga ulanish
Biz HDMI kabelini yangi monitorga ulashimiz yoki SSH/PuTTY kabi masofadan kirishni ishlatib, ijodiy va tejamkor bo'lgan boshsiz Pi-ni yasashimiz mumkin.
3 -qadam: Pythonda Raspberry Pi dasturlash
Raspberry Pi va MPL3115A2 sensori uchun Python 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. Buning uchun bir oz vaqt kerak bo'ladi.
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 Python kodini ham shu erdan ko'chirishingiz mumkin.
# Ixtiyoriy litsenziya bilan tarqatilgan.# Istalgan usulda, xoh foyda, xoh tekin, agar u tegishli ish litsenziyalariga mos keladigan bo'lsa, foydalaning. # MPL3115A2 # Bu kod ControlEverything.com saytida mavjud MPL3115A2_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan. #
smbus import qilish
import vaqti
# I2C avtobusini oling
avtobus = smbus. SMBus (1)
# MPL3115A2 manzili, 0x60 (96)
# Boshqarish registrini tanlang, 0x26 (38) # 0xB9 (185) Faol rejim, OSR = 128, Altimetr rejimi bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 manzil, 0x60 (96) # Ma'lumot konfiguratsiyasi registrini tanlang, 0x13 (19)) # 0x07 (07) Ma'lumot tayyorligi hodisasi balandlik, bosim, harorat uchun yoqilgan bus.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 manzil, 0x60 (96) # Boshqarish registrini tanlash, 0x26 (38) # 0xB9 (185) Faol rejim, OSR = 128, Altimetr rejimi bus.write_byte_data (0x60, 0x26, 0xB9)
uyqu (1)
# MPL3115A2 manzili, 0x60 (96)
# Ma'lumotni 0x00 (00), 6 bayt # status, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB data = bus.read_i2c_block_data (0x60, 0x00, 6) dan o'qing.
# Ma'lumotni 20 bitga aylantiring
tHeight = ((ma'lumotlar [1] * 65536) + (ma'lumotlar [2] * 256) + (ma'lumotlar [3] va 0xF0)) / 16 temp = ((ma'lumotlar [4] * 256) + (ma'lumotlar [5] & 0xF0)) / 16 balandlik = tYuqorilik / 16.0 cTemp = temp / 16.0 fTemp = cTemp * 1.8 + 32
# MPL3115A2 manzili, 0x60 (96)
# Boshqarish registrini tanlang, 0x26 (38) # 0x39 (57) Faol rejim, OSR = 128, Barometr rejimi bus.write_byte_data (0x60, 0x26, 0x39)
uyqu (1)
# MPL3115A2 manzili, 0x60 (96)
# Ma'lumotni 0x00 (00), 4 bayt # holati, MSB1, MSB, LSB ma'lumotlari = bus.read_i2c_block_data (0x60, 0x00, 4) dan o'qing
# Ma'lumotni 20 bitga aylantiring
pres = ((ma'lumotlar [1] * 65536) + (ma'lumotlar [2] * 256) + (ma'lumotlar [3] va 0xF0)) / 16 bosim = (pres / 4.0) / 1000.0
# Ma'lumotlarni ekranga chiqarish
"Bosim: %.2f kPa" %bosma bosma "Balandlik: %.2f m" %balandlikda bosma "Selsiydagi harorat: %.2f C" %cTemp chop etish "Farengeytdagi harorat: %.2f F" %fTemp
4 -qadam: Kodning amaliyligi (test)
Endi kodni yuklab oling (yoki git pull) va uni Raspberry Pi -da oching.
Terminalda kodni kompilyatsiya qilish va 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 I²C sensorining keng qo'llanilishi xarita (xaritaga yordam, navigatsiya), magnit kompas yoki GPS (GPS o'lik hisobi, favqulodda xizmatlar uchun GPSni takomillashtirish), yuqori aniqlikdagi altimetriya, smartfonlar/planshetlar, shaxsiy elektron altimetriya kabi ilovalarda qo'llaniladi. va yo'ldoshlar (ob -havo stantsiyalari uskunalari/bashorat qilish).
Masalan Raspberry Pi yordamida balandlik, havo bosimi va haroratni o'lchaydigan shaxsiy elektron altimetrni yaratish loyihasi. Shaxsiy elektron altimetr - bu juda tez quriladigan loyiha. Agar sizda barcha qismlar bo'lsa va improvizatsiya qilmasangiz, bu bir necha daqiqaga to'g'ri keladi (albatta mumkin!). Bosim balandligi o'lchagichi-bu ko'pchilik samolyotlarda topilgan balandlik o'lchagichi va osmonda uchuvchilar bilagiga o'rnatilgan versiyalarni shunga o'xshash maqsadlarda ishlatadilar. Sayohatchilar va alpinistlar bilagiga o'rnatilgan yoki qo'lda ishlaydigan balandlikdan foydalanadilar.
6 -qadam: Xulosa
Umid qilamanki, bu loyiha keyingi tajribalarni ilhomlantiradi. Bu I²C sensori juda ko'p qirrali, arzon va qulay. Bu juda o'zgaruvchan dastur bo'lgani uchun, bu loyihani kengaytirish va uni yanada yaxshilashning qiziqarli usullari mavjud. Masalan, balandlik o'lchagichi-bu yo'lda harakatlanuvchi avtoulovlarda navigatsiyaga yordam beradigan ixtiyoriy asbob. Hech qachon asfaltlangan yo'llarni tark etishni mo'ljallamagan, yuqori samarali hashamatli avtomobillar, bu texnologiyadan foydalanadi. Sizning qulayligingiz uchun bizda YouTube -da sizning kashfiyotingizga yordam beradigan qiziqarli video darsimiz bor. Umid qilamanki, bu loyiha keyingi tajribalarni ilhomlantiradi.
Tavsiya:
Altimetr (balandlik o'lchagichi) Atmosfera bosimiga asoslangan: 7 qadam (rasmlar bilan)
Altimetr (balandlik o'lchagichi) Atmosfera bosimiga asoslangan: [Tartibga solish]; 6 -qadamning 2 -versiyasini qo'lda balandlikdan kiritish bilan qarang, bu Arduino Nano va Bosch BMP180 atmosfera bosimi sensori asosida qurilgan Altimetr (balandlik o'lchagichi) binosining tavsifi. Dizayn oddiy, lekin o'lchovlar
BMP280 -DHT11 yordamida Arduino ob -havo stantsiyasi - harorat, namlik va bosim: 8 qadam
BMP280 -DHT11 -dan foydalanadigan Arduino ob -havo stantsiyasi - harorat, namlik va bosim: Ushbu qo'llanmada biz TFT 7735 LCD displeyida harorat, namlik va bosim ko'rsatadigan ob -havo stantsiyasini yasashni o'rganamiz
Arduino AMS5812_0050-D-B bosim va harorat sensori qo'llanmasi: 4 qadam
Arduino AMS5812_0050-D-B bosim va harorat sensori bo'yicha qo'llanma: Analog va raqamli chiqishlarga ega AMS5812 kuchaytirilgan bosim sensori analog kuchlanishli chiqish va raqamli I2C interfeysli yuqori aniqlikdagi sensor. U piezorezistiv sezuvchi elementni ishlashi uchun signalni sozlash elementi bilan birlashtiradi.
Raspberry Pi yordamida MPL3115A2 yordamida balandlik, bosim va haroratni o'lchang: 6 qadam
MPL3115A2 yordamida Raspberry Pi -dan foydalanib, balandlik, bosim va haroratni o'lchang: nima borligini biling va nima uchun unga egalik qilayotganingizni biling! Bu juda qiziq. Biz Internet -avtomatlashtirish asrida yashayapmiz, chunki u ko'plab yangi ilovalarga kiradi. Kompyuter va elektronika ixlosmandlari sifatida biz Raspberry Pi a bilan ko'p narsani o'rgandik
DHT11 harorat sensori Arduino va bosim harorati issiqlik va namlik bilan qanday ishlatiladi: 5 qadam
DHT11 harorat sensori Arduino va bosma haroratli issiqlik va namlik bilan qanday ishlatiladi: DHT11 sensori harorat va namlikni o'lchash uchun ishlatiladi. DHT11 namlik va harorat sensori sizning elektronika loyihalaringizga namlik va harorat ma'lumotlarini qo'shishni juda osonlashtiradi. Bu har