Solarna meteorološka stanica: 5 koraka
Solarna meteorološka stanica: 5 koraka
Anonim
Solarna meteorološka stanica
Solarna meteorološka stanica

Jeste li ikada iz svog dvorišta željeli vremenske informacije u stvarnom vremenu? Sada možete kupiti meteorološku stanicu u trgovini, ali one obično zahtijevaju baterije ili ih je potrebno spojiti na utičnicu. Ovu meteorološku postaju nije potrebno spajati na mrežu jer ima solarne ploče koje se okreću prema suncu radi veće učinkovitosti. Sa svojim RF modulima može prenositi podatke sa stanice izvan na Raspberry Pi unutar vašeg doma. Raspberry Pi ima web stranicu na kojoj možete vidjeti podatke.

Korak 1: Prikupite materijale

Materijali

  • Raspberry Pi 3 model B + + adapter + Micro SD kartica 16 GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI osnovni proboj
  • 4 solarna panela 6V 1W
  • 4 baterije 18650
  • Pojačivač 5v
  • 4 punjača baterija TP 4056
  • Senzor temperature i vlage Adafruit DHT22
  • BMP180 Senzor barometrijskog tlaka
  • 4 LDR
  • RF 433 prijemnik i odašiljač
  • 2 Nema 17 Koračni motori
  • 2 DRV8825 pokretača koračnih motora
  • LCD 128*64
  • Puno žica

Alati i materijali

  • Ljepilo
  • Drvene palete
  • Pila
  • Vijci + odvijač
  • Patka traka
  • 2 aluminijske trake

Korak 2: Mehaničko projektiranje

Strojarski dizajn
Strojarski dizajn
Strojarski dizajn
Strojarski dizajn
Strojarski dizajn
Strojarski dizajn
Strojarski dizajn
Strojarski dizajn

Tijelo meteorološke postaje izrađeno je od šperploče. Ne morate koristiti drvo, možete ga napraviti od bilo kojeg materijala koji vam se više sviđa. Za nosače motora izbušio sam cijelu cjelinu u drvenom bloku, a zatim uvrnuo ravni vijak na osovinu motora, što radi bolje nego što sam očekivao. Na taj način ne morate 3D ispisivati nosač motora, a jednostavno ga je izraditi. Zatim sam savio 2 aluminijske trake kako bih jako držao motore. Zatim sam izrezao dasku i izbušio u njoj rupe za solarne ploče. Zatim na njega zalijepite solarne ploče i zalemite žice na solarne ploče. Tada ćete također morati napraviti križ od crnog materijala. Ako nemate ništa crno, možete upotrijebiti crnu traku. Ovaj križ će držati LDR u svakom kutu tako da Arduino može usporediti mjerenja iz LDR -a i izračunati u kojem smjeru se treba okrenuti. Zato izbušite male cijeline u svakom kutu kako biste u nju mogli ugraditi LDR. Sada preostaje samo napraviti temeljnu ploču i nešto u što će se staviti elektronika. Za osnovnu ploču morat ćete izbušiti cijelu cjelinu kako biste sve žice provukli kroz korito. Za mjerenja vam neću dati ništa jer na vama je kako to želite dizajnirati. Ako imate druge motore ili druge solarne ploče, morat ćete sami utvrditi mjerenja.

Korak 3: Električno projektiranje

Vlast

Cijeli sustav radi na baterije (osim Raspberry Pi). Stavio sam 3 baterije u seriju. 1 Baterija je u prosjeku 3,7 V, pa vam 3 u seriji daju oko 11 V. Ova 3s baterija koristi se za motore i RF odašiljač. Druga preostala baterija koristi se za napajanje Arduino Pro Mini i senzora. Za punjenje baterija koristio sam 4 modula TP4056. Svaka baterija ima 1 modul TP4056, svaki modul je spojen na solarnu ploču. Budući da modul ima B (ulaz) i B (izlaz), mogu ih puniti zasebno i prazniti u seriji. Kupite odgovarajuće module TP4056 jer nemaju svi moduli B (ulaz) i B (izlaz).

Conrtol

Arduino Pro Mini upravlja senzorima i motorima. Sirovi i uzemljeni pin Arduina spojen je na 5V pojačivač. Pojačalo od 5 V spojeno je na jednu bateriju. Arduino Pro Mini ima vrlo nisku potrošnju energije.

Komponente

DHT22: Spojio sam ovaj senzor na VCC i uzemljenje, a zatim sam spojio podatkovni pin na digitalni pin 10.

BMP180: Spojio sam ovaj senzor na VCC i Ground, spojio sam SCL na SCL na Arduinu i SDA na SDA na Arduinu. Budite oprezni jer se SCL i SDA igle na Arduino Pro Mini nalaze u sredini ploče, pa ako ste lemili igle na ploču i stavili ih na ploču s osnovom, to neće raditi jer ćete imati smetnje s drugih iglica. Lemio sam te 2 igle na vrhu ploče i spojio žicu izravno na nju.

RF odašiljač: Spojio sam ga na 3s bateriju radi boljeg signala i većeg dometa. Pokušao sam ga spojiti na 5V s Arduina, ali tada je RF signal jako slab. Zatim sam spojio podatkovni pin na digitalni pin 12.

LDR: Spojio sam 4 LDR -a na analogne pinove A0, A1, A2, A3. LDR -ove sam spojio s 1K otpornikom.

Motori: Motore pokreću 2 upravljačka modula DRV8825. Oni su vrlo zgodni jer uzimaju samo 2 ulazne linije (smjer i korak) i mogu proizvesti do 2A po fazi do motora. Imam ih spojene na digitalne pinove 2, 3 i 8, 9.

LCD: Spojio sam LCD na Raspberry Pi kako bih pokazao njegovu IP adresu. Za podešavanje pozadinskog osvjetljenja koristio sam trimer.

RF prijemnik: Spojio sam prijemnik na Arduino Uno na 5V i uzemljenje. Prijemnik ne smije uzimati više od 5V. Zatim sam spojio podatkovni pin na digitalni pin 11. Ako možete pronaći knjižnicu za ove RF module koja radi na Raspberry Pi, onda ne morate koristiti Arduino Uno.

Raspberry Pi: Raspberry Pi je spojen na Arduino Uno putem USB kabela. Arduino prenosi RF signale na Raspberry Pi putem serijske veze.

Korak 4: Počnimo kodirati

Za kodiranje Arduino Pro Mini trebat će vam FTDI programer. Budući da Pro Mini nema USB priključak (radi uštede energije), trebat će vam ta ploča za razbijanje. Kôd sam programirao u Arduino IDE -u, mislim da je to najlakši način za to. Prenesite kôd iz datoteke i bilo bi dobro da krenete.

Kako bih kodirao Arduino Uno, spojio sam ga na računalo putem USB kabela. Nakon što sam učitao kôd, spojio sam ga na Raspberry Pi. Također sam uspio promijeniti kôd na Raspberry Pi -u jer sam instalirao Arduino IDE pa sam ga od tamo mogao programirati. Kod je vrlo jednostavan, uzima ulaz od prijemnika i šalje ga preko serijskog porta na Raspberry Pi.

Da bih kodirao Raspberry Pi, instalirao sam Raspbian. Zatim sam koristio Putty za spajanje na njega putem SSH veze. Zatim konfiguriram Raspberry kako bih se mogao povezati s njim putem VNC -a i tako imati grafičko sučelje. Instalirao sam Apache web poslužitelj i počeo kodirati pozadinu i sučelje za ovaj projekt. Kôd možete pronaći na githubu:

Korak 5: Baza podataka

Za pohranu podataka koristim SQL bazu podataka. Bazu sam napravio u MySQL Workbench -u. Baza podataka sadrži očitanja senzora i podatke senzora. Imam 3 tablice, jednu za spremanje vrijednosti senzora s vremenskim oznakama, drugu za spremanje podataka o senzorima i posljednju za pohranu podataka o korisnicima. Ne koristim tablicu Users jer nisam kodirao taj dio projekta jer nije bio u mom MVP -u. Preuzmite i izvedite SQL datoteku i baza podataka bi trebala biti spremna.

Preporučeni: