Turinys:

Saulės orų stotis: 5 žingsniai
Saulės orų stotis: 5 žingsniai
Anonim
Saulės orų stotis
Saulės orų stotis

Ar kada nors norėjote informacijos apie orą realiu laiku iš savo kiemo? Dabar parduotuvėje galite nusipirkti orų stotį, tačiau paprastai joms reikia baterijų arba jas reikia prijungti prie lizdo. Šios oro stoties nereikia prijungti prie tinklo, nes ji turi saulės kolektorių, kurie sukasi link saulės, kad būtų efektyviau. Naudodamas savo RF modulius, jis gali perduoti duomenis iš stoties į Raspberry Pi jūsų namuose. „Raspberry Pi“yra svetainė, kurioje galite peržiūrėti duomenis.

1 žingsnis: Surinkite medžiagas

Medžiagos

  • „Raspberry Pi 3“modelio B + + adapteris + „Micro SD“kortelė 16 GB
  • Arduino Uno
  • „Arduino Pro Mini + FTDI“pagrindinis lūžis
  • 4 6V 1W saulės baterijos
  • 4 18650 baterijos
  • Stiprintuvas 5v
  • 4 TP 4056 akumuliatorių įkrovikliai
  • Adafruit DHT22 temperatūros ir drėgmės jutiklis
  • BMP180 barometrinio slėgio jutiklis
  • 4 LDR
  • RF 433 imtuvas ir siųstuvas
  • 2 „Nema 17“žingsniniai varikliai
  • 2 DRV8825 žingsninių variklių tvarkyklės
  • LCD 128*64
  • Daug laidų

Įrankiai ir medžiagos

  • Klijai
  • Medinės lentos
  • Pjūklas
  • Varžtai + atsuktuvas
  • Izoliacija
  • 2 aliuminio juostelės

2 žingsnis: mechaninis projektavimas

Mechaninis dizainas
Mechaninis dizainas
Mechaninis dizainas
Mechaninis dizainas
Mechaninis dizainas
Mechaninis dizainas
Mechaninis dizainas
Mechaninis dizainas

Oro stoties korpusas pagamintas iš faneros. Jums nereikia naudoti medžio, galite jį pagaminti iš bet kurios jums patinkančios medžiagos. Dėl variklio laikiklių aš išgręžiau visą medžio luitą, o po to prisukiau plokščią varžtą prie variklio veleno, o tai veikia geriau, nei tikėjausi. Tokiu būdu jums nereikia 3D spausdinti variklio laikiklio ir tai lengva padaryti. Tada aš sulenkiau 2 aliuminio juosteles, kad labai tvirtai laikyčiau variklius. Tada išpjoviau lentą ir išgręžiau skylutes saulės kolektoriams. Tada ant jo klijuokite saulės kolektorius, o ant saulės kolektorių - litavimo laidus. Tada taip pat turėsite padaryti kryžių iš juodos medžiagos. Jei neturite nieko juodo, galite naudoti juodą juostą. Šis kryžius laikys LDR kiekviename kampe, kad „Arduino“galėtų palyginti LDR matavimus ir apskaičiuoti, kokia kryptimi jis turi pasukti. Taigi kiekviename kampe gręžkite mažus gabalėlius, kad ten tilptumėte LDR. Dabar belieka tik pagaminti pagrindo plokštę ir kažką įdėti į elektroniką. Norėdami sukurti pagrindo plokštę, turėsite išgręžti visą ją, kad galėtumėte nutiesti visus laidus. Dėl matavimų aš jums nieko nepateiksiu, nes tai tikrai priklauso nuo to, kaip norite tai sukurti. Jei turite kitų variklių ar kitų saulės kolektorių, matavimus turėsite išsiaiškinti patys.

3 žingsnis: elektros projektavimas

Galia

Visa sistema veikia su baterijomis (išskyrus „Raspberry Pi“). Įdėjau 3 baterijas iš eilės. 1 Baterija vidutiniškai yra 3,7 V, taigi 3 serijos suteikia apie 11 V. Ši 3s baterija naudojama varikliams ir RF siųstuvui. Kita likusi baterija naudojama „Arduino Pro Mini“ir jutiklių maitinimui. Norėdami įkrauti baterijas, naudoju 4 TP4056 modulius. Kiekviena baterija turi 1 TP4056 modulį, kiekvienas modulis yra prijungtas prie saulės kolektoriaus. Kadangi modulyje yra B (įėjimas) ir B (išėjimas), galiu juos įkrauti atskirai ir iškrauti nuosekliai. Įsitikinkite, kad perkate tinkamus TP4056 modulius, nes ne visuose moduliuose yra B (įėjimas) ir B (išėjimas).

Conrtol

„Arduino Pro Mini“valdo jutiklius ir variklius. Neapdorotas ir sumaltas „Arduino“kaištis yra prijungtas prie 5 V stiprintuvo. 5V stiprintuvas prijungtas prie vienos baterijos. „Arduino Pro Mini“sunaudoja labai mažai energijos.

Komponentai

DHT22: Aš prijungiau šį jutiklį prie VCC ir įžeminimo, tada prijungiau duomenų kaištį prie skaitmeninio kaiščio 10.

BMP180: Aš prijungiau šį jutiklį prie VCC ir įžeminimo, aš prijungiau SCL prie SCL „Arduino“ir SDA prie SDA „Arduino“. Būkite atsargūs, nes „Arduino Pro Mini“SCL ir SDA kaiščiai yra lentos viduryje, taigi, jei prie plokštės lituosite smeigtukus ir įdėsite ją į duonos lentą, tai neveiks, nes jūs turėsite trukdžių iš kitų kaiščių. Lituodavau tuos 2 kaiščius lentos viršuje ir tiesiogiai prie jo prijungdavau laidą.

RF siųstuvas: Aš prijungiau jį prie 3s baterijos, kad būtų geresnis signalas ir ilgesnis nuotolis. Aš bandžiau prijungti jį prie 5 V iš „Arduino“, bet tada RF signalas yra labai silpnas. Tada aš prijungiau duomenų kaištį prie 12 skaitmeninio kaiščio.

LDR: Aš prijungiau 4 LDR prie analoginių kaiščių A0, A1, A2, A3. Aš sudėjau LDR kartu su 1K rezistoriumi.

Varikliai: variklius varo 2 valdymo moduliai DRV8825. Tai labai patogu, nes jie naudoja tik 2 įvesties linijas (kryptis ir žingsnis) ir gali sukurti iki 2A variklių fazę. Aš juos prijungiau prie 2, 3 ir 8, 9 skaitmeninių kaiščių.

LCD: prijungiau LCD prie „Raspberry Pi“, kad būtų parodytas jo IP adresas. Foniniam apšvietimui reguliuoti naudojau žoliapjovę.

RF imtuvas: Aš prijungiau imtuvą prie „Arduino Uno“5 V ir antžeminiu būdu. Imtuvas neturėtų maitinti daugiau kaip 5 V. Tada aš prijungiau duomenų kaištį prie skaitmeninio kaiščio 11. Jei galite rasti šių RF modulių biblioteką, kuri veikia „Raspberry Pi“, jums nereikia naudoti „Arduino Uno“.

„Raspberry Pi“: „Raspberry Pi“yra prijungtas prie „Arduino Uno“per USB kabelį. „Arduino“perduoda RF signalus „Raspberry Pi“per nuoseklųjį ryšį.

4 žingsnis: Pradėkime kodavimą

Norėdami koduoti „Arduino Pro Mini“, jums reikės FTDI programuotojo. Kadangi „Pro Mini“neturi USB prievado (taupant energiją), jums reikės tos pertraukos plokštės. Aš užprogramavau kodą „Arduino IDE“, manau, kad tai yra lengviausias būdas tai padaryti. Įkelkite kodą iš failo ir turėtų būti gerai eiti.

Norėdami koduoti „Arduino Uno“, prijungiau jį prie kompiuterio per USB kabelį. Įkėlęs kodą, prijungiau jį prie „Raspberry Pi“. Aš taip pat galėjau pakeisti „Raspberry Pi“kodą, nes įdiegiau „Arduino IDE“ir galėjau jį programuoti iš ten. Kodas yra labai paprastas, jis ima iš imtuvo įvestį ir siunčia jį per nuoseklųjį prievadą į „Raspberry Pi“.

Norėdami koduoti „Raspberry Pi“, įdiegiau „Raspbian“. Tada aš naudoju „Putty“, kad prisijungčiau prie jo per SSH ryšį. Tada aš sukonfigūravau „Raspberry“, kad galėčiau prisijungti prie jos per VNC ir turėti GUI. Įdiegiau „Apache“žiniatinklio serverį ir pradėjau koduoti šio projekto vidinę ir sąsają. Kodą galite rasti „github“:

5 veiksmas: duomenų bazė

Norėdami saugoti duomenis, naudoju SQL duomenų bazę. Duomenų bazę sukūriau „MySQL Workbench“. Duomenų bazėje saugomi jutiklių rodmenys ir jutiklių duomenys. Turiu 3 lenteles, vienoje jutiklių reikšmėms saugoti su laiko žymomis, kitoje - informacijai apie jutiklius, o paskutinėje - informacijai apie vartotojus saugoti. Nenaudoju lentelės Vartotojai, nes nekodavau tos projekto dalies, nes jos nebuvo mano MVP. Atsisiųskite SQL failą ir paleiskite jį, o duomenų bazė turėtų būti gera.

Rekomenduojamas: