Sisällysluettelo:

Raspberry Pi Barometer -sääkello: 9 vaihetta (kuvilla)
Raspberry Pi Barometer -sääkello: 9 vaihetta (kuvilla)

Video: Raspberry Pi Barometer -sääkello: 9 vaihetta (kuvilla)

Video: Raspberry Pi Barometer -sääkello: 9 vaihetta (kuvilla)
Video: Raspberry Pi: Use a BMP180 Sensor to display Temp and Barometric Pressure 2024, Marraskuu
Anonim
Raspberry Pi Barometer -sääkello
Raspberry Pi Barometer -sääkello

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

Valmista Pi
Valmista Pi

Määritä Raspberry Pi - Tiedot osoitteessa Raspberrypi.org

  1. Lataa ja asenna valitsemasi Linux -jakelu SD -kortille - käytin Raspbiania
  2. Liitä pi ja käynnistä se
  3. Käytin mikro -WiFi -sovitinta yhdistämään pi reitittimeen, koska kellokotelo peittää Ethernet -portin.
  4. Käytin päätöntä tilaa, jossa muodostat yhteyden pi: hen SSH: n avulla, joten tarvitset vain virran.
  5. Määritä I2C Pi: lle - seurasin näitä ohjeita Adafruit -sivustolla.

Vaihe 2: Yhdistä kaikki

Johdottaa kaikki
Johdottaa 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

Testaa I2C
Testaa I2C

Osa I2C -asennuksesta on ajaa i2cdetect, jonka pitäisi näyttää liitetyltä kuvalta, jos kaikki on kytketty oikein.

Alla vastaavat osoitteet

  1. 0x70 = 7 segmenttinäyttö
  2. 0x77 = BMP180 Lämpömittari / barometri -anturi
  3. 0x68 = DS3231 Real Time Clock -moduuli
  4. 0x57 = DS3231 EEPROMissa hälytystietojen tallentamista varten.

Vaihe 4: Asenna MySQL ja PhpMyAdmin

Asenna MySQL ja PhpMyAdmin
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.

  1. Adafruit_BMP085 -moduuli
  2. SDL_DS3231 -moduuli
  3. 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

Koodi näytölle Lämpötila
Koodi näytölle Lämpötila
Koodi näytölle Lämpötila
Koodi näytölle Lämpötila
Koodi näytölle Lämpötila
Koodi näytölle Lämpötila
Koodi näytölle Lämpötila
Koodi näytölle 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

3D -painettu kotelo
3D -painettu kotelo
3D -painettu kotelo
3D -painettu kotelo
3D -painettu kotelo
3D -painettu kotelo
3D -painettu kotelo
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ä

Asioita tehtävänä
Asioita tehtävänä
  1. 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.
  2. 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.
  3. Pohjan halkeilussa on joitain pieniä suunnitteluongelmia, jotka myös korjataan.
  4. 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: