Sadržaj:

Raspberry Pi barometar Vremenski sat: 9 koraka (sa slikama)
Raspberry Pi barometar Vremenski sat: 9 koraka (sa slikama)

Video: Raspberry Pi barometar Vremenski sat: 9 koraka (sa slikama)

Video: Raspberry Pi barometar Vremenski sat: 9 koraka (sa slikama)
Video: ВОДА приближается! Рыбалка в диком месте. Забыл спички!! 2024, Novembar
Anonim
Raspberry Pi Barometer Weather Clock
Raspberry Pi Barometer Weather Clock

U ovom uputstvu ću vam pokazati kako izgraditi osnovni sat termometra / barometra koristeći Raspberry Pi 2 sa BMP180 I2C senzorom koji se prikazuje na 4 -cifrenom 7 -segmentnom I2C ekranu Adafruit. Pi takođe koristi DS3231 I2C satni modul u realnom vremenu za održavanje vremena pri ponovnom pokretanju Pi.

Sat prolazi kroz 4 faze po 5 sekundi. Prvo prikazuje temperaturu u Celzijusima, zatim u Fahrenheitu, zatim barometarski tlak u kPa *(hoda ovaj broj ulijevo zbog ograničenog broja znamenki) i na kraju pokazuje trend promjene barometrijskog tlaka između sadašnjeg i prosjeka prethodni sat.

Ono što ovaj sat razlikuje od većine je to što koristi MySQL bazu podataka na Pi za bilježenje podataka s BMP180 svake minute. Budući da trenutni barometarski tlak nije toliko vrijedan koliko njegovo kretanje nagore ili naniže u danom vremenskom periodu, ona koristi ovu bazu podataka za izračunavanje prosjeka za sat vremena između 2 sata i 1 sata i uspoređuje ga sa trenutnim pritiskom. Značajno povećanje barometarskog pritiska obično je ukazivalo na poboljšanje vremenskih uslova u odnosu na veliki pad koji bi mogao upozoriti na predstojeću oluju.

Sat je smješten u 3D štampanom ABS kućištu sa BMP180 u ventilacionom poklopcu na zadnjoj strani sata kako bi se spriječilo da toplina koju stvara Pi utiče na očitanja temperature. Ja ću vam dati Autodesk 123D šemu dizajna ako želite da štampate svoju.

Sat se napaja standardnom USB zidnom bradavicom i troši ukupno oko 450 mA.

Neću ulaziti u previše detalja o osnovnom postavljanju Pi i I2C jer je to bilo pokriveno u mnogim drugim uputama na koje ću dati veze.

Korak 1: Pripremite Pi

Pripremite Pi
Pripremite Pi

Postavite svoj Raspberry Pi - Detalji na Raspberrypi.org

  1. Preuzmite i instalirajte odabranu Linux distribuciju na SD karticu - koristio sam Raspbian
  2. Uključite pi i pokrenite ga
  3. Koristio sam mikro WiFi adapter za spajanje pi na ruter jer kućište sata zaklanja Ethernet port.
  4. Koristio sam način bez glave gdje se povezujete na pi pomoću SSH -a, tako da vam je potrebno samo napajanje.
  5. Konfigurirajte I2C na Pi - slijedio sam ova uputstva na web stranici Adafruit.

Korak 2: Sve povežite

Ožičite sve
Ožičite sve

Svi moduli koje koristim u ovom projektu su tolerantni na 5V i koriste I2C koji je 2 -žični protokol koji se koristi za međusobnu komunikaciju IC -ova, pa je ožičenje prilično jednostavno. Spojite sve VCC na 5 V, sve uzemljenje zajedno i sve SCA i SCL vodove zajedno prema shemi. Posao završen.

Korak 3: Testirajte svoj I2C

Testirajte svoj I2C
Testirajte svoj I2C

Dio instalacije I2C je pokretanje i2cdetect koji bi trebao izgledati kao priložena slika ako je sve ispravno ožičeno.

Ispod se nalaze odgovarajuće adrese

  1. 0x70 = 7 segmentni prikaz
  2. 0x77 = BMP180 Termometar / senzor barometra
  3. 0x68 = DS3231 Modul sata u realnom vremenu
  4. 0x57 = DS3231 na ploči EEPROM -a za spremanje podataka o alarmu.

Korak 4: Instalirajte MySQL i PhpMyAdmin

Instalirajte MySQL i PhpMyAdmin
Instalirajte MySQL i PhpMyAdmin

Instaliranje mySQL je prilično jednostavno ako slijedite upute ovdje

sudo apt-get install mysql-server

Također sam instalirao phpMyAdmin, web stranicu koja radi na Apacheu, a koju možete koristiti za kreiranje i upravljanje mySQL bazama podataka. Vodič ovdje

sudo apt-get install phpmyadmin

Nakon instalacije postavio sam bazu podataka pod nazivom BP180 koristeći phpMyAdmin sa strukturom prema slici.

Također koristim python modul zvan mysqlDB koji možete instalirati pomoću

sudo apt-get install python-mysqldb

Korak 5: Instalirajte Python module

Preuzmite i instalirajte dolje navedene python module koje ćete koristiti za povezivanje sa senzorima.

  1. Modul Adafruit_BMP085
  2. SDL_DS3231 modul
  3. Adapruit 7 segmentni modul

Korak 6: Kod za prijavu u bazu podataka

Ispod isječak koda koristi se za bilježenje temperature i barometarskog pritiska i poziva se iz cron skripte (planirani zadaci Linuxa) koja se pokreće svakih 5 minuta. Da biste naučili kako koristiti crond, pogledajte ovaj vodič.

NB! Ne trudite se razbacivati moje vještine kodiranja, ja nisam programer, pa da, vjerojatno postoji milijun boljih, bržih, glatkijih i čistijih načina za to

Primijetit ćete u kodu da se temperatura smanjuje za 7 stupnjeva što je ekvivalentno toplini koju proizvodi Raspberry Pi čak i ako je BMP180 montiran na vanjskoj strani kućišta. Kada sam ga prvobitno držao u kućištu bilo je oko 15 stepeni toplije od ambijenta. Čini se da je to prilično linearno, ali nisam imao priliku testirati krajnosti. Povratne informacije o vašim iskustvima bile bi cijenjene.

Korak 7: Kôd za prikaz temp

Kôd za prikaz temp
Kôd za prikaz temp
Kôd za prikaz temp
Kôd za prikaz temp
Kôd za prikaz temp
Kôd za prikaz temp
Kôd za prikaz temp
Kôd za prikaz temp

Ovaj kôd je pozvan da se kreće kroz prikaz prema uvodu.

Opet, nisam programer pa je kod zaista grub, ali radi

Korak 8: 3D štampano kućište

3D štampano kućište
3D štampano kućište
3D štampano kućište
3D štampano kućište
3D štampano kućište
3D štampano kućište
3D štampano kućište
3D štampano kućište

Slijedi dizajn kućišta. To je bilo prilično izazovno jer je oblik sklon iskrivljavanju jer su dijelovi vanjske ljuske debeli samo 2 mm. Prvo sam nacrtao makete Pi i svih dijelova, a zatim sam dizajnirao kućište oko njega. Štampanje je trajalo oko 7 sati na mom RapManu 3.2 (koji je prilično spor štampač) na dubini od 0,25 slojeva.

Priložena shema je urađena u Autodesk 123D Design za koji mislim da je fantastičan komad besplatnog softvera.

Imajte na umu da neke rupe poput onih koje su potrebne za postavljanje Pi nisu u dizajnu jer je bolje izbušiti ih kasnije u slučaju da vam se ispis malo iskrivi. Mirna ruka svrdla od 3 mm je sve što vam treba. Označite dubinu na svrdlu maskirnom trakom kako slučajno ne biste prošli ravno kroz svoj 7 -časovni ispis kao ja.

Korak 9: Šta treba učiniti

Stvari koje treba učiniti
Stvari koje treba učiniti
  1. Sat u realnom vremenu je bio dodatak nakon što je kućište štampano po peti put, pa je trenutno vruće zalijepljeno na stranu kućišta koja ne izgleda dobro pa bih htio ponovo napraviti dizajn i dodati mu mjesto.
  2. Osvetljenost 7 -segmentnog ekrana trenutno je podešena na najmanju, što nije optimalno za uslove jakog osvetljenja. Želim dodati foto otpornik na vrh kućišta i prilagoditi svjetlinu 7 segmenata na osnovu uslova ambijentalnog svjetla.
  3. Postoje neki manji problemi s dizajnom s pucanjem baze koji će također biti popravljeni.
  4. Sve ideje su dobrodošle.

Nadam se da ste uživali u ovom uputstvu i da ste ga našli dovoljno inspirativnim da krenete. Ideja je pružiti platformu koju možete koristiti za dodavanje vlastitih ideja. Zabavi se!

Preporučuje se: