Obsah:

Automatický otvárač žalúzií pomocou EV3: 6 krokov
Automatický otvárač žalúzií pomocou EV3: 6 krokov

Video: Automatický otvárač žalúzií pomocou EV3: 6 krokov

Video: Automatický otvárač žalúzií pomocou EV3: 6 krokov
Video: Jednoduché regulovanie teploty a klímy pomocou VELUX Active with NETATMO 2024, Júl
Anonim
Automatický otvárač žalúzií pomocou EV3
Automatický otvárač žalúzií pomocou EV3
Automatický otvárač žalúzií pomocou EV3
Automatický otvárač žalúzií pomocou EV3

V spálni mám sadu roliet, ktoré často zabúdam otvárať alebo zatvárať ráno alebo večer. Chcem zautomatizovať otváranie a zatváranie, ale s prepísaním, kedy sa mám zmeniť.

Krok 1: Potenciálne nápady alebo riešenia

Po prezretí rôznych stránok, ako sú YouTube, Instructables a Thingiverse, som zistil, že najbežnejším riešením bola motorizácia cievky, ktorá sa vinula a odvíjanie žalúzií, pomocou krokového motora alebo serva. Našiel som 2 hlavné možnosti s rôznymi výhodami a nevýhodami.

Idea 1: Cievková metóda, kde je motor a prevodovka umiestnená vo vnútri cievky. To má výhody v tom, že je to úhľadná a elegantná metóda, ale má to nevýhody, že si to vyžaduje zásadnú úpravu žalúzií, šnúra už nie je použiteľná a pri implementácii bude montáž veľmi ťažko prístupná kvôli údržbe.

Idea 2: šnúrová metóda, kde je motor a prevodovka umiestnená na šnúre. To má tú výhodu, že je to jednoduchšie a zostava môže byť ľahko dostupná. Má však nevýhodu, že by mohol byť škaredý a objemný, a tiež skutočnosť, že pri implementácii musí byť pripevnený k prahu.

Dávam prednosť šnúrovej metóde, pretože je to oveľa jednoduchšie riešenie, ktoré nebráni ručnému použitiu šnúry a roleta nebude vyžadovať žiadne zásadné úpravy. Plánujem, aby bol čo najskrytejší a najkompaktnejší, keď urobím konečnú verziu s ESP8266.

Krok 2: Zostavenie zostavy

Zostavenie zhromaždenia
Zostavenie zhromaždenia
Zostavenie zhromaždenia
Zostavenie zhromaždenia

Tento projekt som vykonal pomocou Lego mindstorms EV3, ktorý má funkcionalitu, ktorú potrebujem na to, aby som ukázal, že projekt môže fungovať, a poznám softvér, ktorý rozhodne veľmi pomohol. Pretože roleta používa na pohon cievky guľôčkovú reťaz, s ktorou sú ozubené kolieska Lego nekompatibilné, rozhodol som sa, že najlepším riešením bude navrhnúť prevodovku so správnym rozstupom guličiek zvonku- so štandardným otvorom „v tvare kríža“v centrum, kde by som potom 3D tlačil návrh. V tomto mieste som tiež urobil kalibračné tlačidlo a pripevnil som svetelný senzor k svojmu oknu, ako aj tlačidlo, ktoré slúžilo ako potlačenie.

Krok 3: Navrhovanie žalúzieho zariadenia

Navrhovanie zariadenia pre nevidomých
Navrhovanie zariadenia pre nevidomých
Navrhovanie zariadenia pre nevidomých
Navrhovanie zariadenia pre nevidomých
Navrhovanie zariadenia pre nevidomých
Navrhovanie zariadenia pre nevidomých
Navrhovanie zariadenia pre nevidomých
Navrhovanie zariadenia pre nevidomých

Demontoval som žalúzie, aby som zistil, ako kľuka vyzerá podrobnejšie. Pri demontáži som našiel malé 16-zubové ozubené koleso, ktoré držalo na svojom mieste napnutou cievkou, toto bola časť, ktorú som hľadal. Po navrhnutí repliky výstroja som pridal požadované otvory kompatibilné s legom, vytlačil 3 oddelené diely a nakoniec ich spojil so superlepidlom. Pôvodne som mal problémy s kompatibilitou dielu Lego v tom zmysle, že moja 3D tlačiareň nemala rozlíšenie na dostatočné vytvorenie otvoru „x“, ale nemala problémy s kruhovými otvormi na oboch stranách. Preto som nahradil „x“kruhovým otvorom a vytlačilo sa to v poriadku. Potom, po malom testovaní, som videl, že to zvládne krútiaci moment a hmotnosť zo žalúzie. Svoje návrhy výstroja prepojím nižšie alebo ich nájdete na Thingiverse na:

Krok 4: Kódovanie nevidomých

Kódovanie nevidomých
Kódovanie nevidomých

Chcel som kód, ktorý by automaticky otváral a zatváral žalúziu, keď sa dostal na konkrétnu úroveň svetla, ale aby mal aj tlačidlo na potlačenie, aby bolo možné žalúziu stále otvárať alebo zatvárať, keď chcú. Tu som prepojil svoj GitHub s konečnou verziou kódu:

Vyplnenie kódu projektu mi trvalo niekoľko dní, mal som základnú logiku programu, ktorý správne pracoval so svetelným senzorom, avšak tlačidlo dočasného prepísania nefungovalo správne. Po stlačení to síce zmenilo stav žalúzie, ale postrádalo funkciu „západky“, čo by znamenalo, že roleta zostane v polohe- čo znamená, že roleta ju okamžite vráti späť do stavu, v akom bola predtým. Opravil som to pomocou bloku „Počkajte na“prepojeného s logickou bránou ALEBO, ktorý čítal hodnoty svetelného senzora a dotykového senzora, čo vysvetlím nižšie.

Kód začína kalibráciou motorov a žalúzií, počínajúc úplne otvorenou roletou a spúšťaním, až kým nenarazí na dotykový senzor v spodnej časti, a počíta, koľko štvrť otáčok je potrebných na to, aby sa dostal dnu, čo sa uloží ako „Potrebné rotácie“premenná. Potom napíše „false“do premennej „BlindOpen“, ktorá sa používa na sledovanie polohy nevidomého. V tomto okamihu sa kód rozdelí na 4 slučky.

Jednou z týchto slučiek je slučka „Buttonstate“, ktorá nepretržite publikuje stav tlačidla do premennej s názvom „ButtonPressed“. Tým sa eliminuje potreba umiestnenia viacerých blokov tlačidiel do skriptu.

Druhá slučka je „Svetlo alebo tma“, ktorá neustále porovnáva úroveň svetla mimo moje okno s konštantou definovanou skôr v kóde. Ak je výsledok pod touto konštantou, slučka zapíše do premennej „ItIsLight“„false“, zatiaľ čo ak je nad hodnotou, zapíše „true“.

Tretia slučka obsahuje numerický zoznam 3 možností, ktoré v zásade hovoria nevidomým, čo majú robiť, 0 = slepý, 1 = slepý, 2 = nič nerobiť, pretože slepý je na správnom mieste. Smyčka začína čítaním premennej „BlindShould“, ktorá určuje správnu úlohu, ktorú by mal nevidiaci vykonávať, potom túto úlohu vykoná, zmení premennú „BlindOpen“na správnu možnosť a potom zostane nečinný, kým sa nezmení premenná „BlindShould“. opakuje sa to. Na pohyb rolety úplne otvorenú alebo zatvorenú používa hodnotu „RotationsNeeded“a +/- 100% výkon.

Štvrtá a posledná slučka je najkomplexnejšia, je to slučka „Decider“, ktorá spracováva všetky údaje a rozhoduje, čo robiť s každou permutáciou. Robí to pomocou logických „vidličiek na ceste“, kde „stlačené tlačidlo“, „úroveň svetla“a „otvorené žalúzie“sú pravdivé alebo nepravdivé otázky. Všetky permutácie majú naprogramovanú odozvu, ktorá je buď 0 = slepá, 1 = slepá, alebo 2 = nerobiť nič - táto hodnota je zapísaná do premennej „BlindShould“, s ktorou sa potom zaobchádza predchádzajúca slučka. Niektoré reakcie potom počkajú, kým sa premenná „ItIsLight“a/alebo „ButtonPressed“pred dokončením skriptu zmení, to platí len pre permutácie aktivované tlačidlom, pretože inak by sa okamžite pokúsil opraviť svoju pozíciu, čo znamená, že sa nevidiaci vráti. do pôvodného stavu. Tento proces sa potom zacyklí a vytvorí sa robustný a relatívne jednoduchý automatický systém, ktorý je možné ľahko pridať a ladiť. Fuj.

Krok 5: Dokončenie dotykov

Dokončovacie dotyky
Dokončovacie dotyky

Potom som sa rozhodol zapojiť 9V napájací zdroj do svojho EV3 pomocou niektorých drevených hmoždiniek a skrutiek ako „batérií“, čo spôsobilo, že výrobok nie je spoľahlivý na batérie a nedovoľoval mi meniť batérie každých pár dní.

Krok 6: Vyhodnotenie projektu

Myslím si, že projekt celkovo dopadol dobre, skončil som s fungujúcim prototypom zostavy automatických žalúzií, ktorý môžem prevziať všetky relevantné informácie, ktoré som počas projektu našiel, a implementovať do konečnej verzie. Zariadenie som úspešne zakódoval a neskôr som zatiaľ s kódom nenašiel žiadne väčšie problémy. Chcel by som, aby bolo zariadenie vizuálne príťažlivejšie, ale opäť je to dôkaz koncepcie a vynaložím určité úsilie, aby vyzeralo dobre, keď vytvorím konečnú verziu s ESP8266. Keď budem znova robiť projekt, navrhnem motor tak, aby sedel vo vnútri rolety, pretože to bude jednoduchšie skryť. Najväčšia lekcia, ktorú som sa naučil, je logické ladenie a premyslenie, zdokumentovanie a testovanie môjho kódu predtým, ako ho implementujem.

Odporúča: