Tartalomjegyzék:
- Lépés: Készítse elő a Pi -t
- 2. lépés: Csatlakoztassa az egészet
- 3. lépés: Tesztelje I2C -jét
- 4. lépés: Telepítse a MySQL és a PhpMyAdmin alkalmazást
- Lépés: Telepítse a Python modulokat
- 6. lépés: Kód az adatbázisba való bejelentkezéshez
- 7. lépés: Kód megjelenítési hőmérséklethez
- 8. lépés: 3D nyomtatott ház
- 9. lépés: tennivalók
Videó: Raspberry Pi barométer időjárási óra: 9 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Ebben az oktatható útmutatóban megmutatom, hogyan lehet egy alapvető hőmérő / barométer órát felépíteni egy Raspberry Pi 2 segítségével egy BMP180 I2C érzékelővel, amely egy Adafruit 4 számjegyű, 7 szegmenses I2C kijelzőn jelenik meg. A Pi egy DS3231 valós idejű I2C óra modult is használ, hogy tartsa az időt a Pi újraindításakor.
Az óra 4 lépcsőn keresztül, 5 másodpercig tart. Először a Celsius -fokban, majd Fahrenheitben, majd a légköri nyomást kPa -ban *mutatja (ezt a számot balra sétálja a korlátozott számjegyek miatt), végül pedig a barometrikus nyomás változásának tendenciáját mutatja a mostani és a előző óra.
Ez az óra különbözteti meg a legtöbbet attól, hogy MySQL adatbázist használ a Pi -n, hogy percenként naplózza a BMP180 -ból származó adatokat. Mivel a jelenlegi légköri nyomás nem olyan értékes, mint felfelé vagy lefelé történő mozgása egy adott időtartam alatt, ezt az adatbázist használja egy 2 órás és 1 óra közötti egy órás átlag kiszámításához, és összehasonlítja azt a jelenlegi nyomással. A barometrikus nyomás jelentős növekedése általában az időjárási viszonyok javulását jelezte, szemben a nagy eséssel a közelgő viharra.
Az óra egy 3D nyomtatott ABS házban van elhelyezve, a BMP180 pedig egy szellőzősapkával az óra hátoldalán, hogy megakadályozza, hogy a Pi által termelt hő befolyásolja a hőmérsékletet. Elküldöm az Autodesk 123D Design sematikáját, ha saját nyomtatni szeretne.
Az óra szabványos USB fali szemölcsökkel működik, és körülbelül 450 mA -t vesz fel.
Nem fogok túl sokat részletezni a Pi és az I2C alapbeállításairól, mivel ezt számos más utasítás tartalmazta, amelyekhez linkeket adok.
Lépés: Készítse elő a Pi -t
A Raspberry Pi beállítása - Részletek a Raspberrypi.org oldalon
- Töltse le és telepítse a kiválasztott Linux disztribúciót egy SD -kártyára - én Raspbian -t használtam
- Csatlakoztassa a pi -t és indítsa el
- Egy mikro WiFi adaptert használtam a pi csatlakoztatásához az útválasztóhoz, mivel az óraház eltakarja az Ethernet portot.
- Fej nélküli módot használtam, ahol SS -hez csatlakozva csatlakoztok a pi -hez, így csak a tápellátásra van szüksége.
- Állítsa be az I2C -t a Pi -n - követtem ezeket az utasításokat az Adafruit webhelyen.
2. lépés: Csatlakoztassa az egészet
A projektben használt összes modul 5V -os toleráns, és I2C -t használ, amely egy 2 vezetékes protokoll, amelyet az IC -k használnak az egymással való kommunikációhoz, így a bekötés meglehetősen egyszerű. Csatlakoztassa az összes VCC -t 5V -ra, az összes földelést és az összes SCA- és SCL -vezetéket a vázlat szerint. Kész a munka.
3. lépés: Tesztelje I2C -jét
Az I2C telepítés része az i2cdetect futtatása, amelynek úgy kell kinéznie, mint a mellékelt képnek, ha minden megfelelően be van kötve.
Az alábbiakban a megfelelő címek találhatók
- 0x70 = 7 szegmenses kijelző
- 0x77 = BMP180 Hőmérő / barométer érzékelő
- 0x68 = DS3231 Valós idejű óra modul
- 0x57 = DS3231 az EEPROM fedélzetén a riasztási adatok tárolására.
4. lépés: Telepítse a MySQL és a PhpMyAdmin alkalmazást
A mySQL telepítése meglehetősen egyszerű, ha követi az itt található útmutatót
sudo apt-get install mysql-server
Telepítettem a phpMyAdmin -t is, amely az Apache rendszeren futó weboldal, amellyel mySQL adatbázisokat hozhat létre és kezelhet. Oktatóanyag itt
sudo apt-get install phpmyadmin
A telepítés után beállítottam egy BP180 nevű adatbázist a phpMyAdmin használatával, a kép szerinti szerkezettel.
Használok egy mysqlDB nevű python modult is, amellyel telepíthet
sudo apt-get install python-mysqldb
Lépés: Telepítse a Python modulokat
Töltse le és telepítse az alábbi python modulokat, amelyeket az érzékelők csatlakoztatásához használ.
- Adafruit_BMP085 modul
- SDL_DS3231 modul
- Adafruit 7 szegmens modul
6. lépés: Kód az adatbázisba való bejelentkezéshez
Az alábbi kódrészletet a hőmérséklet és a légnyomás naplózására használják, és egy 5 percenként futó cron szkriptből (Linux ütemezett feladatok) hívják meg. A crond használatának megismeréséhez nézze meg ezt az oktatóanyagot.
NB! Ne fárasztja magát a kódolási készségeim kidobásával, nem vagyok fejlesztő, szóval igen, erre valószínűleg millió jobb, gyorsabb, simább, tisztább módszer létezik
Észre fogja venni a kódban, hogy a hőmérséklet 7 fokkal csökken, ami megegyezik a Raspberry Pi által termelt hővel, még akkor is, ha a BMP180 a ház külső oldalára van felszerelve. Amikor eredetileg a házban volt, körülbelül 15 fokkal melegebb volt, mint a környezet. Elég lineárisnak tűnik, de nem volt lehetőségem végletek tesztelésére. A tapasztalataitokra vonatkozó visszajelzéseket nagyra értékelnénk.
7. lépés: Kód megjelenítési hőmérséklethez
Ezt a kódot arra hívják, hogy a bevezető szerint ciklusban végigmenjen a kijelzőn.
Ismétlem, nem vagyok fejlesztő, így a kód nagyon durva, de működik
8. lépés: 3D nyomtatott ház
A következő a szekrény kialakítása. Ez meglehetősen kihívást jelentett, mivel az alak hajlamos a vetemedésre, mivel a külső héj részei csak 2 mm vastagok. Először a Pi és az összes alkatrész makettjeit rajzoltam, majd körülterveztem a házat. A nyomtatás körülbelül 7 órát vett igénybe a RapMan 3.2 készüléken (ami elég lassú nyomtató), 0,25 réteg mélységben.
A mellékelt vázlat az Autodesk 123D Design -ban készült, amely szerintem fantasztikus ingyenes szoftver.
Ne feledje, hogy néhány lyuk, például a Pi felszereléséhez szükséges lyukak nem szerepelnek a tervezésben, mivel jobb, ha ezeket később fúrja, ha a nyomtatás kissé deformálódik. Egy stabil kéz, egy 3 mm -es fúrófej, amire szüksége van. Jelölje meg a mélységet a szerszámon valamilyen maszkolószalaggal, hogy véletlenül ne menjen egyenesen a 7 órás nyomaton, mint én.
9. lépés: tennivalók
- A Valós idejű óra kiegészítés volt a ház ötödik kinyomtatása után, így jelenleg forró ragasztóval van ragasztva a ház oldalára, ami nem néz ki jól, ezért szeretném újra megtervezni a tervezést és hozzáadni egy helyet.
- A 7 szegmenses kijelző fényereje jelenleg a legkönnyebb, ami nem optimális erős fényviszonyokhoz. Szeretnék egy fotóellenállást hozzáadni a ház tetejéhez, és beállítani a 7 szegmens fényerejét a környezeti fényviszonyok alapján.
- Vannak kisebb tervezési problémák az alap repedésével kapcsolatban, amelyeket szintén kijavítanak.
- Bármilyen ötletet szívesen fogadunk.
Remélem, élvezte ezt az oktathatót, és elég inspirálónak találta a folytatáshoz. Az ötlet az, hogy olyan platformot biztosítson, amellyel hozzáadhatja saját ötleteit. Érezd jól magad!
Ajánlott:
Időjárási megjegyzés: 7 lépés (képekkel)
Időjárás Megjegyzés: Ez egy kombinált időjárás állomás és emlékeztető. Mindannyian ellenőrizhetjük az időjárást telefonjainkon, de néha és különösen akkor, ha valaki megpróbál kijutni az ajtón, mindössze egy gyors útra van szükség az időjárási körülményekhez. Ez az időjárás állomás szuper
ESP8266 Hálózati óra RTC nélkül - Nodemcu NTP óra Nem RTC - INTERNET ÓRA PROJEKT: 4 lépés
ESP8266 Hálózati óra RTC nélkül | Nodemcu NTP óra Nem RTC | INTERNET ÓRA PROJEKT: A projektben óra projektet készítenek RTC nélkül, időbe telik az internet az wifi használatával, és megjeleníti az st7735 kijelzőn
Raspi-Nextion időjárási óra: 7 lépés
Raspi-Nextion időjárás-óra: Sokféle arduino és málna Pi-ből épített órát láttam. Én is akartam csinálni egyet. Azzal kezdtem, hogy egy arduino mega -t használtam egy ESP8266 -tal, de azt tapasztaltam, hogy a 8266 -os wifin túl sok a csuklás. Úgy döntöttem, hogy egy tartalék Pi -t használok (Raspb
Időjárási óra: 15 lépés (képekkel)
Időjárás -óra: Nagyszerű megjelenésű asztali óra dátummal és & időjárás kijelző
ESP8266 időjárási óra: 6 lépés (képekkel)
ESP8266 Időjárás -óra: Nagyon büszke vagyok az érkezésére, és üdvözlöm Önt