INHOUDSOPGAWE:
- Stap 1: Grondsensors
- Stap 2: Dieresensor
- Stap 3: Waterpompbeheer
- Stap 4: Reënsensor
- Stap 5: Dieresirene
- Stap 6: Hoofstelsel
- Stap 7: Die webstelsel
Video: Draadlose tuinstelsel: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hierdie projek is gebaseer op Arduino en gebruik 'modules' om u plante te water te gee en om temperatuur en grond en reën aan te meld.
Die stelsel is draadloos tot 2, 4 GHz en gebruik NRF24L01 -modules om data te stuur en te ontvang. Laat my 'n bietjie verduidelik hoe dit werk, PS! Verskoon my as die Engels nie 100 % korrek is nie, ek kom uit Swede.
Ek gebruik hierdie stelsel om my plante te beheer, sondes Ek het verskillende plante wat ek nodig gehad het om hulle anders aan te meld. Ek bou dus 'n sone -gebaseerde logstelsel.
Die grondsensors wat die grondvog en temperatuur lees (op battery werk) kontroleer elke uur en gee die data deur aan die basismasjien met 'n wifi -verbinding. Die data word opgelaai na 'n bediener in my huis en meld aan op 'n webblad.
As die grond water benodig, aktiveer dit die korrekte pomp, afhangende van wat die grondsensor nagegaan het. Maar as dit reën, sal dit nie water gee nie. En as dit regtig warm is, sal dit ekstra water gee.
Gestel u het een aartappelgrond, een vir tabak en een vir tamatie, dan kan u 3 sones met 3 verskillende sensors en 3 pompe hê.
Daar is ook pir -sensors wat kyk na bewegings, en as dit op die webblad geaktiveer word, sal 'n harde sirene die dier of die persoon wat naby my plante loop, skrik.
Hoop jy verstaan bietjie. Kom ons begin met die maak van sommige sensors.
My GitHub-bladsy waar u alles aflaai:
Stap 1: Grondsensors
Elke sensor het 'n unieke nommer wat op die webwerf gevoeg word. As die grondsensor dus oordra, word die data van die grondsensor by die korrekte sone gevoeg. As die sensor nie geregistreer is nie, word geen data ingedien nie.
Vir hierdie konstruksie benodig u:
- 1x Atmega328P-PU-chip
- 1x nRF24L01 module
- 1x 100 uf kondensator
- 1x NPN BC547 Transistor
- 2x 22 pF kondensators
- 1x 16.000 MHz kristal
- 1x Grondmouisture -sensor
- 1x DS18B20 Temp sensor
- 1x RGB Led (gewone anode word deur my gebruik)
- 3x 270 ohm weerstande
- 1x 4, 7 K ohm weerstand
- Battery (ek gebruik 3.7v Li-Po battery)
- En as li-po gebruik word, 'n laaier vir die battery.
Om die sensors lank te laat werk, moet u nie 'n voorafgemaakte Arduino -bord gebruik nie; dit sal die battery vinnig leegmaak. Gebruik eerder die Atmega328P -chip.
Koppel alles soos dit op my elektriese blad verskyn. (Sien prent- of PDF -lêer) Die aanbeveling is om ook 'n aan / uit -skakelaar by te voeg, sodat u die krag kan onderbreek tydens laai.
As u die kode oplaai, moet u nie vergeet om die sensor te definieer om 'n unieke ID -nommer te gee nie; die kode is beskikbaar op my GitHub -bladsy.
Om die grondsensors lank aan die lewe te hou, gebruik ek 'n NPN -transistor om hulle aan te skakel, eers as die lesing begin. Hulle word dus nie altyd geaktiveer nie. Elke sensor het 'n ID -nommer van 45XX tot 5000 (dit kan verander word), sodat elke sensor unieke nommers moet hê. Al wat u hoef te doen is om in die kode te definieer.
Die sensors gaan slaap om die battery te bespaar.
Stap 2: Dieresensor
Die Animal Sensor is 'n eenvoudige pir sensor. Dit voel die hitte van diere of mense. As die sensor beweging voel. Hulle sal na die basisstasie stuur.
Maar daar sal geen alarm wees nie, om dit te doen, op die bladsy moet u dit aktiveer, of as u 'n timer opgestel het, aktiveer dit outomaties daardie tyd.
As die basis 'n bewegingsignaal van die dieresensor ontvang, sal dit aan die sirenesensor oorgedra word, en dit sal (hopelik) die dier afskrik. My sirene is op 119 db.
Die pir -sensor werk op die battery en ek het dit in 'n ou pir -sensorkas van 'n ou alarm geplaas. Die kabel wat uit die dieresensor kom, is net om die battery te laai.
Vir hierdie sensor benodig u:
- ATMEGA328P-PU-chip
- 1 x 16 000 MHz kristal
- 2 x 22 pF kapasitor
- 1 x Pir sensor module
- 1 x 100 uF kapasitor
- 1 x NRF24L01 -module
- 1 x Led (ek gebruik geen RGB -led hier nie)
- 1 x 220 ohm weerstand
- As u op 'n battery werk, benodig u dit (ek gebruik Li-Po)
- 'N Batteryladermodule as u 'n herlaaibattery het.
- Een of ander kragskakelaar.
Koppel alles soos u sien op die elektriese plaat. Kontroleer of u u pir -sensor van u battery kan dryf (sommige benodig 5v om te werk).
Kry die kode van my GitHub en definieer die heksensor wat u gaan gebruik (byvoorbeeld: SENS1, SENS2 ens), sodat hulle unieke getalle kry.
Die ATMEGA -chip word eers wakker wanneer beweging geregistreer word. As die pir sensor module ingebou is, is daar 'n timer vir vertraging, daar is niks daarvoor in die kode nie, dus pas die pot op die pir sensor aan vir die vertraging dat dit wakker sal wees.
Dit is die dieresensor, ons gaan voort.
Stap 3: Waterpompbeheer
Die waterpomp kontroleerder moet 'n pomp of waterklep begin om u veld nat te maak. Vir hierdie stelsel het u nie 'n batterysonde nodig nie, benodig u krag om u pomp te laat loop. Ek gebruik 'n AC 230 tot DC 5 v module om 'n Arduino te laat loop Nano. Ek moet ook tipes pompe gebruik, een wat 'n waterklep gebruik wat op 12 V werk, en daarom het ek 'n AC 230 tot DC 12V -module na die aflosbord.
Die ander is 230 AC in die relais, sodat ek 'n 230 V AC pomp kan dryf.
Die stelsel is redelik eenvoudig, elke pompbeheerder het unieke ID -nommers, so laat ons sê die aartappelveld is droog en die sensor is ingestel op outomatiese water, dan word my pomp vir die aartappelveld by die sensor gevoeg, sodat die grondsensor sê aan die basisstelsel dat die water moet begin, sodat die basistelsel 'n sein na die pomp stuur om dit te aktiveer.
U kan instel hoe lank dit op die webblad moet duur (byvoorbeeld 5 minute), maar die sensors kyk elke uur. As die pomp stop, sal dit ook die tyd in die stelsel stoor, sodat die outomatiese stelsel die pomp nie gou sal begin nie. (Dit is ook moontlik om op die webblad op te stel).
U kan ook deur die webblad die besproeiing gedurende die nag/dag uitskakel deur spesiale tye in te stel. En stel ook timers in vir elke pomp om te begin natmaak. En as dit reën, sal hulle nie natmaak nie.
Hoop jy verstaan :)
Vir hierdie projek benodig u:
- 1 x Arduino Nano
- 1 x NRF24L01 -module
- 1 x 100 uF kapasitor
- 1 RGB Led (gewone anode word deur my gebruik)
- 3 x 270 ohm weerstande
- 1 x aflosbord
Koppel alles as 'n elektriese blad (sien pdf -lêer of prent) Laai die kode van GitHub af en vergeet nie om die sensornommer te definieer nie.
En as u nou 'n pompbeheerder het, kan die stelsel meer as net een hanteer.
Stap 4: Reënsensor
Die reënsensor word gebruik om reën op te spoor. U het nie meer as een nodig nie. Maar dit is moontlik om meer by te voeg. Hierdie reënsensor is op batterye en kyk elke 30 minute na reën. Hulle het ook 'n unieke nommer om dit self te identifiseer.
Die reënsensor gebruik analoog en digitale penne. Die digitale pen is om te kyk of dit reën (die digitale vertoon slegs ja of nee) en u moet die pot op die reënsensormodule aanskakel as dit reg is om te waarsku oor 'reën' (die watervlak op die sensor wat dui op reën.)
Die analoog pen word in persentasie aangegee hoe nat dit op die sensor is.
As die digitale pen vasstel dat dit reën, sal die sensor dit na die basistelsel stuur. En die basistelsel sal plante nie natmaak nie, solank dit 'reën'. Die sensor stuur ook hoe nat dit is en die batterystatus.
Ons dryf die reënsensor slegs aan as dit tyd is om deur die transistor te lees wat deur 'n digitale pen moontlik is.
Vir hierdie sensor benodig u:
- ATMEGA328P-PU-chip
- 1x 16 000 MHz kristal
- 2x 22 pF kondensator
- 1x reën sensor module
- 1x 100 uF kapasitor
- 1x NRF24L01 -module
- 1x RGB Led (ek gebruik gewone anode, dit is VCC in plaas van GND)
- 3x 270 Ohm weerstande
- 1x NPN BC547 transistor
- 1x battery (ek gebruik Li-Po)
- 1x Li-Po-laadmodule (indien gebruikte Li-Po-battery)
Koppel alles soos u op die elektriese blad sien (in pdf of in die prent) Laai die kode dan op na die ATMEGA -chip, soos u op my GitHub -bladsy onder Reën sensor kan vind. Moenie vergeet om die sensor te definieer om die regte ID -nommer te kry nie.
En nou het u 'n reënsensor wat elke 30 minute loop. U kan die tyd hieraan verander as u dit minder of meer wil doen.
In funksie counterHandler () kan u die wakker tyd vir die chip opstel. U bereken so: Die skyfies word elke 8 sekondes wakker en elke keer sal dit 'n waarde verhoog. Dus, vir 30 minute, kry u 225 keer voordat dit aksies moet doen. Daar is dus 1800 sekondes op 'n halfuur. As u dit dus deel met 8 (1800/8), kry u 225. Dit beteken dat dit nie die sensor sal kontroleer voordat dit 225 keer loop nie, en dit sal ongeveer 30 minute duur. U doen dieselfde met grondsensor.
Stap 5: Dieresirene
Die dieresirene is eenvoudig as die dieresensor beweging opspoor, die sirene sal geaktiveer word. Ek gebruik 'n regte sirene sodat ek selfs mense daarmee kan skrik. Maar u kan ook sirenes gebruik wat slegs diere hoor.
Ek gebruik 'n Arduino nano in hierdie projek en dryf dit met 12v. Die sirene is ook 12 V, so in plaas van 'n relais sal ek 'n 2N2222A transistor gebruik om die sirene aan te skakel. As u 'n relais gebruik as u dieselfde grond het, kan u u Arduino beskadig. Daarom gebruik ek eerder 'n transistor om die sirene moontlik te maak.
Maar as u sirene en Arduino nie dieselfde grond gebruik nie, kan u eerder 'n aflos gebruik. Slaan die transistor en die 2.2K -weerstand oor, en gebruik eerder 'n relaisbord. En verander ook die Arduino -kode wanneer geaktiveer word van HIGH na LOW en wanneer die verandering van LOW na HIGH en digitale lees vir die pen 10 geaktiveer word, die relais gebruik LOW om te aktiveer en die transistor gebruik HIGH, sodat u dit moet oorskakel.
Vir hierdie konstruksie benodig u:
- 1x Arduino nano
- 1x 2.2K weerstand (slaan oor as u relaisbord gebruik)
- 1x 2N2222 Transistor
- 1x sirene
- 3x 270 Ohm weerstand
- 1x RGB Led (ek gebruik gewone anode, VCC in plaas van GND)
- 1X NRF24L01 module
- 1x 100 uF kapasitor
Koppel alles soos u op die elektriese blad in PDF of in die prentjie sien, laai die kode op na die Arduino wat u op my GitHub -bladsy onder Animal Siren vind. Moenie vergeet om die sensor vir die korrekte ID -nommer te definieer nie.
En nou het u 'n werkende sirene.
Stap 6: Hoofstelsel
Die hoofstelsel is die belangrikste van alle modules. Daarsonder kan u nie hierdie stelsel gebruik nie. Die hoofstelsel is met die ESP-01-module aan die internet gekoppel en ons gebruik Arduino Megas Serial1-penne om dit aan te sluit. Die RX op Mega na TX op ESP, maar ons moet deur twee weerstande gaan om die volt tot 3,3 te kry. En die TX op Mega na RX op ESP.
Stel die ESP -module op
Om die ESP te gebruik, moet u eers die baud -tempo op 9600 stel, dit is wat ek in hierdie projek gebruik het en ek het gevind dat die ESP die beste werk. Uit die boks is dit ingestel op 115200 baud rate, u kan dit probeer, maar myne was nie so stabiel nie. Hiervoor benodig u 'n Arduino (Mega werk goed) en moet u die TX van ESP (deur die weerstande soos u op die blad sien) aan die Serial TX (nie Serial1 as u Mega gebruik) en RX op ESP verbind met Arduino Serial RX.
Laai knipskets op (of enige skets wat nie reekse gebruik nie) en maak seriemonitor oop en stel baud rate op 115200 en NR & CR op lyne
Skryf AT in die opdragreël en druk enter. U moet 'n antwoord kry wat sê OK, so nou weet ons dat die ESP werk. (Indien nie, is daar 'n verbindingsprobleem of 'n slegte ESP-01-module)
Skryf nou AT+UART_DEF = 9600, 8, 1, 0, 0 in die opdragreël en druk enter.
Dit sal reageer met 'n OK, en dit beteken dat ons die baud -tempo op 9600 gestel het. Herbegin die ESP met die volgende opdrag: AT+RST en druk enter. Verander baud rate in seriële monitor na 9600 en voer AT in en druk enter. As u weer terugkom, is die ESP opgestel vir 9600 en kan u dit vir die projek gebruik.
Die SD -kaartmodule
Ek wil hê dat dit maklik is om die WIFI -instellings vir die stelsel te verander, as 'n nuwe wagwoord verander word of die wifi -naam. Daarom het ons die SD -kaartmodule nodig. Skep 'n tekslêer met die naam config.txt in die SD -kaart en ons gebruik JSON om te lees, daarom benodig ons 'n JSON -formaat. Die tekslêer moet dus die volgende teks hê:
}
Verander die teks met die GROOT letters om dit vir u wifi -netwerk reg te stel.
Sondes wat ons gebruik NRF24L01 wat SPI gebruik en die SD -kaartleser gebruik ook SPI wat ons nodig het om die SDFat -biblioteek te gebruik sodat ons SoftwareSPI kan gebruik (ons kan die SD -kaartleser op enige penne byvoeg)
DHT -sensor
Hierdie stelsel is buite geplaas en het 'n DHT -sensor sodat ons die humiditeit en temperatuur van die lug kan kontroleer. Dit word gebruik vir ekstra water op warm dae.
Vir hierdie konstruksie benodig u:
- 1x Arduino Mega
- 1x NRF24L01 -module
- 1x ESP-01-module
- 1x SPI Micro SD -kaartmodule
- 1x DHT-22 sensor
- 1x RGB Led (ek gebruik gewone anode, VCC in plaas van GND)
- 3x 270 Ohm weerstande
- 1x 22 K Ohm weerstand
- 2x 10 K Ohm weerstand
Let asseblief daarop dat as u nie die ESP-01-module stabiel kry nie, probeer om dit van 'n eksterne 3.3v-kragbron af te kry.
Koppel alles soos u op die elektriese blad in die PDF -lêer of in die prentjie sien.
Laai die kode op na u Arduino Mega, en vergeet nie om die hele kode na kommentaar te kyk nie, want u moet die gasheer op verskeie plekke op die bediener instel (dit is nie die beste oplossing wat ek ken nie).
Nou is u basisstelsel gereed om te gebruik. U hoef nie veranderlikes in die kode vir grondvogsondes te verander nie; u kan dit direk vanaf die webblad doen.
Stap 7: Die webstelsel
Om die stelsel te gebruik, benodig u ook 'n webbediener. Ek gebruik 'n framboos pi met Apache, PHP, Mysql, Gettext. Die webstelsel is meertalig, sodat u dit maklik in u taal kan maak. Dit kom met Sweeds en Engels (die Engelse kan verkeerd Engels hê, my vertaling is nie 100 %nie.) U moet dus Gettext vir u bediener, sowel as die lokale, laat installeer.
Ek wys u 'n paar skermkiekies hierbo van die stelsel af.
Dit het 'n eenvoudige aanmeldstelsel en die belangrikste aanmelding is: admin as gebruiker en water as wagwoord.
Om dit te gebruik, moet u drie cron -take opstel (u vind dit onder die cronjob -lêergids)
Die timer.php -lêer wat u elke sekonde moet uitvoer. Dit bevat al die outomatisering van die gatsisteem. Die lêernaam temperatuur.php word gebruik om die stelsel te vertel om die lugtemperatuur te lees en dit aan te meld. U moet dus 'n cron -taak instel oor hoe gereeld u dit gaan uitvoer. Ek het dit elke 5 minute. Dan moet die lêer genaamd dagstatistik.php slegs een keer voor middernag loop (soos 23:30, 23:30). Dit neem waardes wat gedurende die dag deur sensors gerapporteer word, op en stoor dit vir week en maand.
Let daarop dat hierdie stelsel die temperatuur in celsius stoor, maar u kan na Fahrenheit verander.
In die db.php -lêer stel u die mysql -databasisverbinding vir die stelsel op.
Voeg eers die sensors by die stelsel. Maak dan sones en voeg sensors by die sones.
As u vrae het of foute in die stelsel vind, moet u dit op die GitHub -bladsy rapporteer. U kan die webstelsel gebruik en u mag dit nie verkoop nie.
As u probleme ondervind met die lokaliteite vir gettext, moet u onthou dat as u framboos as bediener gebruik, dit dikwels genoem word en_US. UTF-8, dus moet u die veranderinge aanbring in die i18n_setup.php-lêer en in die landelike gids. Anders sit u vas in die Sweedse taal.
U laai dit af op die GitHub -bladsy.
Aanbeveel:
Outomatiese tuinstelsel op Raspberry Pi gebou vir buite of binne - MudPi: 16 stappe (met foto's)
Outomatiese tuinstelsel wat op Raspberry Pi gebou is vir buite of binne - MudPi: hou u van tuinmaak, maar kan u nie tyd kry om dit te onderhou nie? Het u dalk 'n paar kamerplante wat 'n bietjie dors soek of 'n manier soek om u hidroponika te outomatiseer? In hierdie projek sal ons die probleme oplos en die basiese beginsels van
Draadlose Arduino -robot met behulp van die HC12 -draadlose module: 7 stappe
Draadlose Arduino -robot wat die HC12 -draadlose module gebruik: Hallo ouens, welkom terug. In my vorige pos het ek verduidelik wat 'n H Bridge Circuit is, L293D -motorbestuurder -IC, L293D -motorbestuurder -IC vir die bestuur van hoëstroom -motorbestuurders en hoe u u eie L293D -motorbestuurderbord kan ontwerp en maak
Vyftig meter bereik draadlose toegangspunt met TP Link WN7200ND USB draadlose adapter op Raspbian -rek: 6 stappe
Vyftig meter bereik draadlose toegangspunt met TP Link WN7200ND USB draadlose adapter op Raspbian Stretch: Raspberry Pi is wonderlik om veilige draadlose toegangspunte te skep, maar dit het nie 'n goeie bereik nie; ek het 'n TP Link WN7200ND USB draadlose adapter gebruik om dit uit te brei. Ek wil deel hoe om dit te doen Hoekom wil ek 'n framboos pi in plaas van 'n router gebruik? T
DIY draadlose mikrofoon na draadlose kitaarstelsel: 4 stappe
DIY draadlose mikrofoon na draadlose kitaarstelsel: ek het 'n paar videos en 'n paar bands gekyk, en byna 'n draadlose stelsel op kitaar. Word mal, beweeg, loop en doen wat hulle wil sonder die koord, so ek droom daarvan om een te hê .. Maar .. vir my is dit nou te duur, so ek het hierop gekom
Hack 'n draadlose deurklokkie in 'n draadlose alarmskakelaar of aan/uit -skakelaar: 4 stappe
Hack 'n draadlose deurklokkie in 'n draadlose alarmskakelaar of aan/uit -skakelaar: ek het onlangs 'n alarmstelsel gebou en dit in my huis geïnstalleer. Ek het magnetiese skakelaars op die deure gebruik en deur die solder vasgemaak. Die vensters was 'n ander storie en harde bedrading was nie 'n opsie nie. Ek het 'n draadlose oplossing nodig gehad, en dit is