Tartalomjegyzék:
- 1. lépés: Lehetséges ötletek vagy megoldások
- 2. lépés: Az összeszerelés elkészítése
- 3. lépés: A vak felszerelés tervezése
- 4. lépés: A vakok kódolása
- 5. lépés: Utolsó simítások
- 6. lépés: A projekt értékelése
Videó: Automatikus vaknyitás az EV3 használatával: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
A hálószobámban van egy sötétítő redőny, amelyet gyakran elfelejtek kinyitni vagy bezárni reggel vagy este. Szeretném automatizálni a nyitást és a zárást, de felülbírálással, mikor mikor változok.
1. lépés: Lehetséges ötletek vagy megoldások
Miután megnéztem a különböző webhelyeket, például a YouTube -ot, az Instructables -t és a Thingiverse -t, megállapítottam, hogy a leggyakoribb megoldás az volt, hogy motorral hajtjuk az orsót, amely feltekeri és letekeri a redőnyöket, léptetőmotor vagy szervo segítségével. Találtam 2 fő lehetőséget, különböző előnyökkel és hátrányokkal.
1. ötlet: Orsó módszer, ahol a motor és a hajtómű az orsó belsejében található. Ennek megvan az az előnye, hogy ügyes és elegáns módszer, de vannak hátrányai, hogy a vakok jelentős módosítását igényli, a zsinór már nem használható, és az összeszerelés végrehajtásakor nagyon nehezen hozzáférhető a karbantartáshoz.
2. ötlet: zsinór módszer, ahol a motor és a hajtómű a zsinóron van elhelyezve. Ennek az az előnye, hogy egyszerűbb és a szerelvény könnyen hozzáférhető. Ennek azonban az a hátránya, hogy csúnya és terjedelmes lehet, valamint az a tény, hogy megvalósításkor a küszöbhöz kell rögzíteni.
Inkább a zsinóros módszert részesítem előnyben, mint egy sokkal egyszerűbb megoldást, amely nem gátolja a zsinór kézi használatát, és a vak nem igényel jelentős módosítást. Azt tervezem, hogy a lehető leplezettebb és kompaktabb lesz, amikor a végső verziót ESP8266 -tal készítem.
2. lépés: Az összeszerelés elkészítése
Ezt a projektet a Lego mindstorms EV3 segítségével végeztem el, amely rendelkezik olyan funkciókkal, amelyekkel meg kell mutatnom, hogy a projekt működhet, és ismerem a szoftvert, amely határozottan sokat segített. Mivel a vakok gömbláncot használnak az orsó meghajtásához, amelyekkel a Lego fogaskerekek nem kompatibilisek, úgy döntöttem, hogy a legjobb megoldás az, ha olyan fogaskerekeket tervezünk, amelyeknek a külső golyótávolsága megfelelő- a „kereszt alakú” standard lyukkal. központban, ahol ezután 3D -ben nyomtatnám ki a mintát. Ezen a ponton készítettem egy kalibráló gombot is, és egy fényérzékelőt csatoltam az ablakomhoz, valamint egy gombot, amely felülbírálásként szolgál.
3. lépés: A vak felszerelés tervezése
Szétszereltem a rolót, hogy lássam, hogyan néz ki részletesebben a hajtókar. A szétszerelés során találtam egy kicsi, 16 fogú fogaskereket, amelyet egy feszített tekercs tartott a helyén, ez volt az a rész, amit kerestem. A fogaskerék másolatának megtervezése után hozzáadtam a szükséges Lego-kompatibilis lyukakat, kinyomtattam a 3 különálló részt és végül szuperragasztóval összeragasztottam. Kezdetben problémáim adódtak azzal, hogy a Lego kompatibilis legyen, abban az értelemben, hogy a 3D -s nyomtatóm nem volt olyan felbontású, hogy az „x” lyukat kellőképpen elkészítse, azonban nem volt probléma a kör alakú lyukakkal mindkét oldalán. Így kicseréltem az „x” -et egy kör alakú lyukra, és jól nyomtatott. Aztán egy kis teszt után láttam, hogy képes elviselni a vakok nyomatékát és súlyát. Az alábbiakban linkelem a fogaskerékre vonatkozó terveimet, vagy megtalálhatja a Thingiverse webhelyen:
4. lépés: A vakok kódolása
Olyan kódot szerettem volna, amely automatikusan kinyitja és bezárja a redőnyt, amikor eléri a megvilágítási szintet, de volt egy felülbíráló gombja is, hogy az ember akkor is kinyissa vagy lezárja a rolót, amikor akarják. Linkeltem a GitHubomat a kód végleges verziójával itt:
A projekt kódjának elkészítése több napot vett igénybe, a program alapvető logikája megfelelően működött a fényérzékelővel, azonban a pillanatnyi felülbíráló gomb nem működött megfelelően. Megváltoztatta a redőny állapotát, amikor megnyomta, de hiányzott belőle a „reteszelő” funkció, ami azt jelentené, hogy a vak ebben a helyzetben marad- vagyis a vak azonnal visszagurítja azt, ami korábban volt. Ezt a „várj addig” blokk segítségével oldottam meg, amely egy logikai VAGY kapuhoz kapcsolódik, amely leolvassa a fényérzékelő és az érintésérzékelő értékeit, amelyeket az alábbiakban elmagyarázok.
A kód a motorok és a vakok kalibrálásával kezdődik, kezdve a teljesen nyitott árnyékolóval, és engedje le, amíg el nem éri az alul lévő érintőérzékelőt, számolva, hogy hány negyedfordulatot kell elérnie az aljára, amelyet a „RotationsNeeded” néven tárol. változó. Ezután "false" -t ír a "BlindOpen" változóba, amely a vakok helyzetének nyomon követésére szolgál. Ezen a ponton a kód 4 hurokra oszlik.
Az egyik ilyen ciklus a „Buttonstate” ciklus, amely folyamatosan közzéteszi a gomb állapotát a „ButtonPressed” nevű változónak. Ezáltal nincs szükség több gombblokk elhelyezésére a parancsfájlban.
A második ciklus a „Világos vagy sötét”, amely folyamatosan összehasonlítja az ablakomon kívüli fényszintet a kódban korábban meghatározott állandó értékkel. Ha az eredmény az állandó alatt van, a ciklus „false” -t ír az „ItIsLight” változóba, míg ha az érték felett van, akkor „true” -t ír.
A harmadik ciklus 3 opció numerikus listáját tartalmazza, amely alapvetően megmondja a vaknak, hogy mit kell tennie, 0 = vak, 1 = vak, 2 = ne tegyen semmit, mert a vak a megfelelő helyen van. A ciklus a „BlindShould” változó elolvasásával kezdődik, amely meghatározza a vaknak elvégzendő feladatot, majd végrehajtja ezt a feladatot, megváltoztatja a „BlindOpen” változót a megfelelő opcióra, majd tétlenné válik, amíg a „BlindShould” változót meg nem változtatja. megismétli. A „RotationsNeeded” értéket, valamint +/- 100% teljesítményt használja a redőny teljesen nyitott vagy zárt mozgatásához.
A negyedik, egyben utolsó ciklus a legösszetettebb, ez a „Döntés” ciklus, amely kezeli az összes adatot, és eldönti, hogy mit kell tenni minden egyes permutációval. Ezt logikai alapú „útelágazások” segítségével teszi, ahol a „gomb megnyomása”, „Fényszint”, „Vak nyitva” az igaz vagy hamis kérdések. Az összes permutációra kemény kódolású válasz van, amely vagy 0 = vak, 1 = vak, vagy 2 = nem tesz semmit - ezt az értéket a „BlindShould” változóba írják, amelyet ezután egy előző ciklus kezel. Néhány válasz ezután megvárja, amíg az „ItIsLight” és/vagy a „ButtonPressed” változó megváltozik, mielőtt befejezi a szkriptet, ez csak a gomb által aktivált permutációk esetében van így, mivel különben azonnal megpróbálja kijavítani a pozícióját, vagyis a vak visszatér eredeti állapotába. Ezt a folyamatot ciklikusan alakítják ki, hogy robusztus és viszonylag egyszerű automatikus rendszert hozzanak létre, amely könnyen hozzáadható és hibakereshető. Fú.
5. lépés: Utolsó simítások
Később úgy döntöttem, hogy 9 V -os tápegységet csatlakoztatok az EV3 -hoz, néhány fa dübelt és csavart használva "elemként", ezáltal a termék nem volt megbízható az elemekkel szemben, és megakadályozta, hogy néhány naponta cseréljem az elemeket.
6. lépés: A projekt értékelése
Úgy gondolom, hogy a projekt összességében jól sikerült, végül egy működő prototípust kaptam az automatikus redőnyök összeállításához, amelyet a projekt során talált összes releváns információval átvehetek a végső verzióba. Sikeresen kódoltam az eszközt, és később nem találtam komolyabb problémákat a kóddal. Szerettem volna vizuálisan vonzóbbá tenni az eszközt, de ez ismét a koncepció bizonyítéka, és erőfeszítéseket teszek annak érdekében, hogy jól nézzen ki, amikor elkészítem a végső verziót ESP8266 -tal. Amikor újra megcsinálom a projektet, úgy tervezem meg a motort, hogy a redőny belsejében üljön, mert így könnyebb lenne elrejteni. A legnagyobb lecke, amit megtanultam, az a logikai hibakeresés és a kód átgondolása, dokumentálása és tesztelése, mielőtt végrehajtanám.
Ajánlott:
Automatikus hűtőventilátor a szervó és a DHT11 hőmérséklet- és páratartalom -érzékelő használatával Arduino segítségével: 8 lépés
Automatikus hűtőventilátor a szervó és a DHT11 hőmérséklet- és páratartalom -érzékelő használatával az Arduino segítségével: Ebben az oktatóanyagban megtanuljuk, hogyan kell elindítani & forgassa a ventilátort, ha a hőmérséklet egy bizonyos szint fölé emelkedik
HOGYAN KÉSZÍTÜNK AUTOMATIKUS VÉSZVILÁGÍTÓ ÁRAMKÖRT A D882 Tranzisztor használatával: 3 lépés
HOGYAN KÉSZÍTENEK AUTOMATIKUS VÉSZVILÁGÍTÓ ÁRAMKÖRT A D882 TRANSISTOR: HELLO FRIENDS, ÜDVÖZÖLJÜNK A CSATORNÁMBAN, MA MUTATOM, HOGYAN KÉSZÍTENI AZ AUTOMATIKUS VÉSZHELYZETI KÖRNYEZETT
Automatikus Google T Rex játékvezérlő az Arduino használatával: 7 lépés
Automatikus Google T Rex játékvezérlő az Arduino használatával: építsük fel
WiFi automatikus növényadagoló tározóval - beltéri/kültéri művelési beállítás - automatikus vízi növények távoli megfigyeléssel: 21 lépés
WiFi automatikus növényadagoló tározóval - beltéri/kültéri művelési beállítások - Automatikus vízi növények távoli felügyelettel: Ebben az oktatóanyagban bemutatjuk, hogyan kell beállítani egy egyéni beltéri/kültéri növényadagoló rendszert, amely automatikusan öntözi a növényeket, és távolról felügyelhető az Adosia platform használatával
Automatikus vaknyitás: 11 lépés
Automatikus vaknyitás: http: //contraptionmaker.infoEgy 150 éves parasztházban élünk, eredeti ablakokkal. A szigetelés és az új iparvágány ellenére olyan, mintha szitán élnénk, télen. A probléma leküzdése érdekében műanyagot helyezünk az ablakokra, hogy megpróbáljuk