Tartalomjegyzék:
- Lépés: Szükséges eszközök
- 2. lépés: Hardvercsatlakozások az áramkör összeállításához
- 3. lépés: Raspberry Pi programozás Pythonban
- 4. lépés: A kódex praktikussága (tesztelés)
- 5. lépés: Alkalmazások és szolgáltatások
- 6. lépés: Következtetés
Videó: Magasság, nyomás és hőmérséklet a Raspberry Pi használatával az MPL3115A2 segítségével: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Érdekesen hangzik. Ez teljesen lehetséges ebben az időben, amikor mindannyian az IoT generációjába lépünk. Elektronikai furcsaságként a Raspberry Pi -vel játszottunk, és úgy döntöttünk, hogy érdekes projekteket készítünk ezen ismeretek felhasználásával. Ebben a projektben a Raspberry Pi segítségével mérjük a magasságot, a légnyomást és a hőmérsékletet. Tehát itt van a dokumentáció (mindig módosítva és bővítve). Javasoljuk, hogy az utasítások követésével kezdje, és másolja le a kódot. Később kísérletezhet. Tehát kezdjük.
Lépés: Szükséges eszközök
1. Málna Pi
Az első lépés egy Raspberry Pi tábla beszerzése volt. Mi megvettük a magunkét, és ti is. Az oktatóanyagokból kezdve tanulni kezdtünk, megértettük a szkriptírást és a kapcsolódási fogalmakat, és utána tanultunk. Ez a kis zseni közös a hobbisták, tanárok és az innovatív környezetek kialakításában.
2. I²C Shield a Raspberry Pi számára
Az INPI2 (I2C adapter) biztosítja a Raspberry Pi 2/3 an I²C portot, amely több I2C eszközzel használható. Elérhető a Dcube Store -ban
3. Magasságmérő, nyomás- és hőmérsékletérzékelő, MPL3115A2
Az MPL3115A2 egy MEMS nyomásérzékelő I²C interfésszel, amely nyomás-/magasság- és hőmérséklet -adatokat szolgáltat. Ez az érzékelő az I²C protokollt használja a kommunikációhoz. Ezt az érzékelőt a Dcube Store -ból vásároltuk
4. Csatlakozó kábel
Az I2C összekötő kábel a Dcube Store -ban volt kapható
5. Micro USB kábel
A mikro USB kábel Tápegység ideális választás a Raspberry Pi tápellátásához.
6. Internet -hozzáférés javítása - Ethernet kábel/WiFi adapter
Ebben a korszakban bármi eléréséhez internetkapcsolatra van szükség (majdnem úgy, mint offline élet is). Ezért megfogadjuk egy LAN -kábel vagy egy vezeték nélküli Nano USB -adapter (WiFi) tanácsát az internetkapcsolat kiépítéséhez, hogy könnyedén és egyáltalán nem használhassuk a Rasp Pi -t.
7. HDMI kábel (opcionális, az Ön választása)
Kicsit trükkös. Lehetőség van arra, hogy egy másik monitort is csatoljon, ha akar, vagy nagyon költséghatékony, ha fejetlen Pi kapcsolatot hoz létre a számítógéppel/laptoppal.
2. lépés: Hardvercsatlakozások az áramkör összeállításához
Készítse el az áramkört az ábrán látható vázlat szerint. Általában a csatlakozások nagyon egyszerűek. Kövesse az utasításokat és a képeket, és nem lehet probléma.
A tervezés során megvizsgáltuk a hardvert és a kódolást, valamint az elektronika alapjait. Egy egyszerű elektronikai vázlatot akartunk kialakítani ehhez a projekthez. Az ábrán az I²C kommunikációs protokollokat követve láthatja a különböző alkatrészeket, tápegységeket és I²C érzékelőket. Remélhetőleg ez illusztrálja, milyen egyszerű az elektronika ehhez a projekthez.
A Raspberry Pi és az I2C Shield csatlakoztatása
Először is vegye a Raspberry Pi -t, és tegye rá az I²C pajzsot. Finoman nyomja meg a pajzsot (lásd a képet).
Az érzékelő és a Raspberry Pi csatlakoztatása
Fogja meg az érzékelőt, és csatlakoztassa hozzá az I²C kábelt. Győződjön meg arról, hogy az I²C kimenet MINDIG csatlakozik az I²C bemenethez. Ugyanezt kell követnie a Raspberry Pi -nek is, amelyre az I²C pajzs van felszerelve. Az I²C Shield és az I²C összekötő kábelek az oldalunkon vannak, ami nagyon nagy előny, mivel csak a plug and play opció marad. Nincs többé csapokkal és vezetékekkel kapcsolatos probléma, és így a zavartság megszűnt. Milyen megkönnyebbülés, ha csak képzeljük magunkat a vezetékek hálójába, és ebbe belemerülünk. Csak az egyszerű folyamat, amelyet említettünk.
Megjegyzés: A barna vezetéknek mindig követnie kell a föld (GND) kapcsolatot az egyik eszköz kimenete és egy másik eszköz bemenete között
Az internetkapcsolat létfontosságú
Valójában itt van választási lehetősége. A Raspberry Pi -t LAN -kábellel vagy vezeték nélküli Nano USB -adapterrel csatlakoztathatja a WiFi -kapcsolathoz. Mindenesetre a fő cél az volt, hogy csatlakozzon az internethez.
Az áramkör áramellátása
Csatlakoztassa a Micro USB kábelt a Raspberry Pi tápcsatlakozójához. Gyújts rá, és már indulhatunk is.
Csatlakozás a képernyőhöz
Vagy csatlakoztathatjuk a HDMI-kábelt egy új monitorhoz, vagy elkészíthetjük a fej nélküli Pi-t, amely kreatív és költséghatékony a távoli hozzáférés, például az SSH/PuTTY használatával. (Tudom, hogy nem finanszírozunk titkos szervezetként)
3. lépés: Raspberry Pi programozás Pythonban
A Raspberry Pi és az MPL3115A2 érzékelő Python -kódja. Ez elérhető a Github tárházunkban.
Mielőtt folytatná a kódot, feltétlenül olvassa el a Readme fájlban található utasításokat, és állítsa be a Raspberry Pi -t ennek megfelelően. Ez csak egy pillanatba telik.
A tengerszint feletti magasságot a nyomás alapján számítják ki az alábbi egyenlet segítségével:
h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (regisztrációs érték)
Ahol p0 = tengerszinti nyomás (101326 Pa) és h méterben értendő. Az MPL3115A2 ezt az értéket használja, mivel az eltolási regiszter LSB -nként 2 Pascal.
A kód egyértelműen előtted van, és a legegyszerűbb formában képzelhető el, és nem lehet gond.
Innen is másolhatja az érzékelő működő Python -kódját.
# Szabad akaratú licenccel terjesztik.# Bármilyen módon használhatja, haszonnal vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez. # MPL3115A2 # Ezt a kódot úgy tervezték, hogy együttműködjön a ControlEverything.com webhelyen elérhető MPL3115A2_I2CS I2C Mini modullal. #
import smbus
importálási idő
# Szerezzen I2C buszt
busz = smbus. SMBus (1)
# MPL3115A2 cím, 0x60 (96)
# Vezérlőregiszter kiválasztása, 0x26 (38) # 0xB9 (185) Aktív mód, OSR = 128, Magasságmérő mód bus.write_byte_data (0x60, 0x26, 0xB9) # MPL3115A2 cím, 0x60 (96) # Adatkonfigurációs regiszter kiválasztása, 0x13 (19)) # 0x07 (07) Adatok kész esemény engedélyezve a magasság, nyomás, hőmérséklet busz.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2 cím, 0x60 (96) # Vezérlőregiszter kiválasztása, 0x26 (38) # 0xB9 (185) Aktív mód, OSR = 128, Magasságmérő mód bus.write_byte_data (0x60, 0x26, 0xB9)
time.sleep (1)
# MPL3115A2 cím, 0x60 (96)
# Adatok visszaolvasása 0x00 (00), 6 bájt # állapot, tMagasság MSB1, tMagasság MSB, tmagasság LSB, temp. MSB, temp. LSB adatok = bus.read_i2c_block_data (0x60, 0x00, 6)
# Konvertálja az adatokat 20 bitesre
tHeight = (([adatok] [1] * 65536) + (adatok [2] * 256) + (adatok [3] és 0xF0)) / 16 hőmérséklet = ((adatok [4] * 256) + (adatok [5] & 0xF0)) / 16 magasság = t Magasság / 16,0 cTemp = hőmérséklet / 16,0 fTemp = cTemp * 1,8 + 32
# MPL3115A2 cím, 0x60 (96)
# Vezérlőregiszter kiválasztása, 0x26 (38) # 0x39 (57) Aktív mód, OSR = 128, Barométer mód bus.write_byte_data (0x60, 0x26, 0x39)
time.sleep (1)
# MPL3115A2 cím, 0x60 (96)
# Adatok visszaolvasása 0x00 -tól (00), 4 bájt # állapot, előre MSB1, előre MSB, előre LSB adatok = bus.read_i2c_block_data (0x60, 0x00, 4)
# Konvertálja az adatokat 20 bitesre
pres = ((adatok [1] * 65536) + (adatok [2] * 256) + (adatok [3] és 0xF0)) / 16 nyomás = (pres / 4,0) / 1000,0
# Adatok megjelenítése a képernyőn
print "Nyomás: %.2f kPa" %nyomásnyomtatás "Magasság: %.2f m" %magasság nyomtatás "Hőmérséklet Celsius -ban: %.2f C" %cTemp nyomtatás "Hőmérséklet Fahrenheitben: %.2f F" %fTemp
4. lépés: A kódex praktikussága (tesztelés)
Most töltse le (vagy git pull) a kódot, és nyissa meg a Raspberry Pi -ben.
Futtassa a parancsokat a fordításhoz és a kód feltöltéséhez a terminálon, és nézze meg a Monitor kimenetét. Néhány másodperc múlva megjelenik az összes paraméter. Miután meggyőződött arról, hogy minden zökkenőmentesen működik, ezt a projektet nagyobb projektbe foglalhatja.
5. lépés: Alkalmazások és szolgáltatások
Az MPL3115A2 precíziós magasságmérő I²C érzékelőket gyakran használják olyan alkalmazásokban, mint a Térkép (Térképsegéd, Navigáció), Mágneses Iránytű vagy A GPS (GPS -holtszámolás, GPS -javítás a sürgősségi szolgáltatásokhoz), Nagy pontosságú magasságmérés, Okostelefonok/táblagépek, Személyi elektronikai magasságmérés és műholdak (meteorológiai állomások felszerelése/előrejelzés).
Mert pl. egy projekt a Personal Electronics Altimeter készítésére, amely a magasságot, a légnyomást és a hőmérsékletet méri a Raspberry Pi segítségével. A Personal Electronics Altimeter összességében meglehetősen gyors projekt. Csak néhány pillanatba telik, ha minden része megvan, és nem improvizál (természetesen megteheti!). A nyomásmagasságmérő a legtöbb repülőgépben megtalálható magasságmérő, és az ejtőernyősök csuklóra szerelt változatokat használnak hasonló célokra. A túrázók és a hegymászók csuklóra szerelt vagy kézi magasságmérőt használnak.
6. lépés: Következtetés
Reméljük, hogy ez a projekt további kísérleteket inspirál. Ez az I²C érzékelő hihetetlenül sokoldalú, olcsó és hozzáférhető. Mivel ez egy rendkívül változékony program, érdekes módon lehet ezt a projektet kiterjeszteni és még jobbá tenni. Például a magasságmérő opcionális műszer a terepjárókban, hogy segítse a navigációt. Néhány nagyteljesítményű luxusautó, amelyet soha nem szándékoztak kikövezett utakról elhagyni, használja ezt a technológiát. Az Ön kényelme érdekében van egy érdekes videó oktatóanyagunk a YouTube -on, amely segíthet a felfedezésben. Reméljük, hogy ez a projekt további kísérleteket inspirál.
Ajánlott:
M5STACK A hőmérséklet, a páratartalom és a nyomás megjelenítése az M5StickC ESP32 készüléken a Visuino használatával - Könnyen elvégezhető: 6 lépés
M5STACK A hőmérséklet, a páratartalom és a nyomás megjelenítése az M5StickC ESP32 készüléken a Visuino használatával - Könnyen elvégezhető: Ebben az oktatóanyagban megtanuljuk, hogyan programozhatjuk be az ESP32 M5Stack StickC programot Arduino IDE -vel és Visuino -val, hogy megjelenítse a hőmérsékletet, a páratartalmat és a nyomást az ENV érzékelő (DHT12, BMP280, BMM150)
Páratartalom, nyomás és hőmérséklet számítása BME280 és foton interfész használatával: 6 lépés
Páratartalom, nyomás és hőmérséklet számítása BME280 és foton interfész használatával: Számos olyan projekttel találkozunk, amelyek hőmérséklet-, nyomás- és páratartalom -ellenőrzést igényelnek. Így rájövünk, hogy ezek a paraméterek valójában létfontosságú szerepet játszanak abban, hogy megbecsüljük a rendszer működési hatékonyságát különböző légköri körülmények között
A nyomás és a magasság meghatározása GY-68 BMP180 és Arduino segítségével: 6 lépés
A nyomás és a magasság meghatározása a GY-68 BMP180 és Arduino segítségével: Áttekintés Sok projektben, mint például repülő robotok, időjárás állomások, az útvonal teljesítményének javítása, sportolás stb., Nagyon fontos a nyomás és a magasság mérése. Ebben az oktatóanyagban megtudhatja, hogyan kell használni a BMP180 érzékelőt, amely az egyik
A Raspberry Pi használata, a magasság, a nyomás és a hőmérséklet mérése az MPL3115A2 segítségével: 6 lépés
A Raspberry Pi használata, a tengerszint feletti magasság, a nyomás és a hőmérséklet mérése az MPL3115A2 segítségével: Tudja, hogy mi a tulajdonosa, és tudja meg, miért van az Ön számára! Érdekes. Az Internet Automation korát éljük, mivel rengeteg új alkalmazásba süllyed. Számítógép és elektronika rajongóként sokat tanultunk a Raspberry Pi -vel
Hőmérséklet, relatív páratartalom, légköri nyomás regisztráló a Raspberry Pi és a TE Connectivity használatával MS8607-02BA01: 22 lépés (képekkel)
Hőmérséklet, relatív páratartalom, légköri nyomás naplózó a Raspberry Pi és a TE Connectivity használatával MS8607-02BA01: Bevezetés: Ebben a projektben megmutatom, hogyan kell lépésről lépésre létrehozni a beállításokat a hőmérséklet páratartalmára és a légköri nyomásra. Ez a projekt a Raspberry Pi 3 Model B és a TE Connectivity MS8607-02BA környezeti érzékelő chipen alapul