Sadržaj:
- Korak 1: Pripremite Pi
- Korak 2: Sve povežite
- Korak 3: Testirajte svoj I2C
- Korak 4: Instalirajte MySQL i PhpMyAdmin
- Korak 5: Instalirajte Python module
- Korak 6: Kod za prijavu u bazu podataka
- Korak 7: Kôd za prikaz temp
- Korak 8: 3D štampano kućište
- Korak 9: Šta treba učiniti
Video: Raspberry Pi barometar Vremenski sat: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
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
Postavite svoj Raspberry Pi - Detalji na Raspberrypi.org
- Preuzmite i instalirajte odabranu Linux distribuciju na SD karticu - koristio sam Raspbian
- Uključite pi i pokrenite ga
- Koristio sam mikro WiFi adapter za spajanje pi na ruter jer kućište sata zaklanja Ethernet port.
- Koristio sam način bez glave gdje se povezujete na pi pomoću SSH -a, tako da vam je potrebno samo napajanje.
- Konfigurirajte I2C na Pi - slijedio sam ova uputstva na web stranici Adafruit.
Korak 2: Sve povežite
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
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
- 0x70 = 7 segmentni prikaz
- 0x77 = BMP180 Termometar / senzor barometra
- 0x68 = DS3231 Modul sata u realnom vremenu
- 0x57 = DS3231 na ploči EEPROM -a za spremanje podataka o alarmu.
Korak 4: 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.
- Modul Adafruit_BMP085
- SDL_DS3231 modul
- 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
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
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
- 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.
- 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.
- Postoje neki manji problemi s dizajnom s pucanjem baze koji će također biti popravljeni.
- 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:
Plima i vremenski sat: 9 koraka (sa slikama)
Tide and Weather Clock: Iako možete kupiti analogne sate za oseku koji imaju jednu kazaljku koja pokazuje je li plima velika ili niska ili negdje između, ono što sam htio bilo je nešto što bi mi reklo u koje vrijeme će biti oseka. Htio sam nešto na što bih mogao baciti pogled q
Vremenski sat: 11 koraka (sa slikama)
Vremenski sat: Ažuriranje pomoću električne sheme i Fritzing sheme Napravim dvije premise: Ovo je moj prvi instruktor. Ja sam neznalica Talijan koji nije učio engleski u školi, i zato sam zatražio pomoć na: https: //translate.google.itStart sa zahvalnošću
SMART LED animacijski sat povezan s internetom sa upravljačkom pločom zasnovanom na webu, sinhroniziran vremenski server: 11 koraka (sa slikama)
SMART LED animacijski sat povezan s internetom S upravljačkom pločom zasnovanom na webu, sinhroniziranim vremenskim serverom: Priča o ovom satu seže u daleku prošlost-više od 30 godina. Moj otac je započeo ovu ideju kada sam imao samo 10 godina, mnogo prije LED revolucije - tada kada su LED diode bile 1/1000 svjetline trenutnog zasljepljujućeg sjaja. Istina
Vremenski sat: 15 koraka (sa slikama)
Weather Clock: Desktop sat sa izgledom i datumom & prikaz vremena
ESP8266 Vremenski sat: 6 koraka (sa slikama)
ESP8266 Vremenski sat: Veoma sam ponosan na vaš dolazak i dobrodošli u vas