Talaan ng mga Nilalaman:

Solar Weather Station: 5 Hakbang
Solar Weather Station: 5 Hakbang

Video: Solar Weather Station: 5 Hakbang

Video: Solar Weather Station: 5 Hakbang
Video: DR. VICKI BELO's TRANSFORMATION💖🤩#vickibelo #doctor #transformation #viral #trending 2024, Nobyembre
Anonim
Solar Weather Station
Solar Weather Station

Ninanais mo na ba ang real-time na impormasyon ng panahon mula sa iyong likod-bahay? Maaari ka na ngayong bumili ng isang istasyon ng panahon sa tindahan ngunit ang mga karaniwang nangangailangan ng mga baterya o kailangang ikonekta sa isang outlet. Ang istasyong ito ng panahon ay hindi kailangang maiugnay sa grid dahil mayroon itong mga solar panel na umiikot patungo sa araw para sa higit na kahusayan. Sa mga modyul na RF maaari nitong ilipat ang data mula sa istasyon sa labas patungo sa isang Raspberry Pi sa loob ng iyong tahanan. Nagho-host ang Raspberry Pi ng isang website kung saan maaari mong tingnan ang data.

Hakbang 1: Ipunin ang Mga Materyales

Mga Kagamitan

  • Raspberry Pi 3 modelo B + + adapter + Micro SD Card 16GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI pangunahing breakout
  • 4 6V 1W solar panels
  • 4 18650 na baterya
  • Booster 5v
  • 4 TP 4056 na charger ng baterya
  • Adafruit DHT22 Temperature at Humidity Sensor
  • BMP180 Barometric Pressure sensor
  • 4 LDR
  • RF 433 tatanggap at transmiter
  • 2 Nema 17 Stepper motors
  • 2 DRV8825 Stepper mga driver ng motor
  • lcd 128 * 64
  • Maraming mga wire

Mga tool at materyales

  • Pandikit
  • Mga tabla na gawa sa kahoy
  • Saw
  • Mga tornilyo + driver ng tornilyo
  • Tape ng Pato
  • 2 mga piraso ng aluminyo

Hakbang 2: Disenyo ng Mekanikal

Disenyo ng Mekanikal
Disenyo ng Mekanikal
Disenyo ng Mekanikal
Disenyo ng Mekanikal
Disenyo ng Mekanikal
Disenyo ng Mekanikal
Disenyo ng Mekanikal
Disenyo ng Mekanikal

Ang katawan ng istasyon ng panahon ay gawa sa playwud. Hindi mo kailangang gumamit ng kahoy, magagawa mo ito mula sa anumang materyal na gusto mo. Para sa mga motor na naka-mount, nag-drill ako ng isang buo sa isang bloke ng kahoy at pagkatapos ay i-tornilyo sa isang patag na tornilyo sa poste ng motor, na mas mahusay na gumagana kaysa sa inaasahan ko. Sa ganoong paraan hindi mo kailangang mag-print ng 3d ng motor mount at madali itong gawin. Pagkatapos ay baluktot ko ang 2 mga piraso ng aluminyo upang mahigpit na hawakan ang mga motor. Pagkatapos ay pinutol ko ang isang tabla at drilling hole dito para sa mga solar panel. Pagkatapos ay idikit ang mga solar panel dito at mga wire ng panghinang sa mga solar panel. Pagkatapos kakailanganin mo ring gumawa ng isang krus mula sa itim na materyal. Kung wala kang anumang itim, maaari kang gumamit ng black tape. Ang krus na ito ay magtataglay ng isang LDR sa bawat sulok upang maihambing ng Arduino ang mga sukat mula sa LDR at kalkulahin kung anong direksyong kinakailangan nitong buksan. Kaya mag-drill ng maliliit na wholes sa bawat sulok upang maaari kang magkasya sa isang LDR doon. Ang natitira lamang na gawin ngayon ay gumawa ng isang base plate at isang bagay upang mailagay ang electronics. Para sa base plate, kakailanganin mong mag-drill ng buo dito upang i-ruta ang lahat ng mga trough ng wires. Para sa mga sukat, hindi kita bibigyan ng anupaman sapagkat talagang nasa sa iyo kung paano mo ito nais idisenyo. Kung mayroon kang iba pang mga motor o iba pang mga solar panel pagkatapos ay kakailanganin mong malaman ang mga sukat sa pamamagitan ng iyong sarili.

Hakbang 3: Disenyo ng Elektrisiko

Lakas

Ang buong system ay tumatakbo sa mga baterya (maliban sa Raspberry Pi). Naglagay ako ng 3 baterya sa serye. Ang 1 baterya ay nasa average na 3.7V, kaya ang 3 sa serye ay magbibigay sa iyo ng humigit-kumulang na 11V. Ang pack na 3s na baterya na ito ay ginagamit para sa mga motor at ng RF transmitter. Ang iba pang natitirang baterya ay ginagamit upang mapatakbo ang Arduino Pro Mini at ang mga sensor. Upang singilin ang mga baterya, gumamit ako ng 4 na mga module na TP4056. Ang bawat baterya ay may 1 module na TP4056, ang bawat module ay konektado sa isang solar panel. Dahil ang module ay may B (in) at B (out), maaari kong singilin ang mga ito nang magkahiwalay at ilabas ang mga ito sa serye. Tiyaking bibili ka ng tamang mga module ng TP4056 sapagkat hindi lahat ng mga module ay may B (in) at B (out).

Conrtol

Kinokontrol ng Arduino Pro Mini ang mga sensor at motor. Ang hilaw at ground pin ng Arduino ay konektado sa 5V booster. Ang 5V booster ay konektado sa iisang baterya. Ang Arduino Pro Mini ay may napakababang pagkonsumo ng kuryente.

Mga Bahagi

DHT22: Ikinonekta ko ang sensor na ito sa VCC at Ground, pagkatapos ay konektado ko ang data pin sa digital pin 10.

BMP180: Ikinonekta ko ang sensor na ito sa VCC at Ground, ikinonekta ko ang SCL sa SCL sa Arduino at SDA sa SDA sa Arduino. Mag-ingat dahil ang mga pin ng SCL at SDA sa Arduino Pro Mini ay nasa gitna ng pisara, kaya kung mayroon kang mga solder na pin sa board at ilagay ito sa isang breadboard, hindi ito gagana sapagkat magkakaroon ka ng pagkagambala sa iba pang mga pin. In-solder ko ang 2 mga pin sa tuktok ng board at direktang kumonekta sa isang kawad dito.

RF Transmitter: Ikinonekta ko ito sa 3s baterya pack para sa mas mahusay na signal at mas mahabang saklaw. Sinubukan kong ikonekta ito sa 5V mula sa Arduino ngunit pagkatapos ay sobrang mahina ang signal ng RF. Naikonekta ko pagkatapos ang data pin sa digital pin 12.

LDR: Ikinonekta ko ang 4 LDR's sa mga analog pin na A0, A1, A2, A3. Inilagay ko ang mga LDR kasama ang isang 1K risistor.

Mga Motors: Ang mga motor ay hinihimok ng 2 DRV8825 control modules. Ang mga ito ay napaka madaling gamiting dahil kukuha lamang sila ng 2 mga linya ng pag-input (direksyon at hakbang) at maaaring makagawa ng hanggang sa 2A bawat yugto sa mga motor. Nakakonekta ko sila sa mga digital na pin 2, 3 at 8, 9.

LCD: Ikinonekta ko ang lcd sa Raspberry Pi upang maipakita ang IP-address nito. Gumamit ako ng isang trimmer upang makontrol ang back-light.

RF Receiver: Ikinonekta ko ang tatanggap sa Arduino Uno sa 5V at Ground. Ang tatanggap ay hindi dapat tumagal ng higit sa 5V. Ikonekta ko ang pin ng data sa digital pin 11. Kung makakahanap ka ng isang silid-aklatan para sa mga module na RF na gumagana sa Raspberry Pi, kung gayon hindi mo kailangang gamitin ang Arduino Uno.

Raspberry Pi: Ang Raspberry Pi ay konektado sa Arduino Uno sa pamamagitan ng isang USB cable. Ipinapasa ng Arduino ang mga signal ng RF sa Raspberry Pi sa pamamagitan ng isang serial connection.

Hakbang 4: Magsimula Tayong Mag-coding

Upang mai-code ang Arduino Pro Mini, kakailanganin mo ang FTDI programmer. Dahil ang Pro Mini ay walang USB port (upang makatipid ng kuryente), kakailanganin mo ang breakout board na iyon. Pinrograma ko ang code sa Arduino IDE, sa palagay ko ito ang pinakamadaling paraan upang magawa ito. I-upload ang code mula sa file at dapat itong maging mahusay na pumunta.

Upang mai-code ang Arduino Uno, ikinonekta ko ito sa aking computer sa pamamagitan ng isang USB cable. Matapos kong mai-upload ang code, ikinonekta ko ito sa Raspberry Pi. Nagawa ko ring baguhin ang code sa Raspberry Pi dahil na-install ko ang Arduino IDE at sa gayon mai-program ko ito mula doon. Napakadali ng code, kukuha ito ng input mula sa tatanggap at ipapadala ito sa serial port sa Raspberry Pi.

Upang mai-code ang Raspberry Pi, na-install ko ang Raspbian. Ginamit ko pagkatapos si Putty upang kumonekta dito sa pamamagitan ng isang koneksyon sa SSH. Pagkatapos ay nai-configure ko ang Raspberry upang maikonekta ko ito sa pamamagitan ng VNC at sa gayon ay magkaroon ng isang GUI. Nag-install ako ng isang Apache webserver at nagsimulang i-code ang backend at frontend para sa proyektong ito. Mahahanap mo ang code sa github:

Hakbang 5: Database

Upang maiimbak ang data ay gumagamit ako ng isang SQL database. Ginawa ko ang database sa MySQL Workbench. Hawak ng database ang mga pagbabasa ng sensor at data ng sensor. Mayroon akong 3 mga talahanayan, isa para sa pagtatago ng mga halaga ng sensor sa mga timestamp, ang isa pa para sa pagtatago ng impormasyon tungkol sa mga sensor at ang huling nag-iimbak ng impormasyon tungkol sa mga gumagamit. Hindi ko ginagamit ang talahanayan ng Mga Gumagamit dahil hindi ko na-code ang bahaging iyon ng proyekto dahil wala ito sa aking MVP. I-download ang SQL file at ipatupad ito at ang database ay dapat na mahusay na pumunta.

Inirerekumendang: