Sadržaj:
- Korak 1: Pripremite Pi
- Korak 2: Ožičite sve
- 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 tiskano kućište
- Korak 9: Što učiniti
Video: Vremenski sat s barometerom Raspberry Pi: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
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
Postavite svoj Raspberry Pi - Pojedinosti na Raspberrypi.org
- Preuzmite i instalirajte odabranu distribuciju Linuxa na SD karticu - koristio sam Raspbian
- Uključite pi i pokrenite ga
- Koristio sam mikro WiFi adapter za spajanje pi na svoj usmjerivač jer kućište sata zaklanja Ethernet priključak.
- 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 ove upute na web stranici Adafruit.
Korak 2: 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
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 stvarnom vremenu
- 0x57 = DS3231 na EEPROM -u na ploči za spremanje podataka o alarmu.
Korak 4: 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.
- Modul Adafruit_BMP085
- SDL_DS3231 modul
- 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
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
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
- 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.
- 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.
- Postoje neki manji problemi s dizajnom s pucanjem baze koji će se također popraviti.
- 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:
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 u što bih mogao baciti pogled q
Pravi vremenski sat pomoću AT89s52: 3 koraka
Stvarni sat sa mjernim vremenom pomoću AT89s52: DOBRODOŠLI NAZAD, Ovo je Shubham Trivedi i danas ću dizajnirati sat u stvarnom vremenu pomoću mikrokontrolera At89s52. Mikrokontroler AT89S52 srce je ovog projekta. DS1307 IC se koristi kao RTC. Ovaj DS1307 IC zahtijeva I2C sučelje, ali 89
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
Vremenski sat: 15 koraka (sa slikama)
Vremenski sat: Lijep stolni sat s datumom & prikaz vremena
ESP8266 Vremenski sat: 6 koraka (sa slikama)
ESP8266 Vremenski sat: Jako sam ponosan na vaš dolazak i dobrodošli u vas