Sadržaj:

Vremenski sat s barometerom Raspberry Pi: 9 koraka (sa slikama)
Vremenski sat s barometerom Raspberry Pi: 9 koraka (sa slikama)

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

Video: Vremenski sat s barometerom Raspberry Pi: 9 koraka (sa slikama)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Studeni
Anonim
Vremenski sat od barometra Raspberry Pi
Vremenski sat od barometra Raspberry Pi

U ovom uputstvu pokazat ću vam kako izgraditi osnovni sat termometra / barometra pomoću Raspberry Pi 2 s BMP180 I2C senzorom koji se prikazuje na 4 -znamenkastom 7 -segmentnom I2C zaslonu Adafruit. Pi također koristi DS231 I2C satni modul u stvarnom vremenu kako bi zadržao vrijeme pri ponovnom pokretanju Pi.

Sat prolazi kroz 4 stupnja 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 trenutačni barometarski tlak nije toliko vrijedan koliko njegovo kretanje prema gore ili prema dolje tijekom određenog vremenskog razdoblja, ona koristi ovu bazu podataka za izračun prosjeka za sat vremena između 2 sata i 1 sat i uspoređuje ga s trenutnim tlakom. Značajno povećanje barometrijskog tlaka obično je ukazivalo na poboljšanje vremenskih uvjeta u odnosu na veliki pad koji bi mogao upozoriti na nadolazeću oluju.

Sat je smješten u 3D tiskano kućište od ABS -a s BMP180 u poklopcu sa otvorom za zrak na stražnjoj strani sata kako bi se spriječilo da toplina koju stvara Pi utječe na očitanja temperature. Dostavit ću shemu Autodesk 123D Design ako želite ispisati vlastitu.

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 - Pojedinosti na Raspberrypi.org

  1. Preuzmite i instalirajte odabranu distribuciju Linuxa na SD karticu - koristio sam Raspbian
  2. Uključite pi i pokrenite ga
  3. Koristio sam mikro WiFi adapter za spajanje pi na svoj usmjerivač jer kućište sata zaklanja Ethernet priključak.
  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 ove upute na web stranici Adafruit.

Korak 2: Ožičite sve

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

Svi moduli koje koristim u ovom projektu toleriraju 5V i koriste I2C koji je 2 -žični protokol koji se koristi za međusobnu komunikaciju IC -a, 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 obavljen.

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 stvarnom vremenu
  4. 0x57 = DS3231 na EEPROM -u na ploči za spremanje podataka o alarmu.

Korak 4: Instalirajte MySQL i PhpMyAdmin

Instalirajte MySQL i PhpMyAdmin
Instalirajte MySQL i PhpMyAdmin

Instaliranje mySQL -a prilično je 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 stvaranje i upravljanje bazama podataka MySQL. 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. Modul Adafruit 7 Segment

Korak 6: Kod za prijavu u bazu podataka

Ispod isječak koda koristi se za bilježenje temperature i barometrijskog tlaka, a poziva se iz cron skripte (zakazani zadaci Linuxa) koja se izvodi svakih 5 minuta. Da biste saznali kako koristiti crond, pogledajte ovaj vodič.

Napomena! Ne trudite se uništavati 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 postavljen s vanjske strane kućišta. Kad sam ga prvotno imao unutar kućišta, bilo je oko 15 stupnjeva toplije od ambijenta. Čini se da je to prilično linearno, ali nisam imao prilike isprobati 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 zaslon prema uvodu.

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

Korak 8: 3D tiskano kućište

3D tiskano kućište
3D tiskano kućište
3D tiskano kućište
3D tiskano kućište
3D tiskano kućište
3D tiskano kućište
3D tiskano kućište
3D tiskano 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. Ispis je trajao oko 7 sati na mom RapManu 3.2 (koji je prilično spor pisač) na dubini od 0,25 slojeva.

Priložena shema napravljena je u Autodesk 123D Design za koji mislim da je fantastičan besplatni softver.

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

Korak 9: Što učiniti

Stvari za napraviti
Stvari za napraviti
  1. Sat u stvarnom vremenu bio je dodatak nakon što je kućište tiskano peti put, pa je trenutno vruće zalijepljeno na stranu kućišta što ne izgleda dobro pa bih htio ponovno napraviti dizajn i dodati mjesto za to.
  2. Svjetlina 7 -segmentnog zaslona trenutno je postavljena na najmanju, što nije optimalno za jake svjetlosne uvjete. Htio bih dodati foto otpornik na vrh kućišta i prilagoditi svjetlinu 7 segmenata na temelju uvjeta ambijentalnog osvjetljenja.
  3. Postoje neki manji problemi s dizajnom s pucanjem baze koji će se također popraviti.
  4. Sve ideje su dobrodošle.

Nadam se da ste uživali u ovom uputstvu i da ste ga pronašli dovoljno nadahnjujućim za početak. Ideja je pružiti platformu koju možete koristiti za dodavanje vlastitih ideja. Zabavi se!

Preporučeni: