Turinys:
- 1 žingsnis: galimos idėjos ar sprendimai
- 2 žingsnis: Surinkite surinkimą
- 3 žingsnis: aklojo įrankio projektavimas
- 4 žingsnis: Aklųjų kodavimas
- 5 žingsnis: Apdailos darbai
- 6 žingsnis: projekto įvertinimas
Video: Automatinis žaliuzių atidarytuvas naudojant EV3: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Mano miegamajame yra tamsių žaliuzių rinkinys, kurį dažnai pamirštu atidaryti ar uždaryti ryte arba vakare. Noriu automatizuoti atidarymą ir uždarymą, tačiau nepaisydamas kada keisiu.
1 žingsnis: galimos idėjos ar sprendimai
Peržiūrėjęs įvairias svetaines, tokias kaip „YouTube“, „Instructables“ir „Thingiverse“, radau, kad labiausiai paplitęs sprendimas buvo motorizuoti ritę, kuri suvyniodavo ir išvyniodavo žaliuzes, naudodami žingsninį variklį arba servo. Radau 2 pagrindinius variantus su įvairiais privalumais ir trūkumais.
1 idėja: ritės metodas, kai variklis ir krumpliaratis yra ritės viduje. Tai turi privalumų, nes tai yra tvarkingas ir elegantiškas metodas, tačiau turi trūkumų, kad reikia daug keisti aklas, laidas nebegali būti naudojamas, o surinkus jį būtų labai sunku prižiūrėti.
2 idėja: laido metodas, kai variklis ir krumpliaratis yra ant laido. Tai turi pranašumą, kad jis yra paprastesnis ir surinkimas gali būti lengvai prieinamas. Tačiau jo trūkumas yra tai, kad jis gali būti negražus ir didelių gabaritų, taip pat tai, kad jį reikia pritvirtinti prie slenksčio.
Man labiau patinka laido metodas, nes tai yra daug paprastesnis sprendimas, kuris netrukdo rankiniu būdu naudoti laidą, o žaliuzėms nereikės jokių didelių pakeitimų. Kurdamas galutinę versiją su ESP8266, planuoju tai padaryti kuo slapčiau ir kompaktiškiau.
2 žingsnis: Surinkite surinkimą
Aš padariau šį projektą naudodamas savo „Lego mindstorms EV3“, kurio funkcionalumas turi parodyti, kad projektas gali veikti, ir esu susipažinęs su programine įranga, kuri neabejotinai labai padėjo. Kadangi aklas naudoja ritininę grandinę, su kuria „Lego“krumpliaračiai nesuderinami, nusprendžiau, kad geriausias sprendimas būtų suprojektuoti pavarą, kurios išorinis kamuoliuko atstumas būtų tinkamas- su standartine „kryžiaus formos“skyle. centre, kur tada 3D spausdinčiau dizainą. Šiuo metu aš taip pat padariau kalibravimo mygtuką ir prie lango pritvirtinau šviesos jutiklį, taip pat mygtuką, kuris veikia kaip nepaisymas.
3 žingsnis: aklojo įrankio projektavimas
Išardžiau žaliuzę, norėdamas pamatyti, kaip alkūnė atrodo išsamiau. Išmontuojant radau nedidelę 16 dantų pavarą, kurią laikė įtempta ritė, tai buvo dalis, kurios aš ieškojau. Suprojektavęs pavarų kopiją, pridėjau reikiamas „Lego“suderinamas skyles, atspausdinau 3 atskiras dalis ir galiausiai surišau jas su superklijais. Iš pradžių turėjau problemų, kad „Lego“dalis būtų suderinama ta prasme, kad mano 3D spausdintuvas nesugebėjo pakankamai padaryti „x“skylės, tačiau neturėjo problemų su apskritomis skylėmis abiejose jos pusėse. Taigi „x“pakeičiau apskrito formos skylute ir ji buvo gerai išspausdinta. Tada, atlikęs nedidelį bandymą, pamačiau, kad jis gali valdyti aklųjų sukimo momentą ir svorį. Žemiau susiesiu savo pavarų dizainą arba jį rasite „Thingiverse“adresu:
4 žingsnis: Aklųjų kodavimas
Norėjau kodo, kuris automatiškai atidarytų ir uždarytų žaliuzę, kai pasiekia tam tikrą apšvietimo lygį, tačiau taip pat turėjo nepaisymo mygtuką, kad būtų galima atidaryti arba uždaryti žaliuzę, kai jie to nori. Savo „GitHub“susiejau su galutine kodo versija čia:
Projekto kodas užtruko kelias dienas, turėjau pagrindinę programos logiką, kuri tinkamai veikė su šviesos jutikliu, tačiau momentinis nepaisymo mygtukas veikė netinkamai. Paspaudus jis pakeitė aklo būseną, tačiau jam trūko „fiksavimo“funkcijos, kuri reikštų, kad aklas liktų tokioje padėtyje, o tai reiškia, kad aklas iškart sugrąžins jį į buvusią. Aš tai ištaisiau naudodamas bloką „palaukti“, susietą su loginiais ARBA vartais, kurie nuskaito šviesos jutiklio ir jutiklinio jutiklio vertes, kurias paaiškinsiu toliau.
Kodas pradedamas kalibruojant variklius ir žaliuzes, pradedant visiškai atidarant žaliuzę ir nuleidžiant ją tol, kol atsitrenkiama į apačioje esantį jutiklinį jutiklį, skaičiuojant, kiek ketvirčio apsisukimų reikia norint pasiekti apačią, kuri išsaugoma kaip „RotationsNeeded“kintamasis. Tada jis rašo „false“į kintamąjį „BlindOpen“, kuris naudojamas aklųjų padėčiai sekti. Šiuo metu kodas suskaidomas į 4 kilpas.
Viena iš šių kilpų yra „Buttonstate“kilpa, kuri nuolat skelbia mygtuko būseną kintamajam „ButtonPressed“. Tai nereikalauja, kad scenarijuje būtų dedami keli mygtukų blokai.
Antroji kilpa yra „Šviesa arba tamsa“, kuri nuolat lygina šviesos lygį už mano lango su konstanta, apibrėžta anksčiau kode. Jei rezultatas yra mažesnis už tą konstantą, kilpa į kintamąjį „ItIsLight“įrašys „false“, o jei jis yra didesnis už vertę, parašys „true“.
Trečiojoje kilpoje yra 3 variantų skaitinis sąrašas, kuriame iš esmės nurodoma akliesiems, ką daryti, 0 = apakinti, 1 = apakinti, 2 = nieko nedaryti, nes aklas yra tinkamoje vietoje. Ciklas prasideda skaitant kintamąjį „BlindShould“, kuris nurodo teisingą užduotį, kurią aklas turėtų atlikti, tada atlieka tą užduotį, pakeičia kintamąjį „BlindOpen“į teisingą parinktį ir tada neveikia, kol kintamasis „BlindShould“bus pakeistas tai kartojasi. Jis naudoja „RotationsNeeded“vertę ir +/- 100% galią, kad žaliuzės būtų visiškai atidarytos arba uždarytos.
Ketvirta ir paskutinė kilpa yra pati sudėtingiausia, tai yra „Sprendimo“kilpa, kuri tvarko visus duomenis ir nusprendžia, ką daryti su kiekviena permutacija. Tai daroma naudojant logika pagrįstas „kelio šakutes“, kuriose „paspaudžiamas mygtukas“, „Šviesos lygis“, „Aklas atidarytas“yra teisingi ar klaidingi klausimai. Visos permutacijos turi griežtai užkoduotą atsakymą, kuris yra 0 = apakimas, 1 = apakimas arba 2 = nieko nedarymas - ši vertė įrašoma į kintamąjį „BlindShould“, kurį vėliau tvarko ankstesnė kilpa. Tada kai kurie atsakymai prieš baigdami scenarijų palauks, kol pasikeis kintamasis „ItIsLight“ir (arba) „ButtonPressed“, taip yra tik su mygtuku suaktyvintomis permutacijomis, nes priešingu atveju jis iš karto bandys ištaisyti savo padėtį, o tai reiškia, kad aklasis grįš į pradinę būseną. Tada šis procesas kartojamas, kad būtų sukurta tvirta ir palyginti paprasta automatinė sistema, kurią būtų galima lengvai pridėti ir derinti. Fau.
5 žingsnis: Apdailos darbai
Vėliau nusprendžiau prijungti 9 V maitinimo šaltinį prie savo EV3, naudodamas kai kuriuos medinius kaiščius ir varžtus kaip „baterijas“, todėl gaminys nepasitikėjo baterijomis ir neleido man keisti baterijų kas porą dienų.
6 žingsnis: projekto įvertinimas
Manau, kad projektas apskritai pavyko gerai, aš gavau veikiančią automatinių žaliuzių surinkimo prototipą, kurį galiu panaudoti visą svarbią informaciją, kurią radau projekto metu, ir įdiegti į galutinę versiją. Sėkmingai užkodavau įrenginį ir vėliau iki šiol neradau jokių didelių problemų su kodu. Aš norėčiau padaryti prietaisą vizualiai patrauklesnį, tačiau tai dar kartą yra koncepcijos įrodymas, ir aš įdėsiu šiek tiek pastangų, kad jis atrodytų gerai, kai kuriu galutinę versiją su ESP8266. Kai dar kartą atliksiu projektą, suprojektuosiu variklį, kad jis sėdėtų užuolaidų viduje, nes tai būtų lengviau nuslėpti. Didžiausia pamoka, kurią išmokau, yra loginė derinimas ir apgalvojimas, dokumentacija ir testavimas prieš įdiegiant kodą.
Rekomenduojamas:
Garažo durų atidarytuvas su atsiliepimais naudojant „Esp8266“kaip žiniatinklio serverį .: 6 žingsniai
Garažo durų atidarytuvas, naudodamas „Esp8266“kaip žiniatinklio serverį: Sveiki, aš jums parodysiu, kaip padaryti paprastą būdą padaryti garažo durų atidarytuvą.-ESP8266 yra užkoduotas kaip žiniatinklio serveris, durys gali būti atidarytos visur pasaulyje atsiliepimai, jūs žinosite, ar durys yra atidarytos arba uždarytos realiu laiku-paprasta, tik vienas spartusis klavišas
Šiltnamio automatizavimas naudojant „LoRa“! (2 dalis) -- Motorizuotas langų atidarytuvas: 6 žingsniai (su nuotraukomis)
Šiltnamio automatizavimas naudojant „LoRa“! (2 dalis) || Motorizuotas langų atidarytuvas: Šiame projekte aš jums parodysiu, kaip sukūriau variklio langų atidarytuvą savo šiltnamiui. Tai reiškia, kad aš jums parodysiu, kokį variklį naudojau, kaip sukūriau tikrąją mechaninę sistemą, kaip vairuoju variklį ir galiausiai, kaip naudojau „Arduino LoRa“
Žaliuzių valdymas naudojant ESP8266, „Google Home“ir „Openhab“integraciją bei žiniatinklio valdymą: 5 žingsniai (su paveikslėliais)
Žaliuzių valdymas Naudojant ESP8266, „Google Home“ir „Openhab“integraciją bei žiniatinklio valdymą: šioje instrukcijoje parodysiu, kaip prie žaliuzių pridėjau automatikos. Aš norėjau, kad būtų galima pridėti ir pašalinti automatiką, todėl visas montavimas yra klipas. Pagrindinės dalys yra: Žingsninis variklis Žingsninis vairuotojas valdomas iš ESP-01 Pavaros ir montavimas
Automatinis dažų skardinės atidarytuvas: 6 žingsniai
Automatinis dažų skardinės atidarytuvas: šis nurodymas buvo sukurtas vykdant Pietų Floridos universiteto „Makecourse“projekto reikalavimą (www.makecourse.com). Šiandienos „Instructable“parodysiu, kaip sukurti automatinį dažų skardinių atidarytuvą
Automatinis žaliuzių atidarytuvas: 11 žingsnių
Automatinis žaliuzių atidarytuvas: http: //contraptionmaker.infoMes gyvename 150 metų senumo fermoje su originaliais langais. Nepaisant izoliacijos ir naujų dailylenčių, žiemos metu tai tarsi gyvenimas sietoje. Norėdami kovoti su šia problema, mes montuojame plastiką virš langų, kad