Sisukord:
- Samm: koguge materjalid
- 2. etapp: mehaaniline disain
- 3. etapp: elektriline projekteerimine
- Samm 4: Alustame kodeerimist
- 5. samm: andmebaas
Video: Päikeseilmajaam: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
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
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:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust