Sisukord:

Päikeseilmajaam: 5 sammu
Päikeseilmajaam: 5 sammu

Video: Päikeseilmajaam: 5 sammu

Video: Päikeseilmajaam: 5 sammu
Video: ÜLEVAADE BAKEEY KODUNE ILMAJAAM KOOS ВЫНОСНЫМ JUHTMEVABA ANDURIGA 2024, November
Anonim
Päikese ilmajaam
Päikese ilmajaam

Kas olete kunagi soovinud oma koduõuelt reaalajas ilmateavet? Nüüd saate poest osta ilmajaama, kuid tavaliselt vajavad need patareisid või peavad need olema vooluvõrku ühendatud. Seda ilmajaama ei pea võrku ühendama, sest sellel on päikesepaneelid, mis pöörlevad päikese poole suurema tõhususe saavutamiseks. Tänu oma RF -moodulitele saab see andmeid väljast jaamast teie koju Raspberry Pi -le edastada. Raspberry Pi majutab veebisaiti, kus saate andmeid vaadata.

Samm: koguge materjalid

Materjalid

  • Raspberry Pi 3 mudel B + + adapter + Micro SD -kaart 16 GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI põhiline läbimurre
  • 4 6V 1W päikesepaneeli
  • 4 18650 patareid
  • Võimendi 5v
  • 4 TP 4056 akulaadijat
  • Adafruit DHT22 temperatuuri ja niiskuse andur
  • BMP180 õhurõhu andur
  • 4 LDR
  • RF 433 vastuvõtja ja saatja
  • 2 Nema 17 samm -mootorid
  • 2 DRV8825 samm -mootoriga draiverit
  • LCD 128*64
  • Palju juhtmeid

Tööriistad ja materjalid

  • Liim
  • Puidust plangud
  • Saag
  • Kruvid + kruvikeeraja
  • Kleeplint
  • 2 alumiiniumriba

2. etapp: mehaaniline disain

Mehaaniline disain
Mehaaniline disain
Mehaaniline disain
Mehaaniline disain
Mehaaniline disain
Mehaaniline disain
Mehaaniline disain
Mehaaniline disain

Ilmajaama korpus on valmistatud vineerist. Te ei pea puitu kasutama, saate seda valmistada mis tahes materjalist, mida eelistate. Mootorikinnituste jaoks puurisin puiduplokki tervikuks ja seejärel kruvisin mootori võlli külge lameda kruvi, mis töötab paremini, kui ma ootasin. Nii ei pea te mootorikinnitust 3D -printima ja seda on lihtne teha. Seejärel painutasin 2 alumiiniumriba, et mootorid väga pingul hoida. Lõikasin siis plangu välja ja puurisin sinna päikesepaneelide jaoks augud. Seejärel liimige päikesepaneelid sellele ja jootke juhtmed päikesepaneelide külge. Siis peate ka mustast materjalist risti tegema. Kui teil pole midagi musta, võite kasutada musta linti. Sellel ristil on igas nurgas LDR, nii et Arduino saab võrrelda LDR -i mõõtmisi ja arvutada, millises suunas ta peab pöörama. Nii et puurige igasse nurka pisikesi terveid, et saaksite sinna LDR -i mahutada. Kõik, mis on jäänud teha, on teha alusplaat ja midagi elektroonikat sisse panna. Alusplaadi jaoks peate puurima sellesse kogu, et juhtmed läbida. Mõõtmiste jaoks ei anna ma teile ühtegi, sest see on tõesti teie otsustada, kuidas soovite seda kujundada. Kui teil on muid mootoreid või muid päikesepaneele, peate mõõtmised ise välja mõtlema.

3. etapp: elektriline projekteerimine

Võimsus

Kogu süsteem töötab patareidega (välja arvatud Raspberry Pi). Panin 3 patareid järjestikku. 1 Aku on keskmiselt 3,7 V, seega 3 järjestikku annavad teile umbes 11 V. Seda 3s akut kasutatakse mootorite ja raadiosaatja jaoks. Teist järelejäänud akut kasutatakse Arduino Pro Mini ja andurite toiteks. Akude laadimiseks kasutasin 4 TP4056 moodulit. Igal akul on 1 TP4056 moodul, iga moodul on ühendatud päikesepaneeliga. Kuna moodulil on B (sisend) ja B (väljund), saan neid eraldi laadida ja järjestikku tühjendada. Veenduge, et ostate õiged TP4056 moodulid, kuna kõigil moodulitel pole B (sisend) ja B (väljund).

Conrtol

Arduino Pro Mini juhib andureid ja mootoreid. Arduino toores ja jahvatatud tihvt on ühendatud 5V võimendiga. 5V võimendi on ühendatud ühe akuga. Arduino Pro Mini tarbib väga vähe energiat.

Komponendid

DHT22: ühendasin selle anduri VCC ja maandusega, seejärel ühendasin andmestiku digitaalse tihvtiga 10.

BMP180: Ma ühendasin selle anduri VCC ja maandusega, ühendasin SCL -i SCL -iga Arduino ja SDA SDA -ga Arduino -s. Olge ettevaatlik, sest Arduino Pro Mini SCL- ja SDA -tihvtid on plaadi keskel, nii et kui olete tahvli külge jootnud tihvtid ja pannud selle leivalauale, siis see ei tööta, kuna teil on häireid teistest tihvtidest. Jootsin need 2 tihvti plaadi ülaosas ja ühendasin juhtme otse sellega.

RF -saatja: ühendasin selle 3s akuga parema signaali ja pikema ulatuse jaoks. Proovisin ühendada selle Arduino 5V -ga, kuid RF -signaal on siis väga nõrk. Seejärel ühendasin andmestiku digitaalse tihvtiga 12.

LDR: ühendasin 4 LDR -i analoogpistikutega A0, A1, A2, A3. Olen pannud LDR -id kokku 1K takistiga.

Mootorid: Mootoreid juhivad 2 juhtmoodulit DRV8825. Need on väga käepärased, kuna võtavad ainult 2 sisendliini (suund ja samm) ning võivad mootoritele toota kuni 2A faasi kohta. Mul on need ühendatud digitaalsete kontaktidega 2, 3 ja 8, 9.

LCD: ühendasin lcd Raspberry Pi-ga, et näidata selle IP-aadressi. Taustvalgustuse reguleerimiseks kasutasin trimmerit.

RF -vastuvõtja: ühendasin vastuvõtja 5V ja maandusega Arduino Unoga. Vastuvõtja ei tohiks võtta rohkem kui 5 V. Seejärel ühendasin andmetihvti digitaalse tihvtiga 11. Kui leiate nende RF -moodulite jaoks raamatukogu, mis töötab Raspberry Pi -ga, siis ei pea te Arduino Unot kasutama.

Raspberry Pi: Raspberry Pi on USB -kaabli kaudu ühendatud Arduino Unoga. Arduino edastab raadiosignaalid Raspberry Pi -le jadaühenduse kaudu.

Samm 4: Alustame kodeerimist

Arduino Pro Mini kodeerimiseks vajate FTDI programmeerijat. Kuna Pro Minil pole USB -porti (energia säästmiseks), on teil vaja seda eraldusplaati. Programmeerisin koodi Arduino IDE -sse, ma arvan, et see on lihtsaim viis seda teha. Laadige kood failist üles ja see peaks olema hea.

Arduino Uno kodeerimiseks ühendasin selle USB -kaabli abil arvutiga. Pärast koodi üleslaadimist ühendasin selle Raspberry Pi -ga. Suutsin ka Raspberry Pi koodi muuta, kuna installisin Arduino IDE ja sain selle sealt programmeerida. Kood on väga lihtne, see võtab vastuvõtja sisendi ja saadab selle jadaporti kaudu Raspberry Pi -le.

Raspberry Pi kodeerimiseks installisin Raspbiani. Seejärel kasutasin sellega ühendamiseks Puttyt SSH -ühenduse kaudu. Seejärel konfigureerin Raspberry, et saaksin sellega VNC kaudu ühenduse luua ja seega GUI -d omada. Paigaldasin Apache veebiserveri ja hakkasin selle projekti jaoks tausta- ja kasutajaliidest kodeerima. Koodi leiate githubist:

5. samm: andmebaas

Andmete salvestamiseks kasutan SQL andmebaasi. Andmebaasi tegin MySQL Workbenchis. Andmebaas hoiab andurite näitu ja anduri andmeid. Mul on 3 tabelit, üks andurite väärtuste salvestamiseks ajatemplitega, teine andurite kohta teabe salvestamiseks ja viimane kasutajate kohta teabe salvestamiseks. Ma ei kasuta tabelit Kasutajad, sest ma ei kodeerinud seda projekti osa, kuna see ei olnud minu MVP -s. Laadige alla SQL -fail ja käivitage see ning andmebaas peaks olema hea.

Soovitan: