Kazalo:
- 1. korak: Pripravite Pi
- Korak: Povežite vse skupaj
- 3. korak: Preizkusite svoj I2C
- 4. korak: Namestite MySQL in PhpMyAdmin
- 5. korak: Namestite module Python
- 6. korak: Koda za prijavo v bazo podatkov
- 7. korak: Koda za prikaz temp
- 8. korak: 3D -tiskana ohišja
- 9. korak: Kaj morate storiti
Video: Vremenska ura za barometer Raspberry Pi: 9 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
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
Nastavite svoj Raspberry Pi - Podrobnosti na Raspberrypi.org
- Prenesite in namestite izbrano distribucijo Linuxa na kartico SD - uporabil sem Raspbian
- Priključite pi in ga zaženite
- Za priključitev pi na usmerjevalnik sem uporabil adapter za mikro WiFi, saj ohišje ure zakriva vrata Ethernet.
- 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.
- Konfigurirajte I2C na Pi - sledil sem tem navodilom na spletnem mestu Adafruit.
Korak: 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
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
- 0x70 = 7 -segmentni zaslon
- 0x77 = BMP180 Termometer / senzor barometra
- 0x68 = DS3231 Modul ure v realnem času
- 0x57 = DS3231 na krovu EEPROM za shranjevanje alarmnih podatkov.
4. korak: 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.
- Modul Adafruit_BMP085
- Modul SDL_DS3231
- 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
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
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
- 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.
- 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.
- Pri razpokanju podlage je nekaj manjših oblikovalskih težav, ki bodo prav tako odpravljene.
- 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:
Vremenska postaja NaTaLia: Vremenska postaja Arduino s sončno energijo Na pravi poti: 8 korakov (s slikami)
Vremenska postaja NaTaLia: Vremenska postaja na sončni pogon Arduino je ravnala pravilno: Po enem letu uspešnega delovanja na dveh različnih lokacijah delim svoje načrte projektov vremenskih postaj na sončno energijo in razložim, kako se je razvila v sistem, ki lahko resnično preživi dolgo časa obdobja iz sončne energije. Če sledite
Plima in vremenska ura: 9 korakov (s slikami)
Plima in vremenska ura: Čeprav lahko kupite analogne ure, ki imajo eno roko, ki označuje, ali je plima visoka ali nizka ali nekje vmes, sem želel nekaj, kar bi mi povedalo, kdaj bo oseka. Hotel sem nekaj, na kar bi lahko pogledal q
Ura WiFi, časovnik in vremenska postaja, nadzorovano z Blynkom: 5 korakov (s slikami)
Ura WiFi, časovnik in vremenska postaja, nadzorovana z Blynkom: To je digitalna ura Morphing (zahvaljujoč Hari Wiguna za koncept in kodo preoblikovanja), je tudi analogna ura, postaja za poročanje o vremenu in kuhinjski časovnik. Blynk aplikacija na vašem pametnem telefonu prek WiFi. Aplikacija vam omogoča
Vremenska ura: 11 korakov (s slikami)
Vremenska ura: Posodobitev z električno shemo in shemo Fritzing Naredim dva premisa: To je moj prvi Instructable Sem neuk Italijan, ki se v šoli ni učil angleščine, zato sem prosil za pomoč: https: //translate.google.itStart s zahvalo
Vremenska ura: 15 korakov (s slikami)
Vremenska ura: Lepa namizna ura z datumom & prikaz vremena