Obsah:

Automatický otvírač rolet pomocí EV3: 6 kroků
Automatický otvírač rolet pomocí EV3: 6 kroků

Video: Automatický otvírač rolet pomocí EV3: 6 kroků

Video: Automatický otvírač rolet pomocí EV3: 6 kroků
Video: Elektrická roleta EDR 2024, Červenec
Anonim
Automatický otvírač rolet pomocí EV3
Automatický otvírač rolet pomocí EV3
Automatický otvírač rolet pomocí EV3
Automatický otvírač rolet pomocí EV3

V ložnici mám sadu roletových zatemňovacích rolet, které často zapomínám ráno nebo večer otevřít nebo zavřít. Chci automatizovat otevírání a zavírání, ale s přepsáním, když se měním.

Krok 1: Potenciální nápady nebo řešení

Poté, co jsem se podíval na různé stránky, jako je YouTube, Instructables a Thingiverse, jsem zjistil, že nejběžnějším řešením bylo motorizovat cívku, která se navíjela a odvíjet žaluzie, pomocí krokového motoru nebo serva. Našel jsem 2 hlavní možnosti s různými výhodami a nevýhodami.

Idea 1: Cívková metoda, kde je motor a převodovka uložena uvnitř cívky. To má výhody v tom, že je to úhledná a elegantní metoda, ale má nevýhody v tom, že vyžaduje zásadní úpravu rolety, šňůra již není použitelná a sestava by byla při implementaci velmi obtížně přístupná z důvodu údržby.

Idea 2: metoda šňůry, kde je motor a převodovka uložena na šňůře. To má tu výhodu, že je to jednodušší a sestava by mohla být snadno přístupná. Má však tu nevýhodu, že by mohl být ošklivý a objemný, a také skutečnost, že při implementaci musí být připevněn k prahu.

Dávám přednost metodě šňůry, protože je to mnohem jednodušší řešení, které nebrání ručnímu používání šňůry a roleta nebude vyžadovat žádnou zásadní úpravu. Plánuji, aby to bylo co nejtajnější a nejkompaktnější, až udělám finální verzi s ESP8266.

Krok 2: Sestavení sestavy

Sestavení shromáždění
Sestavení shromáždění
Sestavení shromáždění
Sestavení shromáždění

Udělal jsem tento projekt pomocí svého Lego mindstorms EV3, který má funkce, které potřebuji, abych ukázal, že projekt může fungovat, a jsem obeznámen se softwarem, který rozhodně hodně pomohl. Vzhledem k tomu, že roleta používá k pohonu cívky kuličkový řetěz, se kterým jsou kola Lego nekompatibilní, rozhodl jsem se, že nejlepším řešením bude navrhnout ozubené kolo se správným rozestupem koulí na vnější straně- se standardním otvorem „ve tvaru kříže“v centrum, kde bych následně 3D tisk vytiskl. V tomto okamžiku jsem také vytvořil kalibrační tlačítko a připojil světelný senzor k mému oknu a také tlačítko, které fungovalo jako potlačení.

Krok 3: Navrhování zařízení pro nevidomé

Navrhování nevidomé výbavy
Navrhování nevidomé výbavy
Navrhování nevidomé výbavy
Navrhování nevidomé výbavy
Navrhování nevidomé výbavy
Navrhování nevidomé výbavy
Navrhování nevidomé výbavy
Navrhování nevidomé výbavy

Demontoval jsem nevidomé, abych viděl, jak klika vypadá podrobněji. Během demontáže jsem našel malé 16 zubové ozubené kolo, které bylo drženo na místě napnutou cívkou, to byla část, kterou jsem hledal. Po navržení repliky zařízení jsem přidal požadované otvory kompatibilní s legem, vytiskl 3 oddělené části a nakonec je spojil lepidlem. Zpočátku jsem měl problémy s kompatibilitou dílu Lego v tom smyslu, že moje 3D tiskárna neměla rozlišení, aby dostatečně vytvořilo otvor „x“, ale nemělo problémy s kruhovými otvory na obou jeho stranách. Nahradil jsem tedy „x“kruhovým otvorem a vytisklo se to dobře. Potom, po malém množství testů, jsem viděl, že to zvládne točivý moment a hmotnost ze žaluzie. Níže propojím své návrhy zařízení nebo je najdete na Thingiverse na:

Krok 4: Kódování nevidomých

Kódování nevidomých
Kódování nevidomých

Chtěl jsem kód, který by automaticky otevíral a zavíral žaluzie, když se dostal na konkrétní úroveň světla, ale který měl také tlačítko pro potlačení, aby bylo možné stále otevřít nebo zavřít roletu, když chtěli. Svůj GitHub jsem propojil s konečnou verzí kódu zde:

Dokončení kódu projektu mi trvalo několik dní, základní logika programu fungovala správně se světelným senzorem, nicméně tlačítko dočasného přepsání nefungovalo správně. Změnilo to stav žaluzie po stisknutí, ale postrádalo funkci „západky“, což by znamenalo, že žaluzie zůstane v poloze- což znamená, že ji žaluzie okamžitě vrátí zpět do stavu, v jakém byla dříve. Opravil jsem to pomocí bloku „počkejte na“, propojeného s logickou NEBO bránou, která četla hodnoty světelného senzoru a dotykového senzoru, což vysvětlím níže.

Kód začíná kalibrací motorů a žaluzií, počínaje plně otevřenou roletou a jejím spuštěním, dokud nenarazí na dotykový senzor ve spodní části, a spočítá, kolik čtvrt otáček je potřeba k dosažení dna, které se uloží jako „RotationsNeeded“proměnná. Poté zapíše „false“do proměnné „BlindOpen“, která slouží ke sledování polohy nevidomého. V tomto okamžiku se kód rozdělí na 4 smyčky.

Jednou z těchto smyček je smyčka „Buttonstate“, která průběžně publikuje stav tlačítka do proměnné nazvané „ButtonPressed“. To eliminuje potřebu umístění více bloků tlačítek do skriptu.

Druhá smyčka je „Světlo nebo tma“, která neustále porovnává úroveň světla mimo mé okno s konstantou definovanou dříve v kódu. Pokud je výsledek pod touto konstantou, smyčka zapíše „false“do proměnné „ItIsLight“, zatímco pokud je nad hodnotou, zapíše „true“.

Třetí smyčka obsahuje numerický seznam 3 možností, které v zásadě říkají nevidomým, co mají dělat, 0 = slepý, 1 = slepý, 2 = nic nedělat, protože slepý je na správném místě. Smyčka začíná čtením proměnné „BlindShould“, která určuje správný úkol, který by měl nevidomý dělat, poté tento úkol provede, změní proměnnou „BlindOpen“na správnou volbu a poté se stane nečinným, dokud se proměnná „BlindShould“nezmění opakuje se to. Používá hodnotu „RotationsNeeded“a +/- 100% sílu k pohybu rolety zcela otevřené nebo zavřené.

Čtvrtá a poslední smyčka je nejsložitější, je to smyčka „Decider“, která zpracovává všechna data a rozhoduje, co dělat s každou permutací. Dělá to pomocí logických „vidlic na silnici“, kde „stisknutí tlačítka“, „Úroveň světla“, „Blind open“jsou pravdivé nebo nepravdivé otázky. Všechny permutace mají pevně kódovanou odezvu, která je buď 0 = slepá, 1 = slepá, nebo 2 = nedělat nic - tato hodnota je zapsána do proměnné „BlindShould“, kterou pak zpracovává předchozí smyčka. Některé reakce pak počkají, než se proměnná „ItIsLight“a/nebo „ButtonPressed“před dokončením skriptu změní, to platí pouze pro permutace aktivované tlačítkem, protože jinak by se okamžitě pokusilo opravit svou polohu, což znamená, že se nevidomý vrátí do původního stavu. Tento proces se poté smyčkou vytvoří robustní a relativně jednoduchý automatický systém, který lze snadno přidat a ladit. Fuj.

Krok 5: Dokončení dotyků

Dokončovací doteky
Dokončovací doteky

Poté jsem se rozhodl připojit 9V napájecí zdroj k mému EV3 pomocí některých dřevěných hmoždinek a šroubů jako „baterií“, což způsobilo, že výrobek není spolehlivý na baterie a zabránil mi v nutnosti měnit baterie každých pár dní.

Krok 6: Vyhodnocení projektu

Myslím, že se projekt celkově vydařil, skončil jsem s fungujícím prototypem pro sestavu automatických žaluzií, který mohu vzít všechny relevantní informace, které jsem během projektu našel, a implementovat do konečné verze. Úspěšně jsem zakódoval zařízení a později jsem zatím nenašel žádné větší problémy s kódem. Chtěl bych, aby bylo zařízení vizuálně přitažlivější, ale opět je to důkaz konceptu a budu se snažit, aby to vypadalo dobře, až udělám finální verzi s ESP8266. Až projekt udělám znovu, navrhnu motor tak, aby seděl uvnitř rolety, protože to by bylo snazší skrýt. Největší lekce, kterou jsem se naučil, je logické ladění a promyšlení, zdokumentování a otestování mého kódu, než jej implementuji.

Doporučuje: