INHOUDSOPGAWE:
- Stap 1: ONDERDELE EN GEREEDSKAP
- Stap 2: GRONDVOGTIGHEIDSPROBE V1
- Stap 3: GRONDVOGTIGHEIDSPROBE V2
- Stap 4: GRONDVOGTIGHEIDSPROBE V3 "Katana"
- Stap 5: BASIESE FUNKSIONALITEIT
- Stap 6: 7 SEGMENT -DISPLAY
- Stap 7: POMP- en POMPBEHEER
- Stap 8: KONFIGURASIE en KNOPPE
- Stap 9: RTC: REAL TIME CLOCK
- Stap 10: PLAAS DIT ALLES SAAM
- Stap 11: SKETSE en meer
- Stap 12: *** ONS WEN !!! ***
Video: APIS - Outomatiese plantbesproeiingstelsel: 12 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Die GESKIEDENIS: ('n volgende evolusie van hierdie stelsel is hier beskikbaar)
Daar is 'n hele paar instruksies oor plantwater, so ek het skaars iets oorspronkliks hier uitgevind. Wat hierdie stelsel anders maak, is die omvang van die programmering en aanpassing, wat dit moontlik maak om beter beheer en integrasie in die daaglikse lewe moontlik te maak.
Hier is 'n video van 'n waterloop: waterloop
Dit is hoe APIS ontstaan het:
Ons het twee rooiwarm chilipeperplante wat verskeie van ons vakansies skaars "oorleef" het, en op hierdie stadium byna as familielede oorweeg het. Hulle is deur uiterste droogte en te veel water, maar het altyd op een of ander manier herstel.
Die idee om plantwater op Arduino te bou, was byna die eerste idee hoe Arduino as 'n tuisautomatiseringsprojek toegepas kan word. So is 'n eenvoudige plantwaterstelsel gebou.
Weergawe 1 het egter geen aanduiding van die humiditeit van die grond nie, en daar was geen manier om te bepaal of dit op die punt was om die plante nat te maak nie, of om 'n paar dae te water.
Nuuskierigheid, soos ons almal weet, het die kat doodgemaak, en weergawe 2 is gebou met 'n 4 -syfer -7 -segmentmodule om die huidige humiditeit ten alle tye te vertoon.
Dit was nie genoeg nie. Die volgende vraag was "wanneer laas het die plante natgemaak"? (Aangesien ons selde tuis was om dit te sien). Weergawe 3 het die 7 -segment -module gebruik om ook te wys hoe lank gelede die laaste waterloop plaasgevind het (as 'n lopende teksstring).
Een aand het die water om 04:00 begin en almal wakker gemaak. Frustrerend … Omdat dit te veel werk was om APIS vir die nag af te skakel en vir die dag om water te voorkom, word 'n intydse horlosie bygevoeg om die toestel snags aan die slaap te maak as deel van weergawe 4.
Aangesien die real -time klok periodieke aanpassings vereis (soos byvoorbeeld die verandering van die somtyd), bevat weergawe 5 drie knoppies waarmee u 'n verskeidenheid plantwaterparameters kan instel.
Dit het nie daar gestop nie. Ek het opgemerk dat die humiditeitssonde geneig is om vinnig te erodeer, moontlik as gevolg van die feit dat dit (volgens ontwerp) onder konstante spanning was, en daarom was daar konstante elektriese stroom tussen die sondes (erodeer -anode). Die goedkoop grondsonde uit China het ongeveer 'n week oorleef. Selfs 'n gegalvaniseerde spyker is binne 'n maand 'opgeëet'. 'N Roesvrye staal sonde hou beter, maar ek het opgemerk dat selfs dit opgee. Weergawe 6 skakel die sonde elke uur slegs 1 minuut aan (en telkens tydens water), wat erosie dramaties verminder (~ 16 minute per dag teenoor 24 uur per dag).
Die idee:
Ontwikkel plantwaterstelsel met die volgende vermoëns:
- Meet die humiditeit van die grond
- As u 'n voorafbepaalde "lae" humiditeitsmerk bereik, skakel die waterpomp aan en water die plante totdat 'n "hoë" humiditeitsmerk bereik word
- Gieter moet in verskeie lopies uitgevoer word, geskei deur periodes van onaktiwiteit om waterversadiging deur die grond toe te laat
- Die stelsel moet homself snags deaktiveer tussen 'slaap' en 'wakker word'
- Die "wakker" -tyd moet vir naweke aangepas word na 'n latere waarde
- Die stelsel moet die logboek van pomplopies byhou
- Die stelsel moet die huidige waarde van die humiditeit van die grond vertoon
- Die stelsel moet die datum/tyd van die laaste pomploop aandui
- Gieter parameters moet verstelbaar wees sonder herprogrammering
- Hou op pomp en dui aan Fouttoestand as die pomploop nie lei tot 'n verandering in humiditeit (uit water of sensorprobleme) wat voorkom dat die plant oorstroom en water lek
- Die stelsel moet die humiditeitsmeter aan/af skakel om metaalerosie te voorkom
- Die stelsel moet water uit die buise dreineer om te voorkom dat vorm daarin voorkom
Die volgende parameters moet via knoppies ingestel word:
- 'Lae' humiditeitsmerk, in %, om met pomp te begin (standaard = 60 %)
- "Hoë" humiditeitsmerk, in %, om die pomp te stop (standaard = 65 %)
- Duur van 'n enkele waterloop, in sekondes (standaard = 60 sekondes)
- Aantal pogings om die teiken humiditeit te bereik (standaard = 4 lopies)
- Militêre tyd om vir die nag uit te skakel, slegs ure (standaard = 22 of 22 uur)
- Militêre tyd om in die oggend te aktiveer, slegs ure (standaard = 07 of 7 uur)
- Naweekaanpassing vir oggendaktivering, delta -ure (standaard = +2 uur)
- Huidige datum en tyd
APIS skryf die datum/tyd van 10 laaste wateroplossings in die EEPROM -geheue in. Die log kan vertoon word met datum en tyd van die lopies.
Een van die vele dinge wat ons by APIS geleer het, is dat u nie eintlik elke dag water hoef te plant nie, wat ons roetine was totdat ons die humiditeitsmetings op 'n 7 -segment -skerm sien …
Stap 1: ONDERDELE EN GEREEDSKAP
U benodig die volgende dele om APIS te bou:
BEHEERBUS EN BUIS:
- Arduino Uno -bord: op Amazon.com
- 12v peristaltiese vloeistofpomp met silikoonbuis: op Adafruit.com
- 4X Numeriese LED-skerm Digitale buis JY-MCU-module: op Fasttech.com
- DS1307 Real Time Clock breakout board kit: op Adafruit.com (opsioneel)
- Microtivity IM206 6x6x6mm Tact Switch: op Amazon.com
- Vero -bord: op Amazon.com
- L293D motorbestuurder IC: op Fasttech.com
- 3 x 10kOhm weerstande
- Arduino projekteer plastiekkas: op Amazon.com
- 12v AC/DC -adapter met 'n 2,1 mm -aansluiting: op Amazon.com
- Bamboespiesies
- Loopvlak en 'n bietjie ekstra gom
- Super sagte latex rubber buis 1/8 "ID, 3/16" OD, 1/32 "muur, halfhelder amber, 10 voet lengte: op McMaster.com
- Duursame nylon buisverbinding met dichtheid, pak vir 1/8 "buis-ID, wit, pakkies van 10: op McMaster.com
- Duursame nylon buisverbinding met dichtheid, Wye vir buis-ID van 1/8 inch, wit, 10 stuks: op McMaster.com
- Soos gewoonlik, drade, soldeergereedskap, ens.
VOGTIGHEIDSPROBE:
- Klein stuk hout (1/4 "x 1/4" x 1 ")
- 2 x naalde vir ekstraksie van aknee in vlekvrye staal: op Amazon.com
- Sensormodule vir grondvochtigheidsopsporing: op Fasttech.com
Stap 2: GRONDVOGTIGHEIDSPROBE V1
Grondvogtigheid word gemeet op grond van die weerstand tussen twee metaalsonde wat in die grond geplaas is (ongeveer 1 duim uitmekaar). Die skemas word op die prent voorgestel.
Die eerste sonde wat ek probeer het, was die een wat u by 'n aantal internetverskaffers (soos hierdie) kan koop.
Die probleem hiermee is dat die foelievlak relatief dun is en vinnig erodeer ('n kwessie van een of twee weke), en daarom het ek vinnig die vooraf vervaardigde een vir die stewiger sensor laat vaar, gebaseer op gegalvaniseerde spyker (sien die volgende stap)).
Stap 3: GRONDVOGTIGHEIDSPROBE V2
Die 'volgende generasie' sonde is tuisgemaak van twee gegalvaniseerde spykers, 'n houtbord en 'n paar drade.
Aangesien ek reeds 'n verslete vervaardigde sonde gehad het, het ek die aansluitstuk en die elektronika-module daaruit hergebruik, in plaas daarvan om die grondkomponent te vervang.
Gegalvaniseerde naels het tot my verbasing ook geërodeer (hoewel stadiger as dun foelie), maar steeds vinniger as wat ek sou wou.
Nog 'n sonde is ontwerp, gebaseer op 'n vlekvrye staal aknee -verwyderingsnaalde. (sien volgende stap).
Stap 4: GRONDVOGTIGHEIDSPROBE V3 "Katana"
Die sonde van vlekvrye staal (wat lyk soos samoerai -swaard, vandaar die naam) is die een wat tans gebruik word.
Ek glo dat die vinnige erosie toegeskryf kan word aan die feit dat die sonde altyd onder elektriese spanning (24x7) was, ongeag hoe gereeld die werklike meting plaasgevind het.
Om dit te versag, het ek die meetintervalle verander na een keer per 1 uur (dit is immers NIE 'n reële tydstelsel nie) en het die sonde gekoppel aan een van die digitale penne in plaas van permanente 5v. Tans word die sonde slegs ~ 16 minute per dag in plaas van 24 uur aangedryf, wat sy lewensduur dramaties moet verhoog.
Stap 5: BASIESE FUNKSIONALITEIT
APIS is gebaseer op die Arduino UNO -raad.
APIS meet die humiditeit van die grond een keer per uur, en as dit onder 'n voorafbepaalde drempel val, skakel die pomp aan vir 'n voorafbepaalde tydsduur, vooraf gedefinieerde aantal kere wat geskei word deur 'versadigings'-intervalle.
Sodra 'n teiken humiditeitsdrempel bereik is, gaan die proses terug na die metingsmodus van een keer per uur.
As die teiken humiditeit nie bereik kan word nie, maar die onderste limiet bereik is, is dit ook goed (ten minste het daar natgemaak). Die rede kan 'n ongelukkige sondeplasing wees, waar dit te ver van die klam grond is.
As selfs die onderste humiditeitsgrens nie bereik kon word nie, word 'n fouttoestand verklaar. (Waarskynlik 'n probleem met die sonde, of die emmer vol water, ens.). Onder 'n fouttoestand slaap die eenheid 24 uur sonder om iets te doen, en probeer dan weer.
Stap 6: 7 SEGMENT -DISPLAY
TM1650 GEBASEERDE 7 SEGMENTWYS:
Oorspronklik het APIS geen vertoonvermoë gehad nie. Dit was onmoontlik om die huidige humiditeitsvlak van die grond te bepaal sonder om via USB aan te sluit.
Om dit reg te stel, het ek 'n 4 -syfer -7 -segmentskerm by die stelsel gevoeg: op Fasttech.com
Ek kon nêrens 'n biblioteek vind om met hierdie module te werk nie (ook nie 'n gegewensblad daarvoor nie), so na 'n paar uur se ondersoek en eksperimentering van I²C besluit ek om self 'n bestuurdersbiblioteek te skryf.
Dit ondersteun skerms tot 16 syfers (met 4 as standaard), kan basiese ASCII -karakters vertoon (let daarop dat nie alle karakters met 7 segmente saamgestel kan word nie, sodat letters soos W, M, ens nie geïmplementeer word nie.), Ondersteun desimale puntvertoning op die module, met 'n reeks karakters (om meer as 4 letters te vertoon), en ondersteun 16 grade helderheid.
Die biblioteek is hier op die arduino.cc speelterrein beskikbaar. Bestuurdersbiblioteek TM1650
Voorbeeldvideo is hier beskikbaar
ANIMASIE:
'N Bietjie 7 -segment -animasie word geïmplementeer tydens 'n waterloop.
- Terwyl die pomp ingeskakel is, loop die digitale kolletjies op die skerm in 'n patroon van links na regs, wat 'n waterloop simboliseer: animasievideo natmaak
- Gedurende die "versadigingsperiode" loop die kolletjies na die middel van die skerm na buite, wat versadiging simboliseer: versadigingsanimasievideo
Onnodig, maar 'n mooi aanraking.
Stap 7: POMP- en POMPBEHEER
POMP
Ek het 'n 12V peristaltiese vloeistofpomp (hier beskikbaar) gebruik om die plante nat te maak. Die pomp bied ongeveer 100 ml/min (wat ongeveer 'n halwe glas is - goed om te onthou wanneer u die watertyd instel om oorstromings te voorkom, en dit gebeur 8-))
POMPBEHEER - L293D
Die pomp word bestuur deur middel van die L293D -motorbestuurderskyfie. Aangesien die rotasierigting vooraf ingestel is, hoef u eintlik net die chip-aktiveringspen vir beheer te gebruik. Die rigtingpenne kan direk aan +5v en GND permanent gekoppel word.
As u (soos ek) nie seker was in watter rigting die pomp gaan nie, kan u steeds al drie penne aan Arduino koppel en die rigting programmaties beheer. Minder her soldeer.
Stap 8: KONFIGURASIE en KNOPPE
KNOPPE:
Ek het drie knoppies gebruik om APIS op te stel en te beheer.
Alle druk op die knoppies word verwerk op grond van die penonderbrekings (PinChangeInt -biblioteek).
- Rooi (heel regs) is 'n SELECT -knoppie. Dit laat APIS in die konfigurasiemodus gaan, en bevestig ook die waardes.
- Swart links en middelste knoppies (onderskeidelik PLUS en MINUS) word gebruik om die instelbare waardes te verhoog/te verlaag (in die konfigurasiemodus), of om die huidige datum/tyd en die laaste waterloopinligting (in normale modus) weer te gee.
Aangesien die skerm meestal afgeskakel is, sal al die knoppies eers APIS "wakker" maak, en dan eers, by 'n tweede druk, hul funksie verrig.
Die skerm word afgeskakel na 30 sekondes van onaktiwiteit (tensy 'n besproeiing aan die gang is).
APIS loop deur die konfigurasieparameters by die aanvang vir hersiening: video
KONFIGURASIE:
APIS het vier konfigurasiemodusse:
- Stel waterparameters in
- Stel real -time klok in
- 'Forceer' natloop
- Hersien die waterlogboek
WATERPARAMETERS:
- Lae grondvogtigheidsdrempel (begin natmaak)
- Hoë grondvogtigheidsdrempel (stop natmaak)
- Duur van 'n enkele waterloop (in sekondes)
- Aantal besproeiings in een bondel
- Duur van die grondversadigingsperiode tussen lopies binne een bondel (in minute)
- Aktiveringstyd in die nagmodus (militêre tyd, slegs ure)
- Eindtyd in die nagmodus (militêre tyd, slegs ure)
- Naweekaanpassing vir die eindtyd van die nagmodus (in ure)
EINDE TYD KLOK INSTELLING:
- Eeu (dit wil sê 20 vir 2015)
- Jaar (d.w.s. 15 vir 2015)
- Maand
- Dag
- Uur
- Minuut
Die klok word verstel met sekondes op 00 na bevestiging van minute.
Die instelling het 'n tydsduur van 15 sekondes, waarna alle veranderinge gekanselleer word.
By stoor word parameters in die EEPROM -geheue gestoor.
Dwing 'n waterloop:
Ek weet nog steeds nie hoekom ek dit geïmplementeer het nie, maar dit is daar. Sodra dit geaktiveer is, gaan APIS in die besproeiingsmodus. Die besproeiingsmodus is egter steeds onderworpe aan drempels. Dit beteken dat as u natloop dwing, maar die grondvogtigheid bo die HOOG punt is, die waterloop onmiddellik eindig. Dit werk basies slegs as die humiditeit van die grond tussen die lae en die hoë drempels is.
WATERING LOG OORSIG:
APIS hou 'n logboek van die laaste 10 besproeiings in die EEPROM -geheue, wat die gebruiker kan hersien. Slegs die datum/tyd van die besproeiing word gestoor. Drempels (destyds) en die aantal lopies wat dit geneem het om die HOOGE drempel te bereik, word nie gestoor nie (hoewel dit moontlik in die volgende weergawe is).
Stap 9: RTC: REAL TIME CLOCK
NAGMODUS
Toe APIS my snags wakker maak, het ek 'n idee gekry om 'n 'nagmodus' te implementeer.
'N Nagmodus is wanneer geen metings plaasvind nie, die vertoning af is en geen lopies water gee nie.
Op 'n gewone werksdag word APIS om 07:00 wakker (konfigureerbaar), en gaan dit na 22:00 in (na opstel). Op 'n naweek gebruik APIS 'n 'naweekaanpassing' -instelling om 'n wakker word te vertraag (byvoorbeeld tot 09:00, as naweekaanpassing 2 uur is).
RTC UITBREEKBOORD vs "SOFTWARE" RTC:
Ek het hardeware RTC (hier beskikbaar) gebruik om die datum/tyd by te hou en nagmodusse in te voer/te verlaat.
Dit is opsioneel om te gebruik, aangesien sketse saamgestel kan word om die sogenaamde "sagteware" RTC (met behulp van millis () funksionaliteit van arduino) te gebruik.
Die nadeel van die gebruik van sagteware RTC is dat u die tyd moet instel elke keer as APIS aanskakel.
Ek het die standaard RTC -biblioteek aangepas om presies by die API te pas, en ook om die probleem met die omrol van millis te omseil. (Sien die sketsstap vir aflaai).
Stap 10: PLAAS DIT ALLES SAAM
Die hele stelsel (behalwe sonde), insluitend die pomp, pas in 'n klein boks vir Arduino Uno.
- TM1650 -skerm gebruik TWI -koppelvlak, sodat die SDA- en SDC -drade na onderskeidelik Arduino -penne A4 en A5 gaan. Die ander twee drade is +5v en GND.
- RTC -bord gebruik TWI -koppelvlak, dieselfde as hierbo. (TM1650 en RTC gebruik verskillende hawens, sodat hulle vreedsaam saamleef). RTC +5v -pen is gekoppel aan arduino -pen 12 (aangedryf via digitale pen in plaas van +5v). Onthou nie hoekom ek dit gedoen het nie, jy hoef nie.
- L293D -penne word soos volg verbind: aktiveer (pen 1) na D5, en rigtingbeheerpenne 2 en 7 na arduino -penne D6 en D7 onderskeidelik.
- KNOPPE is gekoppel aan penne D2, D8 en D9 vir onderskeidelik SELECT, PLUS en MINUS. (Knoppies word geïmplementeer met 'n aftrekbare 10K-weerstand-in die 'aktief-hoë' opset).
- PROBE -module se +5v krag is gekoppel aan arduino -pen 10 (om periodieke metings moontlik te maak), en sonde is gekoppel aan analoog pen A1.
OPMERKING: Fritzing -skematiese lêer is by die github -bewaarplek gevoeg.
Stap 11: SKETSE en meer
Opdatering vir Maart 2015:
- Bygevoeg funksionaliteit om die buise te dreineer nadat dit natgemaak is om te voorkom dat vorm vorm (seuntjie! Ek is bly dat ek nie die draairigting van die pomp op L293D vasgemaak het nie!)
- Meer uitgebreide houtkap sluit datum/tyd in van die begin en einde van die waterloop, die begin en einde van die humiditeit en hoeveel keer die pomp tydens die besproeiing ingeskakel is
- Foutroetine opgedateer: toestel sal moeilik herstel word na 24 uur nadat die fouttoestand ingevoer is
- Saamgestel met TaskScheduler 2.1.0
- Verskeie ander foutoplossings
Vanaf 18 November 2015 is APIS opgegradeer met die volgende bykomende funksies:
- Gebruik die DirectIO -biblioteek vir vinniger en makliker penveranderings
- Gebruik die tydsone -biblioteek om korrek oor te skakel tussen EST en EDT
- Bygevoeg knoppie-weerkaatslogika slegs met behulp van TaskScheduler
- Bygevoeg knoppie herhaal funksie (waardesiklus as die knoppie ingedruk word en die siklus na 5 siklusse toeneem)
- Saamgestel met IDE 1.6.6 AVR 1.6.9 teen TaskScheduler 1.8.4
- Na Github verhuis
BIBLIOTEKE:
APIS is gebaseer op die volgende biblioteke:
- EEPROM - deel van Arduino IDE
- Wire - deel van Arduino IDE
- EnableInterrupt - beskikbaar op Github
- Tydsone - beskikbaar op Github
- DirectIO - beskikbaar op Github
Deur my gewysig (gevurk):
- Tyd - beskikbaar op Github
- RTClib - beskikbaar op Github
Deur my ontwikkel:
- TM1650 - beskikbaar op Github
- TaskScheduler - beskikbaar op Github
- AvgFilter - beskikbaar op Github
SKETS:
Die nuutste weergawe van die APIS -skets, insluitend fritzing -skematiese lêer, is beskikbaar op Github
INLIGTINGSBLAAIE:
- L293D: hier
- RTC -uitbreekbord: hier
Stap 12: *** ONS WEN !!! ***
Hierdie projek het 'n tweede prys gewen in die Home Automation -wedstryd wat deur Dexter Industries geborg word.
Kyk daarna! WOO-HOE !!!
Tweede prys in die huisautomatisering
Aanbeveel:
Neem wonderlike foto's met 'n iPhone: 9 stappe (met foto's)
Neem wonderlike foto's met 'n iPhone: die meeste van ons dra deesdae 'n slimfoon oral, daarom is dit belangrik om te weet hoe u u slimfoonkamera kan gebruik om fantastiese foto's te neem! Ek het net 'n paar jaar 'n slimfoon gehad, en ek hou daarvan om 'n ordentlike kamera te hê om dinge te dokumenteer wat ek
Raspberry Pi -boks met koelventilator met CPU -temperatuuraanwyser: 10 stappe (met foto's)
Raspberry Pi Box of Cooling FAN Met CPU Temperature Indicator: Ek het framboos pi (Hierna as RPI) CPU temperatuur aanwyser stroombaan in die vorige projek bekendgestel. Die kring wys eenvoudig RPI 4 verskillende CPU temperatuur vlakke soos volg.- Groen LED aangeskakel wanneer CPU temperatuur is binne 30 ~
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: 7 stappe (met foto's)
Howto: Raspberry PI 4 Headless (VNC) installeer met Rpi-imager en foto's: ek is van plan om hierdie Rapsberry PI te gebruik in 'n klomp prettige projekte in my blog. Kyk gerus daarna. Ek wou weer my Raspberry PI gebruik, maar ek het nie 'n sleutelbord of muis op my nuwe plek gehad nie. Dit was 'n rukkie sedert ek 'n Framboos opgestel het
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer