Kazalo:

Vremenska ura za barometer Raspberry Pi: 9 korakov (s slikami)
Vremenska ura za barometer Raspberry Pi: 9 korakov (s slikami)

Video: Vremenska ura za barometer Raspberry Pi: 9 korakov (s slikami)

Video: Vremenska ura za barometer Raspberry Pi: 9 korakov (s slikami)
Video: Термометр + гигрометр + барометр + метеостанция + часы в одном Hama th-100. 2024, November
Anonim
Vremenska ura Barometer Raspberry Pi
Vremenska ura Barometer Raspberry Pi

V tem navodilu vam bom pokazal, kako zgraditi osnovno uro termometra / barometra z uporabo Raspberry Pi 2 s senzorjem BMP180 I2C, ki se prikazuje na 4 -mestnem 7 -segmentnem I2C zaslonu Adafruit. Pi uporablja tudi modul ure I2C v realnem času DS3231 za merjenje časa ob ponovnem zagonu Pi.

Ura se vrti skozi 4 stopnje po 5 sekund. Najprej prikazuje temperaturo v Celzijah, nato v Fahrenheitu, nato barometrični tlak v kPa *(zaradi omejenega števila številk se sprehaja v levo), nazadnje pa kaže trend spreminjanja barometričnega tlaka med zdaj in povprečjem prejšnjo uro.

Ta ura se od večine razlikuje po tem, da uporablja bazo podatkov MySQL na Pi za beleženje podatkov iz BMP180 vsako minuto. Ker trenutni barometrični tlak ni tako dragocen kot njegovo gibanje navzgor ali navzdol v določenem časovnem obdobju, v tej zbirki podatkov izračuna povprečje za časovno obdobje med 2 in 1 uro in to primerja s trenutnim tlakom. Znatno povečanje barometričnega tlaka je običajno kazalo na izboljšanje vremenskih razmer v primerjavi z velikim padcem bi lahko opozorilo na bližajočo se nevihto.

Ura je nameščena v 3D tiskanem ohišju ABS z BMP180 v odzračevalnem pokrovčku na zadnji strani ure, da prepreči, da bi toplota, ki jo ustvari Pi, vplivala na odčitke temperature. Če želite natisniti svojega, vam bom posredoval shemo Autodesk 123D Design.

Ura se napaja s standardno stensko bradavico USB in porabi skupaj okoli 450 mA.

Ne bom se spuščal v preveč podrobnosti o osnovnih nastavitvah Pi in I2C, saj je bilo to opisano v številnih drugih navodilih, do katerih bom dal povezave.

1. korak: Pripravite Pi

Pripravite Pi
Pripravite Pi

Nastavite svoj Raspberry Pi - Podrobnosti na Raspberrypi.org

  1. Prenesite in namestite izbrano distribucijo Linuxa na kartico SD - uporabil sem Raspbian
  2. Priključite pi in ga zaženite
  3. Za priključitev pi na usmerjevalnik sem uporabil adapter za mikro WiFi, saj ohišje ure zakriva vrata Ethernet.
  4. Uporabil sem način brez glave, kjer se povežete s pi s pomočjo SSH, zato je vse, kar potrebujete, priključeno na napajanje.
  5. Konfigurirajte I2C na Pi - sledil sem tem navodilom na spletnem mestu Adafruit.

Korak: Povežite vse skupaj

Povežite vse skupaj
Povežite vse skupaj

Vsi moduli, ki jih uporabljam v tem projektu, so tolerantni na 5V in uporabljajo I2C, ki je 2 -žični protokol, ki se uporablja za medsebojno komunikacijo IC, zato je ožičenje precej preprosto. Priključite vse VCC na 5 V, vse podlage skupaj in vse linije SCA in SCL skupaj po shemi. Delo opravljeno.

3. korak: Preizkusite svoj I2C

Preizkusite svoj I2C
Preizkusite svoj I2C

Del namestitve I2C je zagon i2cdetect, ki bi moral izgledati kot priložena slika, če je vse pravilno povezano.

Spodaj so ujemajoči se naslovi

  1. 0x70 = 7 -segmentni zaslon
  2. 0x77 = BMP180 Termometer / senzor barometra
  3. 0x68 = DS3231 Modul ure v realnem času
  4. 0x57 = DS3231 na krovu EEPROM za shranjevanje alarmnih podatkov.

4. korak: Namestite MySQL in PhpMyAdmin

Namestite MySQL in PhpMyAdmin
Namestite MySQL in PhpMyAdmin

Namestitev mySQL je precej preprosta, če sledite vadnici tukaj

sudo apt-get install mysql-server

Namestil sem tudi phpMyAdmin, ki je spletno mesto, ki deluje na Apacheu in ga lahko uporabite za ustvarjanje in upravljanje baz podatkov mySQL. Vadnica tukaj

sudo apt-get install phpmyadmin

Ko sem nameščen, sem z phpMyAdminom postavil zbirko podatkov, imenovano BP180, s strukturo po sliki.

Uporabljam tudi modul python, imenovan mysqlDB, ki ga lahko namestite z uporabo

sudo apt-get install python-mysqldb

5. korak: Namestite module Python

Prenesite in namestite spodnje module python, ki jih boste uporabili za povezavo s senzorji.

  1. Modul Adafruit_BMP085
  2. Modul SDL_DS3231
  3. Modul Adafruit 7 Segment

6. korak: Koda za prijavo v bazo podatkov

Spodnji delček kode se uporablja za beleženje temperature in barometričnega tlaka ter se kliče iz skripta cron (načrtovana opravila v sistemu Linux), ki se izvaja vsakih 5 minut. Če želite izvedeti, kako uporabljati crond, si oglejte to vadnico.

Opomba! Ne obremenjujte se s kodiranjem, nisem razvijalec, zato je verjetno milijon boljših, hitrejših, bolj gladkih in čistejših načinov za to

V kodi boste opazili, da se temperatura zniža za 7 stopinj, kar je enako toploti, ki jo proizvaja Raspberry Pi, tudi če je BMP180 nameščen na zunanji strani ohišja. Ko sem ga sprva imel v ohišju, je bilo približno 15 stopinj vroče od okolice. Zdi se, da je precej linearno, vendar nisem imel priložnosti preizkusiti nobenih skrajnosti. Veseli bomo povratnih informacij o vaših izkušnjah.

7. korak: Koda za prikaz temp

Koda za prikaz Temp
Koda za prikaz Temp
Koda za prikaz Temp
Koda za prikaz Temp
Koda za prikaz Temp
Koda za prikaz Temp
Koda za prikaz Temp
Koda za prikaz Temp

Ta koda se po uvodu pokliče po zaslonu.

Še enkrat, nisem razvijalec, zato je koda res groba, vendar deluje

8. korak: 3D -tiskana ohišja

3D tiskano ohišje
3D tiskano ohišje
3D tiskano ohišje
3D tiskano ohišje
3D tiskano ohišje
3D tiskano ohišje
3D tiskano ohišje
3D tiskano ohišje

Naslednja je zasnova ohišja. To je bilo precej zahtevno, saj je oblika nagnjena k deformaciji, ker so deli zunanje lupine debeli le 2 mm. Najprej sem narisal makete Pi in vseh delov, nato pa zasnoval ohišje okoli njega. Tiskanje je trajalo približno 7 ur na mojem RapManu 3.2 (kar je precej počasen tiskalnik) na globini 0,25 sloja.

Priložena shema je narejena v Autodesku 123D Design, kar se mi zdi fantastičen kos brezplačne programske opreme.

Upoštevajte, da nekatere luknje, kot so tiste, ki so potrebne za pritrditev Pi, niso oblikovane, zato jih je bolje pozneje izvrtati, če se vaš odtis nekoliko upogne. Mirno roko 3 mm sveder je vse, kar potrebujete. Z nekaj maskirnega traku označite globino na nastavku, da ne boste pomotoma šli naravnost skozi svoj 7 -urni tisk, kot sem jaz.

9. korak: Kaj morate storiti

Stvari za narediti
Stvari za narediti
  1. Ura v realnem času je bila dodatek po tiskanju ohišja že petič, zato je trenutno vroče prilepljena na stran ohišja, ki ni videti dobro, zato bi rada na novo oblikovala in ji dodala mesto.
  2. Svetlost 7 -segmentnega zaslona je trenutno nastavljena na najmanjšo, kar ni optimalno za močne svetlobne pogoje. Na vrh ohišja bi rad dodal foto upor in prilagodil svetlost 7 segmentov glede na razmere svetlobe v okolici.
  3. Pri razpokanju podlage je nekaj manjših oblikovalskih težav, ki bodo prav tako odpravljene.
  4. Vse ideje so dobrodošle.

Upam, da ste uživali v tem navodilu in se vam je zdelo dovolj navdihujoče, da ste lahko nadaljevali. Ideja je zagotoviti platformo, na kateri lahko dodate svoje zamisli. Zabavaj se!

Priporočena: