INHOUDSOPGAWE:

Solar Weather Station: 5 stappe
Solar Weather Station: 5 stappe

Video: Solar Weather Station: 5 stappe

Video: Solar Weather Station: 5 stappe
Video: Boarding a late night ferry service on an overly busy 24/7 ferry|Vending Machine|abroad in Japan 2024, November
Anonim
Sonweerstasie
Sonweerstasie

Het u al ooit real-time weerinligting in u agterplaas wou hê? Nou kan u 'n weerstasie in die winkel koop, maar dit benodig gewoonlik batterye of moet aan 'n stopcontact gekoppel word. Hierdie weerstasie hoef nie aan die netwerk gekoppel te word nie, want dit het sonpanele wat na die son draai vir meer doeltreffendheid. Met sy RF -modules kan dit data van die stasie buite na 'n Raspberry Pi in u huis oordra. Die Raspberry Pi bied 'n webwerf aan waarop u die data kan sien.

Stap 1: Versamel materiaal

Materiaal

  • Raspberry Pi 3 model B + + adapter + Micro SD -kaart 16 GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI basiese uitbreek
  • 4 6V 1W sonpanele
  • 4 18650 batterye
  • Booster 5v
  • 4 TP 4056 batterylaaiers
  • Adafruit DHT22 Temperatuur- en humiditeitsensor
  • BMP180 Barometriese druksensor
  • 4 LDR
  • RF 433 ontvanger en sender
  • 2 Nema 17 Stepper motors
  • 2 DRV8825 Stappermotorbestuurders
  • lcd 128*64
  • Baie drade

Gereedskap en materiaal

  • Gom
  • Houtplanke
  • Sien
  • Skroewe + skroewedraaier
  • Eendband
  • 2 aluminium stroke

Stap 2: Meganiese ontwerp

Meganiese ontwerp
Meganiese ontwerp
Meganiese ontwerp
Meganiese ontwerp
Meganiese ontwerp
Meganiese ontwerp
Meganiese ontwerp
Meganiese ontwerp

Die weerstasie se liggaam is gemaak van laaghout. U hoef nie hout te gebruik nie; u kan dit maak van enige materiaal wat u verkies. Vir die motorhouers het ek 'n geheel in 'n blok hout geboor en dan 'n plat skroef aan die as van die motor geskroef, wat beter werk as wat ek verwag het. Op hierdie manier hoef u nie 'n motorhouer in 3D te druk nie, en dit is maklik om te maak. Toe buig ek 2 aluminiumstroke om die motors baie styf te hou. Ek sny toe 'n plank en boor gate daarin vir die sonpanele. Plak dan die sonpanele daarop en soldeerdrade op die sonpanele vas. Dan moet u ook 'n kruisie van swart materiaal maak. As u niks swart het nie, kan u swart band gebruik. Hierdie kruis bevat 'n LDR in elke hoek, sodat die Arduino die metings van die LDR kan vergelyk en bereken watter rigting dit moet draai. Boor dus klein heeletjies in elke hoek sodat u 'n LDR daar kan inpas. Al wat u nou nog moet doen, is om 'n basisplaat te maak en iets om die elektronika in te sit. Vir die basisplaat moet u 'n geheel daarin boor om al die drade deur te trek. Vir die afmetings gee ek u niks, want dit is aan u hoe u dit wil ontwerp. As u ander motors of ander sonpanele het, moet u die metings self bepaal.

Stap 3: Elektriese ontwerp

Krag

Die hele stelsel werk op batterye (behalwe die Raspberry Pi). Ek het 3 batterye in serie geplaas. 1 battery is gemiddeld 3,7V, dus 3 in serie gee u ongeveer 11V. Hierdie 3s -battery word gebruik vir die motors en die RF -sender. Die ander battery wat oorbly, word gebruik om die Arduino Pro Mini en die sensors aan te dryf. Om die batterye te laai, het ek 4 TP4056 -modules gebruik. Elke battery het 1 TP4056 -module, elke module is aan 'n sonpaneel gekoppel. Omdat die module B (in) en B (uit) het, kan ek dit afsonderlik laai en in serie aflaai. Maak seker dat u die regte TP4056 -modules koop, want nie alle modules het B (in) en B (uit) nie.

Conrtol

Die Arduino Pro Mini beheer die sensors en die motors. Die rou en gemaalde pen van die Arduino is gekoppel aan die 5V -booster. Die 5V -booster is gekoppel aan die enkele battery. Die Arduino Pro Mini het 'n baie lae kragverbruik.

Komponente

DHT22: Ek het hierdie sensor aan die VCC en die grond gekoppel, en ek het die datapennetjie gekoppel aan die digitale pen 10.

BMP180: Ek het hierdie sensor aan die VCC en Ground gekoppel, ek het SCL aan SCL op die Arduino gekoppel en SDA aan SDA op die Arduino. Wees versigtig, want die SCL- en SDA -penne op die Arduino Pro Mini is in die middel van die bord, dus as u penne aan die bord gesoldeer en in 'n broodbord gesit het, werk dit nie, want daar sal inmenging van ander penne wees. Ek het die 2 penne aan die bokant van die bord gesoldeer en 'n draad direk daaraan gekoppel.

RF -sender: ek het dit gekoppel aan die 3s -battery vir 'n beter sein en 'n groter reikafstand. Ek het probeer om dit van die Arduino aan die 5V te koppel, maar dan is die RF -sein super swak. Ek verbind die datapennetjie dan met die digitale pen 12.

LDR: Ek het die 4 LDR's gekoppel aan analoog penne A0, A1, A2, A3. Ek het die LDR's saamgestel met 'n 1K -weerstand.

Motors: Die motors word aangedryf deur 2 DRV8825 -beheermodules. Dit is baie handig omdat dit slegs 2 invoerlyne neem (rigting en stap) en tot 2A per fase vir die motors kan lewer. Ek het dit gekoppel aan digitale penne 2, 3 en 8, 9.

LCD: Ek het die LCD aan die Raspberry Pi gekoppel om sy IP-adres te wys. Ek het 'n trimmer gebruik om die agterlig te reguleer.

RF -ontvanger: ek het die ontvanger op die 5V en grond op die Arduino Uno gekoppel. Die ontvanger moet nie meer as 5V neem nie. Ek verbind die datapennetjie dan met die digitale pen 11. As u 'n biblioteek kan vind vir hierdie RF -modules wat op die Raspberry Pi werk, hoef u nie die Arduino Uno te gebruik nie.

Raspberry Pi: Die Raspberry Pi is via 'n USB -kabel aan die Arduino Uno gekoppel. Die Arduino stuur die RF -seine via 'n seriële verbinding na die Raspberry Pi.

Stap 4: Kom ons begin met kodering

Om die Arduino Pro Mini te kodeer, benodig u die FTDI -programmeerder. Aangesien die Pro Mini geen USB -poort het nie (om krag te bespaar), benodig u die uitbreekbord. Ek het die kode in die Arduino IDE geprogrammeer, ek dink dit is die maklikste manier om dit te doen. Laai die kode uit die lêer op, en dit behoort goed te wees.

Om die Arduino Uno te kodeer, het ek dit via 'n USB -kabel aan my rekenaar gekoppel. Nadat ek die kode opgelaai het, het ek dit aan die Raspberry Pi gekoppel. Ek kon ook die kode op die Raspberry Pi verander omdat ek die Arduino IDE geïnstalleer het, sodat ek dit van daar af kon programmeer. Die kode is baie eenvoudig, dit neem die insette van die ontvanger en stuur dit deur die seriële poort na die Raspberry Pi.

Om die Raspberry Pi te kodeer, het ek Raspbian geïnstalleer. Ek gebruik toe Putty om via 'n SSH -verbinding daaraan te koppel. Ek stel dan die framboos op sodat ek via VNC daaraan kon koppel en dus 'n GUI kon hê. Ek het 'n Apache -webbediener geïnstalleer en die agterkant en voorkant vir hierdie projek begin kodeer. U kan die kode op github vind:

Stap 5: Databasis

Om die data te stoor, gebruik ek 'n SQL -databasis. Ek het die databasis in MySQL Workbench gemaak. Die databasis bevat die sensorlesings en sensordata. Ek het 3 tafels, een vir die stoor van die sensorwaardes met tydstempels, die ander een vir die stoor van inligting oor die sensors en die laaste om inligting oor gebruikers te stoor. Ek gebruik nie die tabel Gebruikers nie, want ek het nie daardie deel van die projek gekodeer nie, aangesien dit nie in my MVP was nie. Laai die SQL -lêer af en voer dit uit, en die databasis moet goed wees.

Aanbeveel: