Sisällysluettelo:
- Vaihe 1: Valmistele Pi
- Vaihe 2: Yhdistä kaikki
- Vaihe 3: Testaa I2C
- Vaihe 4: Asenna MySQL ja PhpMyAdmin
- Vaihe 5: Asenna Python -moduulit
- Vaihe 6: Koodi kirjautumiseen tietokantaan
- Vaihe 7: Koodin näyttölämpötila
- Vaihe 8: 3D -painettu kotelo
- Vaihe 9: Tekemistä
Video: Raspberry Pi Barometer -sääkello: 9 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tässä ohjeessa näytän sinulle, kuinka rakentaa peruslämpömittari / ilmanpainemittari käyttämällä Raspberry Pi 2 -laitetta, jossa on BMP180 I2C -anturi, joka näkyy Adafruit -nelinumeroisessa 7 -segmenttisessä I2C -näytössä. Pi käyttää myös DS3231 -reaaliaikaista I2C -kellomoduulia pitääkseen ajan, kun Pi käynnistetään uudelleen.
Kello kiertää 4 vaihetta 5 sekunnin ajan. Ensin se näyttää lämpötilan celsiusasteina, sitten Fahrenheit -asteina, sitten ilmanpaineen kPa *(se kävelee tämän numeron vasemmalle rajoitetun lukumäärän vuoksi) ja lopuksi se osoittaa trendin ilmanpaineen muutoksesta nykyisen ja keskimääräisen edellinen tunti.
Mikä tekee tästä kellosta erilaisen useimmille, on se, että se käyttää MySQL -tietokantaa Pi: ssä kirjaamaan tietoja BMP180: sta joka minuutti. Koska nykyinen ilmanpaine ei ole yhtä arvokas kuin sen liike ylös- tai alaspäin tietyn ajanjakson aikana, se laskee tämän tietokannan avulla tunnin keskiarvon 2 tunnin ja 1 tunnin välillä ja vertaa sitä nykyiseen paineeseen. Ilmanpaineen merkittävä nousu viittasi yleensä sääolosuhteiden paranemiseen, kun taas suuri lasku voi varoittaa lähestyvästä myrskystä.
Kello on sijoitettu 3D -painettuun ABS -koteloon, ja BMP180 on tuuletettu korkki kellon takana, jotta Pi: n tuottama lämpö ei vaikuta lämpötilalukemiin. Annan kaavion Autodesk 123D Designista, jos haluat tulostaa oman.
Kello saa virtaa tavallisella USB -seinäsyylällä ja kuluttaa yhteensä noin 450 mA.
En aio mennä liikaa yksityiskohtiin Pi: n ja I2C: n perusasetuksista, koska tämä on käsitelty monissa muissa ohjeissa, joihin annan linkkejä.
Vaihe 1: Valmistele Pi
Määritä Raspberry Pi - Tiedot osoitteessa Raspberrypi.org
- Lataa ja asenna valitsemasi Linux -jakelu SD -kortille - käytin Raspbiania
- Liitä pi ja käynnistä se
- Käytin mikro -WiFi -sovitinta yhdistämään pi reitittimeen, koska kellokotelo peittää Ethernet -portin.
- Käytin päätöntä tilaa, jossa muodostat yhteyden pi: hen SSH: n avulla, joten tarvitset vain virran.
- Määritä I2C Pi: lle - seurasin näitä ohjeita Adafruit -sivustolla.
Vaihe 2: Yhdistä kaikki
Kaikki tässä projektissa käyttämäni moduulit ovat 5 V: n kestäviä ja käyttävät I2C -protokollaa, joka on 2 -johtiminen protokolla, jota käytetään IC: n kommunikointiin keskenään, joten johdotus on melko yksinkertaista. Kytke kaikki VCC 5 V: iin, kaikki maadoitukset yhteen ja kaikki SCA- ja SCL -linjat yhteen kaavion mukaisesti. Työ tehty.
Vaihe 3: Testaa I2C
Osa I2C -asennuksesta on ajaa i2cdetect, jonka pitäisi näyttää liitetyltä kuvalta, jos kaikki on kytketty oikein.
Alla vastaavat osoitteet
- 0x70 = 7 segmenttinäyttö
- 0x77 = BMP180 Lämpömittari / barometri -anturi
- 0x68 = DS3231 Real Time Clock -moduuli
- 0x57 = DS3231 EEPROMissa hälytystietojen tallentamista varten.
Vaihe 4: Asenna MySQL ja PhpMyAdmin
MySQL: n asentaminen on melko suoraviivaista, jos noudatat täällä olevaa opetusohjelmaa
sudo apt-get install mysql-palvelin
Asensin myös phpMyAdminin, joka on Apachen käyttöjärjestelmä, jonka avulla voit luoda ja hallita mySQL -tietokantoja. Opetusohjelma täällä
sudo apt-get install phpmyadmin
Asennuksen jälkeen perustin tietokannan nimeltä BP180 käyttäen phpMyAdminia kuvan mukaisella rakenteella.
Käytän myös mysqlDB -nimistä python -moduulia, jonka voit asentaa
sudo apt-get install python-mysqldb
Vaihe 5: Asenna Python -moduulit
Lataa ja asenna alla olevat python -moduulit, joita käytät yhteyden muodostamiseen antureihin.
- Adafruit_BMP085 -moduuli
- SDL_DS3231 -moduuli
- Adafruit 7 segmenttimoduuli
Vaihe 6: Koodi kirjautumiseen tietokantaan
Alla olevaa koodinpätkää käytetään kirjaamaan lämpötila ja ilmanpaine, ja se kutsutaan cron -komentosarjasta (Linuxin ajoitetut tehtävät), joka suoritetaan 5 minuutin välein. Jos haluat oppia käyttämään crondia, tutustu tähän opetusohjelmaan.
HUOM! Älä vaivaudu koodaamaan taitojani, en ole kehittäjä, joten kyllä on luultavasti miljoona parempaa, nopeampaa, tasaisempaa ja puhtaampaa tapaa tehdä tämä
Huomaat koodissa, että lämpötila laskee 7 astetta, mikä vastaa Raspberry Pi: n tuottamaa lämpöä, vaikka BMP180 on asennettu kotelon ulkopuolelle. Kun minulla oli se alun perin kotelon sisällä, se oli noin 15 astetta lämpimämpi kuin ympäröivä. Se näyttää melko lineaariselta, mutta minulla ei ole ollut mahdollisuutta testata mitään ääripäitä. Palaute kokemuksistasi olisi tervetullutta.
Vaihe 7: Koodin näyttölämpötila
Tätä koodia kutsutaan selaamaan näyttöä esittelyn mukaisesti.
Jälleen, en ole kehittäjä, joten koodi on todella karkea, mutta se toimii
Vaihe 8: 3D -painettu kotelo
Seuraavaksi on kotelon suunnittelu. Tämä oli melko haastavaa, koska muoto on taipuvainen vääntymään, koska ulkokuoren osat ovat vain 2 mm paksuja. Piirsin ensin Pi: n ja kaikkien osien mallit ja suunnittelin sitten kotelon sen ympärille. Tulostus kesti noin 7 tuntia RapMan 3.2 -laitteellani (joka on melko hidas tulostin) 0,25 kerroksen syvyydessä.
Liitteenä oleva kaavio on tehty Autodesk 123D Designissa, joka on mielestäni fantastinen ilmainen ohjelmisto.
Huomaa, että jotkut reikät, kuten Pi: n asentamiseen tarvittavat reiät, eivät ole suunnittelussa, koska on parempi porata ne jälkikäteen, jos tulostus vääntyy hieman. Tasainen käsi 3 mm: n poranterä on kaikki mitä tarvitset. Merkitse terän syvyys maalarinteipillä, jotta et vahingossa mene suoraan 7 tunnin tulosteen läpi kuten minä.
Vaihe 9: Tekemistä
- Reaaliaikainen kello oli lisäys sen jälkeen, kun kotelo tulostettiin viidennen kerran, joten se on tällä hetkellä liimattu kuumasaumalla kotelon sivulle, mikä ei näytä hyvältä, joten haluaisin tehdä suunnittelun uudelleen ja lisätä sille paikan.
- 7 -segmentin näytön kirkkaus on tällä hetkellä asetettu kevyimmäksi, mikä ei ole optimaalista voimakkaille valaistusolosuhteille. Haluaisin lisätä valokuvavastuksen kotelon yläosaan ja säätää 7 -segmentin kirkkautta ympäristön valo -olosuhteiden mukaan.
- Pohjan halkeilussa on joitain pieniä suunnitteluongelmia, jotka myös korjataan.
- Kaikki ideat ovat tervetulleita.
Toivon, että pidit tästä opettavaisesta ja löysit sen tarpeeksi inspiroivaksi. Ajatuksena on tarjota alusta, jonka avulla voit lisätä omia ideoitasi. Pidä hauskaa!
Suositeltava:
Smart Home by Raspberry Pi: 5 vaihetta (kuvilla)
Smart Home by Raspberry Pi: Siellä on jo useita tuotteita, jotka tekevät asunnostasi älykkäämmän, mutta suurin osa niistä on omia ratkaisuja. Mutta miksi tarvitset Internet -yhteyden vaihtaaksesi valon älypuhelimellasi? Se oli yksi syy minulle rakentaa oma Smar
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: Tämä projekti toteuttaa 20x10 pikselin WS2812 -pohjaisen LED -näytön, jonka koko on 78x35 cm ja joka voidaan helposti asentaa olohuoneeseen retro -pelejä pelaamaan. Tämän matriisin ensimmäinen versio rakennettiin vuonna 2016 ja monet muut ihmiset rakensivat sen uudelleen. Tämä esimerkki
Borderlands Raspberry Pi: 9 vaihetta (kuvilla)
Borderlands Raspberry Pi: Joten olin eräänä päivänä pelikaupassa ja näin tämän Borderlandsin rekvisiitan raivausosastolla hintaan 20 dollaria, enkä voinut vastustaa sen ostamista. Noin viikon kuluttua ajattelin itselleni: "Voisin suolen kokonaan ja ahdistaa piin sisälle". Silloin seikkailuni alkoi
Raspberry Pi NFS ja Samba -tiedostopalvelin: 11 vaihetta (kuvilla)
Raspberry Pi NFS ja Samba File Server: Tämä projekti on viimeinen tulosvaihe, joka yhdistää kaksi aiemmin tehtyä ja lähetettyä piiriä. *** 1. Raspberry Pi CPU CPU Indicator-Julkaistu 20. marraskuuta 2020https: //www.instructables.com/Raspberry-Pi-CPU-Tem…2. Vadelma Pi
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite