Satura rādītājs:

Galīgais DIY automātiskais zivju padevējs: 2. līmenis: 10 soļi (ar attēliem)
Galīgais DIY automātiskais zivju padevējs: 2. līmenis: 10 soļi (ar attēliem)

Video: Galīgais DIY automātiskais zivju padevējs: 2. līmenis: 10 soļi (ar attēliem)

Video: Galīgais DIY automātiskais zivju padevējs: 2. līmenis: 10 soļi (ar attēliem)
Video: Страшные истории. ЗАПЕРТАЯ КОМНАТА. Деревенские страшилки. Ужасы. Мистика. 2024, Jūlijs
Anonim
Galīgais DIY automātiskais zivju padevējs: 2. līmenis
Galīgais DIY automātiskais zivju padevējs: 2. līmenis

2. līmeņa padevējs ir liels solis uz priekšu no 1. līmeņa. Šī versija izmanto ESP8266 wifi moduli, lai sinhronizētu arduino pulksteni, lai kontrolētu barošanas grafiku un tvertnes apgaismojumu.

1. darbība. Kas jums būs nepieciešams:

Viss 1. līmenī, izņemot gaismas taimeri

  • ESP8266-01
  • FTDI programmētājs (ESP8266 programmēšanai)
  • Lodāmurs
  • 5V RGBW LED sloksne (SK6812 IP 65, dienasgaisma balta, es izmantoju šo)
  • Gaismas sloksnei jābūt ūdensnecaurlaidīgai, jo ūdens no tvertnes iztvaiko un kondensējas uz tvertnes vāka un iedegas.
  • 5V barošanas avots (es izmantoju šo, arduino NEVAR barot visas gaismas atsevišķi.).
  • Jūtieties brīvi izmantot jebkuru vēlamo 5 V barošanas avotu, tikai pārliecinieties, vai tas nodrošina pietiekami daudz enerģijas, lai apgādātu visas gaismas.
  • 3.3V sprieguma regulators
  • ESP8266 darbojas ar 3,3 V spriegumu, tāpēc viss pārējais ir 5 V, tāpēc ir vieglāk pazemināt 5 līdz 3,3, nekā atkāpties no 12 līdz 3,3
  • Rezistori (1kOhm x2, 2kOhm x2 (vai 1kOhm x4), 10kOhm x1)
  • Super līme
  • Karstā līme
  • 3D drukātas detaļas x8 (iekļauti STL faili)
  • Stiepļu noņēmēji (es iesaku šīs noderīgās lietas)
  • Maizes dēlis (lietu prototipēšanai)
  • Protoboard/projekta dēlis (galīgajai montāžai)
  • Standarta 3-zaru datora barošanas kabelis.
  • (pēc izvēles) Mobilā tālruņa vibrācijas motors (lai satricinātu piltuvi) (es izmantoju vienu no šiem)
  • Instalējiet šīs arduino bibliotēkas:
  • ESP8266WiFi.h
  • WiFiUdp.h
  • TimeLib.h
  • Dusk2Dawn.h
  • Adafruit_NeoPixel.h
  • Pacietību.

2. darbība. Kā tas darbojas

ESP8266 iegūst Unix laiku no NIST servera un nodod to arduino. Pēc tam arduino izmanto šo laiku, lai noteiktu vietējo saullēktu un saulrietu un sinhronizētu savu iekšējo pulksteni, lai noteiktu, cik minūtes ir pagājušas kopš pusnakts. Izmantojot šo laiku, kas pagājis kopš pusnakts, arduino nosaka gaismu krāsu un zina, kad jāaktivizē padevējs, kas ir tāds pats mehānisms kā pirmā līmeņa atbrīvotājs. Ierakstītajā arduino koda noklusējuma iestatījumos gaismas ir iestatītas uz dienas/nakts ciklu, ko var regulēt līdz otrajai, lai nodrošinātu vienmērīgu izbalēšanu, un tiek sinhronizētas ar jūsu atrašanās vietas saullēktu un saulrietu. Arduino arī atiestata sevi reizi dienā, lai atkārtoti sinhronizētu sevi ar NIST serveri un nodrošinātu, ka nav taimera pārpildes

3. darbība: ESP8266 programmēšana

ESP8266 programmēšana
ESP8266 programmēšana

Labi, tāpēc ESP8266 ir programmēšanas bastards.

Tas nav piemērots maizei, un, ja jums ir džemperu vadi, es iesaku tos izmantot. Ja jūsu ESP8266 tika piegādāts bez jebkādas programmaparatūras, kas instalēta kā manējā, jums būs jāatspīd programmaparatūra. Lai to izdarītu, izmantojiet FTDI programmētāju, ir daudz instrukciju, kā to izdarīt citur, bet ērtības labad es sniedzu elektroinstalācijas shēmu. Pārliecinieties, ka FTDI programmētājs nodrošina 3.3V! 5V apcep jūsu ESP8266. Manā diagrammā oranžais savienojums starp GPI01 un GND jāveic tikai tad, kad mirgo ESP8266 programmaparatūra. GPI01 jāpaliek nesaistītam, augšupielādējot modulī faktisko arduino kodu.

Tālāk jums būs jāaugšupielādē ESP8266 faktiskais kods. Šoreiz izmantojiet FTDI programmētāju kopā ar arduino IDE. Jums būs arī jālejupielādē un jāinstalē visas izmantotās bibliotēkas. Iestatījumi, ko izmantoja koda augšupielādei ar arduino 1.8, sākumā ir komentējamajā daļā. DROŠI atjauniniet kodu, izmantojot savu wifi tīklu un paroli.

4. darbība. Savienojiet ESP8266 ar Arduino

Savienojiet ESP8266 ar Arduino
Savienojiet ESP8266 ar Arduino
Savienojiet ESP8266 ar Arduino
Savienojiet ESP8266 ar Arduino

Kad kods ir augšupielādēts, varat atvienot FTDI programmētāju un pievienot ESP8266, kā parādīts diagrammā. Rezistori tiek izmantoti kā sprieguma dalītāji, lai pārliecinātos, ka arduino nesūknē 5V ESP8266 sakaros un atiestata tapas. Veiciet šo darbību uz maizes dēļa atkļūdošanai, mēs to vēlāk ievietosim uz tāfeles.

Kad viss ESP8266 ir pievienots elektrotīklam, jums vajadzētu redzēt zilu zibspuldzi, kad tas ir pievienots elektrotīklam, pēc dažām sekundēm tam vajadzētu iegūt Unix laiku no interneta un nosūtīt to arduino, tad tam ir tukša tukšuma cilpa (), ka tas atrodas līdz atiestatīšanai, tāpat kā pirmā līmeņa padevējs.

Lai pārliecinātos, ka ESP8266 darbojas, augšupielādējiet kodu no nākamās darbības arduino un atveriet sērijas monitoru.

5. darbība: Arduino koda augšupielāde un problēmu novēršana

Arduino koda augšupielāde un problēmu novēršana
Arduino koda augšupielāde un problēmu novēršana

Tagad augšupielādējiet kodu arduino nano, atveriet seriālo monitoru, jums vajadzētu redzēt kaut ko līdzīgu iepriekš minētajam piemēram. Atverot seriālo monitoru, arduino tiek atiestatīts, tāpēc ESP8266 vienlaikus tiks atiestatīts. sērijas monitors sāks skaitīt sekundes no 1970. gada 1. janvāra pusnakts, līdz ESP8266 nosūta tam pašreizējo Unix laiku. Kad tas notiek, jums vajadzētu redzēt šo:

Lai tas darbotos, var paiet 3-15 sekundes, tāpēc esiet pacietīgs. Es reti esmu redzējis, ka tas aizņem vairāk par 10 sekundēm, bet dodiet tam 15, pirms sākat problēmu novēršanu.

Ja jūsu ESP8266 nesūta laiku arduino, izmēģiniet šīs darbības:

· Pārliecinieties, ka viss ir pieslēgts tieši tā, kā paredzēts

· Vēlreiz pārbaudiet, vai ESP8266 ievietojat pareizo wifi SSID un paroli, ja nē, jums tas būs jāpieslēdz atpakaļ FTDI programmētājam, lai augšupielādētu pareizo informāciju, un pēc tam atkārtoti pieslēdziet to arduino. (īpaši garš SSID vai parole var radīt dažas problēmas, bet manā wifi tīklā abos laukos ir vairāk nekā 20 rakstzīmes, tāpēc lielākajai daļai mājas tīklu vajadzētu būt kārtībā)

· Pārbaudiet maršrutētāja administratora lapu (ja varat), vai nav pievienotas ierīces, kas parādās tikai tad, kad ir ieslēgts ESP8266. Lai pārliecinātos, ka tas paliek ieslēgts, kamēr jūs to pārbaudāt (arduino to atspējo), pievienojiet vadu, kas ved uz ESP8266 atiestatīšanas tapu, tieši pie 3.3 V, saglabājot to AUGSTĀ, ESP8266 tiks ieslēgts. Pēc pārbaudes noteikti atsaukiet šo darbību.

6. darbība: Arduino koda pielāgošana

Kad jūsu ESP8266 ir pievienots un nosūta laiku arduino, ieprogrammētais arduino vienkārši saskaitīs laiku un parādīs dažus citus atkļūdošanas informācijas bitus, piemēram, saullēktu un saulrietu. Mēs varam pielāgot dažas no šīm vērtībām arduino kodā, pārējās ir vienkārši tur, lai es varētu atkļūdot visu sistēmu.

Lai labāk saprastu, kā arduino aprēķina saullēktu un saulrietu, izlasiet Dusk2Dawn bibliotēkas dokumentāciju. Jums būs jāievada platums un garums (ja maināt savas atrašanās vietas nosaukumu, pārliecinieties, vai tas ir mainīts visur kodā!) Dusk2Dawn izmanto jūsu GPS koordinātas (kuras varat atrast Google kartēs) un vietējo laiku. noteikt, kad saule lec un riet minūtēs no pusnakts. Mainīgais minfromMid ir pašreizējā minūte kopš pusnakts, un to salīdzina ar saullēktu, saulrietu, barošanas laiku un krēslas laiku, lai pateiktu arduino, kad ko darīt. Noteikti atjauniniet arī savu laika joslu, noklusējuma vērtība ir EST.

Kad jūsu atrašanās vieta ir iestatīta, iestatiet krēslas laiku, lai pateiktu arduino, cik ilgi vēlaties, lai būtu krēsla. Tas kontrolē laika periodu starp dienas un nakts laiku un tiek norādīts minūtēs. Noklusējuma vērtība ir 90 minūtes, tāpēc RGBW gaismas izgaist no dienas uz nakti vai citā laika periodā.

Pēc tam iestatiet vēlamo barošanas laiku. Faktiskie barošanas laiki ir iestatīti getTime () metodē, lai barošana tiktu sinhronizēta ar dienu/nakti. Ja vēlaties, lai jūsu zivis tiktu barotas katru dienu vienā un tajā pašā laikā, komentējiet attiecīgos iestatījumus un izmantojiet sākotnējos iestatījumus koda sākumā. Atcerieties, ka šie laiki ir minūtēs no pusnakts. Sākotnējā, stingri kodētā barošanas laika izmantošana var traucēt apgaismojumu, ja barošanas laiks nokrīt izbalēšanas laikā starp krēslu un dienasgaismu (saullēkta un saulrieta laikā). Koda noklusējuma vērtība ir attiecīgi 15 minūtes pirms un pēc saulrieta un saullēkta. Ja vēlaties, var pievienot papildu barošanas laiku.

Pēc tam iestatiet laiku, kad vēlaties, lai arduino tiktu atiestatīts. Tas nodrošina, ka neviens no laika pārplūdes gadījumiem neatkārto pulksteņa sinhronizāciju. Es iesaku to darīt dienas vidū, kad esat prom, jo atiestatīšanas procesa laikā gaismas spīd pilnībā. Dienā zivīm tas nebūs problēma, bet naktī vai no rīta/vakarā gaismas zibspuldze var traucēt jūsu zivīm vai sabojāt tvertnes izskatu uz dažām sekundēm, kamēr jūs to baudāt.

Visbeidzot, pārbaudiet, cik gaismas diodes ir jūsu esošajā joslā. Manā joslā ir 60, taču šī vērtība ir jāatjaunina iestatīšanas kodā, lai arī cik daudz LED izmantotu.

7. solis: apgaismojums

Apgaismojums
Apgaismojums

Pievienojiet LED sloksni, ja vēl neesat to izdarījis.

Barošana (sarkana) līdz 5 V, zeme (balta) līdz zemei, signāls (zaļš) līdz tapai 6 (vai neatkarīgi no tā, ko esat iestatījis). Kad arduino ir atiestatīts, gaismas būs pilnā spilgtumā, līdz ESP8266 nosūta laiku arduino un nosaka, kur tas atrodas apgaismojuma ciklā. Vislabāk to iestatīt vakarā vai naktī, jo gaismas maiņa būs krasāka. Ja gaismas nemainās 30 sekunžu laikā, atiestatiet arduino. Manam atiestatīšanas kodam vajadzētu darboties, taču es neesmu programmētājs pēc profesijas, tāpēc joprojām var būt dažas kļūdas šeit vai tur. Varat pārbaudīt, vai atiestatīšana darbojas, iestatot atiestatīšanas laiku uz minūti pēc koda atkārtotas augšupielādes un gaidīšanas (atiestatīšanas sekunde ir nejaušināta, tāpēc var paiet 1-2 minūtes, lai faktiski atiestatītu) ieslēgtu, lai pārliecinātos, ka servo darbojas, mainot padeves laiku. Vienkārši noteikti mainiet šos laikus, pirms atstājat to darboties.

Noklusējuma apgaismojuma grafiks ir diezgan vienkāršs:

Naktī visas gaismas ir izslēgtas, izņemot zilo, kas ir zemākajā iestatījumā (2/255). Tuvojoties saullēktam, zilā krāsa palielinās līdz pilnai intensitātei (255), ko tā sasniedz krēslas sākumā. Krēslas laikā sarkanā un zaļā krāsa palielinās līdz 255. Saullēktā sarkanā, zilā un zaļā krāsa ir 255, bet dienasgaisma ir balta, tāpēc nākamo 2 minūšu laikā sarkanā, zilā un zaļā krāsa izgaist un baltā krāsa pazūd. Atlikušajā dienas daļā baltā krāsa ir pilnā intensitātē līdz 2 minūtēm pirms saulrieta, kad tā izgaist un tiek aizstāta ar sarkanu, zilu un zaļu. Saulrietā apgaismojums atkal iekrīt krēslā, izņemot to, ka sarkanā un zaļā krāsa sāk darboties pilnā intensitātē un izgaist, un, iestājoties naktij, pilnā intensitātē paliek zils. No šejienes zilā krāsa lēnām atgriežas līdz zemākajai vērtībai, kuru tā sasniedz pusnaktī.

Arduino skices beigās ir cits kods citiem apgaismojuma režīmiem, tāpēc jūtieties brīvi spēlēties ar matemātiku, lai apgaismojums izbalētu atšķirīgi vai mainītu krāsas dažādos dienas periodos. Atcerieties, ka matemātika tiek veikta pludiņa formātā, bet krāsu vērtībām ir jābūt collām, tāpēc ir nepieciešama konversija starp abām, izmantojot jebkuru jaunu jūsu īstenoto apgaismojuma matemātiku.

8. darbība: detaļu drukāšana

Ja vēl neesat izdrukājis šī līmeņa detaļas, dariet to. Korpuss ir aptuveni tāda paša izmēra kā vidēja izmēra filtra bloks, un man vajadzēja visu nakti, lai izdrukātu. Notīriet detaļas, ievietojiet starpsienu dalītāju ar rievu uz augšu un noapaļotu malu uz āru. Servo ir uzstādīts tāpat kā 1. līmenī, un, ja jūs nomaināt 1. līmeņa sistēmu, tvertne, vāks un padeves ritenis ir identiski, tāpēc jums tie nebūs jāizdrukā, ja tie darbojas.

Mapē.zip ir divi STL failu komplekti, viens manam izmantotajam oriģinālajam SM22 servodzinējam un otrs daudz izplatītākajam servo SG90. Abos ir Fusion 360 faili, ja vēlaties/nepieciešams mainīt kādu no detaļām. SM22 STL noteikti iederas kopā, jo tie ir tie, kurus esmu izmantojis. Es neesmu drukājis vai pārbaudījis SG90 detaļas.

Materiāliem iesaku izmantot pārtikai drošu plastmasu. Es izmantoju Raptor PLA no makergeeks, kas ir tonnas krāsu un ir ļoti spēcīgs pēc tam, kad esat to atkausējis 10 minūtes. To var izdarīt, vārot detaļas, ko es iesaku darīt tikai ritenim, ja tas nav īsti piemērots, jo atlaidināšana detaļas samazinās par aptuveni 0,3%.

Es apdrukāju korpusu uz sāniem (ar augšpusi uz sāniem un atvērto pusi uz augšu). Tas izmanto daudz mazāk atbalsta materiāla nekā citi virzieni. Piltuvi var izdrukāt otrādi, lai uz tā nebūtu visa atbalsta materiāla. Bunkura vākam jābūt arī apdrukātam otrādi, bet lielajam vākam jābūt drukātam ar labo pusi uz augšu.

Ir arī “endstop” gabals, kas nodrošina atbalstu korpusa apakšai. Pēc padevēja atstāšanas uz pāris nedēļām es pamanīju, ka tas ir sācis sagāzties un saliekties no barošanas avota svara, un tas ietekmē piltuves spēju barot barību ritenī. Vienkārši karsti pielīmējiet 1-2 galus korpusa apakšā, lai viss būtu vienā līmenī.

9. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Lai savienotu visu, izmantojiet protobordu. Es izmantoju džemperu vadus, tāpēc man nevajadzēja tik daudz lodēt, bet tieši šeit jūs lodēsit visvairāk. Kamēr savienojumi ir vienādi, sistēma darbosies tāpat kā uz maizes dēļa. Es lodēju kopā galvenes tapas, lai izveidotu jaudas "sliedes" zemei, 5V, 3.3V, kā arī signāla pieslēgvietas servo un bez strāvas 3.3V signāliem uz ESP8266 (RX, CH_PD un RST). Es visas tapas novirzīju uz protoboarda apakšējo pusi ar komponentiem augšpusē.

Kad protoboards ir pabeigts, ievietojiet to korpusa augšējā dobumā un pievienojiet servomotoru. Apgaismojuma kabeļi iziet no iežogojuma korpusa vākā, un barošanas bloks ietilpst apakšējā dobumā. Apakšējā dobums ir noapaļots, un tam ir neliels slīpums, lai novadītu ūdeni, kas kaut kādā veidā spēj iekļūt kamerā prom no elektronikas. Pievienojiet sistēmai barošanas avota pozitīvo un negatīvo spaili un pievienojiet sānu vāku.

Ja vēl neesat to izdarījis attiecībā uz barošanas avotu, nogrieziet strāvas kabeļa galu, kas nav pievienots sienai, un noņemiet vadus pietiekami, lai tos varētu ievietot pareizajos barošanas avota spailēs. Ja jums ir gofrēti gali, kurus varat uzlikt uz galiem, es iesaku tos izmantot, ja ne ar tukšo varu viss būs kārtībā, tikai pārliecinieties, ka nekas netrūkst! Atcerieties, ka tas tiks pievienots jūsu mājas elektrotīklam, esiet drošs un nekad nestrādājiet ar SISTĒMU, kas ir pievienota.

Tālāk tvertnei jāpievieno gaismas sloksne. Noņemiet tvertnes vāku un pilnībā izžāvējiet. Pirms lukturu pievienošanas pārliecinieties, ka vāka virsma ir tīra un sausa. Manai sloksnei ir līmējošs pamats, tas nedarbosies, lai nostiprinātu gaismas sloksni, bet tas novietos tos gar vāka malu (vai visur, kur jūs to ievietojat) Mans tvertnes vāks bija manai sloksnei atbilstošā izmērā, tāpēc man nebija jāpagarina vadi. Vienkārši pārliecinieties, ka visi atklātie vadi ir pārklāti ar ūdensnecaurlaidīgiem materiāliem, pirms atkal uzliekat tvertnei vāku. Galu pārklāšanai es izmantoju karstu līmi, bet tas var nedarboties ilgtermiņā. Kad gaismas ir sakārtotas tā, kā jums patīk, superlīmējiet tās vietā. Man bija jāizmanto papildu līme stūros, jo LED sloksne pacēlās tur. Ļaujiet līmei dažas minūtes nožūt, pirms atkal uzliekat tvertnei vāku, lai pārliecinātos, ka nekas nepil. Kad vāks ir atkal uzlikts, vienkārši pievienojiet vadus arduino.

Padeves komplekts ir tieši tāds pats kā pirmā līmeņa padevējs. Servo iederas savā dobumā ar pielīmētu padeves riteni. Padeves riteņa kabatai jābūt vērstai uz piltuvi, kad servo ir 0 pozīcijā (un jāgriežas tvertnes virzienā 180 pozīcijā). Ja izmantojat papildu vibrācijas motoru, pielodējiet dažus svina vadus un ievietojiet to piltuvē, servo dobumā tam ir dobums. Nosūtiet motora vadus pa to pašu ceļu kā servo vadus un pievienojiet tos zemei un motora tapai uz arduino. Karsti pielīmējiet tvertni pie pamatnes.

Kad viss ir pievienots, varat pieslēgt barošanas bloku pie sienas. Arduino vajadzētu iziet savu palaišanas secību, un gaismas mainīsies, kad pienāks laiks. Ja nē, atiestatiet dēli, līdz tam ir laiks. Es karstā veidā pielīmēju korpusa vāku, bet atstāju sānu vāku nelīmētu, lai varētu piekļūt arduino, lai to atiestatītu vai pārprogrammētu.

Apsveicam! Jūsu otrā līmeņa zivju barotava ir pabeigta! Apbrīnojiet skaisto apgaismojumu un spēju barot zivis, kad esat prom! Noteikti uzraugiet sistēmu tuvāko dienu laikā, lai pārliecinātos, ka viss darbojas pareizi un ka jūsu zivis faktiski tiek barotas.

10. solis: lietas, kurām vispirms jāpievērš uzmanība:

Lietas, kas vispirms jāpievērš uzmanība
Lietas, kas vispirms jāpievērš uzmanība
Lietas, kas vispirms jāpievērš uzmanība
Lietas, kas vispirms jāpievērš uzmanība
Lietas, kas vispirms jāpievērš uzmanība
Lietas, kas vispirms jāpievērš uzmanība

Kad es pirmo reizi uzstādīju raktuvi, es nejauši pieslēdzu servo nepareizai signāla tapai, tāpēc zivis netika barotas vairākas dienas, līdz es sapratu kļūdu (es biju barojis tās manuāli naktī, reaģējot uz nākamo kļūdu). Mēģiniet iestatīt barošanas laiku uz laiku, kad jūs, visticamāk, būsit tuvumā, lai apstiprinātu, ka jūsu zivis ir barotas.

Vēl viena kļūda, kas jāuzmanās, ir atiestatīšana. Ja, piemēram, ierodaties mājās pēc saulrieta un tvertne joprojām ir dienas apgaismojumā, iespējams, atiestatīšanas funkcija nav izdevusies un arduino nekad nav saņēmis laiku no ESP8266. Tas arī nozīmē, ka jūsu zivis netika barotas kopš atiestatīšanas laika, tāpēc, iespējams, jums tās jābaro, vienlaikus nospiežot arduino atiestatīšanas pogu. Esmu par 99% pārliecināts, ka to novērsu, bet kodēšana nav mana profesija, tāpēc noteikti uzmanieties no tā.

Noteikti pārbaudiet arī tvertnē esošo pārtiku katru nedēļu vai divas, uzpildiet to pēc vajadzības un pārliecinieties, ka nekas nenotiek slikti.

Ja dodaties atvaļinājumā, pirms izbraukšanas noteikti nomainiet ūdeni un veiciet citas pamata tvertnes apkopes. Padevjs tikai nodroina to, ka prtika un apgaismojums nebs jsu zivju gals, ja esat prk ilgi. Jums nekad vairs nevajadzētu izmantot brīvdienu padevējus!

Ieteicams: