Satura rādītājs:

Automātiskais žalūziju atvērējs, izmantojot EV3: 6 soļi
Automātiskais žalūziju atvērējs, izmantojot EV3: 6 soļi

Video: Automātiskais žalūziju atvērējs, izmantojot EV3: 6 soļi

Video: Automātiskais žalūziju atvērējs, izmantojot EV3: 6 soļi
Video: 😲 Стоит дать шанс Opel Vectra C ? Стал ли этот автомобиль с годами лучше и почему? 2024, Jūlijs
Anonim
Automātiskais žalūziju atvērējs, izmantojot EV3
Automātiskais žalūziju atvērējs, izmantojot EV3
Automātiskais žalūziju atvērējs, izmantojot EV3
Automātiskais žalūziju atvērējs, izmantojot EV3

Manā guļamistabā ir rullo aptumšojošo žalūziju komplekts, ko es bieži aizmirstu atvērt vai aizvērt no rīta vai vakarā. Es vēlos automatizēt atvēršanu un aizvēršanu, bet ar ignorēšanu, kad es mainos.

1. darbība: iespējamās idejas vai risinājumi

Pēc dažādu vietņu, piemēram, YouTube, Instructables un Thingiverse, izpētīšanas es atklāju, ka visizplatītākais risinājums bija motorizēt spoli, kas savija un atritināja žalūzijas, izmantojot pakāpju motoru vai servo. Es atklāju 2 galvenās iespējas ar dažādām priekšrocībām un trūkumiem.

1. ideja: spoles metode, kurā motors un zobrats atrodas spoles iekšpusē. Tam ir priekšrocības, jo tā ir glīta un eleganta metode, taču tai ir trūkumi, ka tai ir vajadzīgas lielas izmaiņas neredzīgajiem, vads vairs nav izmantojams, un montāža būtu ļoti grūti pieejama apkopei, kad tā tiks ieviesta.

2. ideja: auklas metode, kurā motors un pārnesums ir novietots uz auklas. Tam ir priekšrocība, ka tas ir vienkāršāks un montāža varētu būt viegli pieejama. Tomēr tam ir trūkums, ka tas var būt neglīts un apjomīgs, kā arī tas, ka tas ir jāpiestiprina pie sliekšņa, kad tas tiek ieviests.

Es dodu priekšroku auklas metodei, jo tas ir daudz vienkāršāks risinājums, kas netraucē vadu manuālu izmantošanu, un žalūzijai nebūs vajadzīgas nekādas būtiskas izmaiņas. Es plānoju to padarīt pēc iespējas slēptu un kompaktu, kad izveidoju galīgo versiju ar ESP8266.

2. solis: montāžas sagatavošana

Asamblejas izgatavošana
Asamblejas izgatavošana
Asamblejas izgatavošana
Asamblejas izgatavošana

Es veicu šo projektu, izmantojot savu Lego mindstorms EV3, kam ir funkcionalitāte, kas man jāparāda, ka projekts varētu darboties, un es esmu iepazinies ar programmatūru, kas noteikti ļoti palīdzēja. Tā kā žalūzijas spoles virzīšanai izmanto lodīšu ķēdi, ar kuru Lego zobrati nav saderīgi, es nolēmu, ka labākais risinājums ir izveidot pārnesumu ar pareizu atstarpi starp bumbiņām ārpusē- ar standarta “krusta formas” caurumu centrā, kur es pēc tam 3D drukātu dizainu. Šajā brīdī es arī izveidoju kalibrēšanas pogu un savam logam pievienoju gaismas sensoru, kā arī pogu, kas darbojas kā ignorēšana.

3. darbība: neredzīgo pārnesumu projektēšana

Aklo pārnesumu projektēšana
Aklo pārnesumu projektēšana
Aklo pārnesumu projektēšana
Aklo pārnesumu projektēšana
Aklo pārnesumu projektēšana
Aklo pārnesumu projektēšana
Aklo pārnesumu projektēšana
Aklo pārnesumu projektēšana

Es izjaucu žalūzijas, lai redzētu, kā kloķis izskatījās sīkāk. Demontāžas laikā es atradu nelielu 16 zobu zobratu, ko turēja nospriegota spole, tā bija daļa, ko es meklēju. Pēc zobrata kopijas izstrādes es pievienoju nepieciešamos ar Lego saderīgos caurumus, izdrukāju 3 atsevišķās detaļas un beidzot sasaistīju tās kopā ar superlīmi. Sākotnēji man bija problēmas ar Lego saderības nodrošināšanu tādā nozīmē, ka manam 3D printerim nebija izšķirtspējas, lai pietiekami izveidotu “x” caurumu, tomēr tam nebija problēmu ar apaļajiem caurumiem abās pusēs. Tāpēc es nomainīju “x” ar apaļu caurumu, un tas bija labi izdrukāts. Tad pēc nelielas pārbaudes es redzēju, ka tā spēj izturēt neredzīgo griezes momentu un svaru. Zemāk es saistīšu savus pārnesumu dizainus, vai arī jūs varat to atrast vietnē Thingiverse:

4. solis: aklo kodēšana

Neredzīgo kodēšana
Neredzīgo kodēšana

Es gribēju kodu, kas automātiski atver un aizver žalūziju, kad tas sasniedz noteiktu gaismas līmeni, bet tam bija arī ignorēšanas poga, lai vēl varētu atvērt vai aizvērt žalūziju, kad viņi to vēlas. Esmu saistījis savu GitHub ar koda galīgo versiju šeit:

Projekta koda aizpildīšana aizņēma vairākas dienas, man bija programmas pamatloģika, kas pareizi darbojās ar gaismas sensoru, tomēr īslaicīgās ignorēšanas poga nedarbojās pareizi. Tas mainīja žalūziju stāvokli, kad tika nospiests, taču tam trūka “aizbīdīšanas” funkcijas, kas nozīmētu, ka žalūzija paliks tādā stāvoklī, kas nozīmē, ka žalūzija nekavējoties to atgriezīs līdz iepriekšējam. Es to novērsu, izmantojot “pagaidiet” bloku, kas saistīts ar loģiskiem VAI vārtiem, kas nolasa gaismas sensora un pieskāriena sensora vērtības, kuras es paskaidrošu tālāk.

Kods sākas, kalibrējot motorus un žalūzijas, sākot ar pilnībā atvērtu žalūziju un nolaižot to, līdz tas skar skārienjutīgo sensoru apakšā. mainīgais. Tad tas uzraksta “false” uz mainīgo “BlindOpen”, ko izmanto, lai izsekotu neredzīgo stāvokli. Šajā brīdī kods tiek sadalīts 4 cilpās.

Viena no šīm cilpām ir cilne “Buttonstate”, kas nepārtraukti publicē pogas stāvokli mainīgajā ar nosaukumu “ButtonPressed”. Tas novērš nepieciešamību skriptā izvietot vairākus pogu blokus.

Otrā cilpa ir “gaišs vai tumšs”, kas nepārtraukti salīdzina gaismas līmeni ārpus mana loga ar konstanti, kas iepriekš definēta kodā. Ja rezultāts ir zem šīs konstantes, cilpa mainīgajam “ItIsLight” rakstīs “false”, savukārt, ja tas ir virs vērtības, tas rakstīs “true”.

Trešā cilpa satur skaitlisku sarakstu ar 3 iespējām, kas būtībā norāda neredzīgajiem, kas jādara, 0 = akls, 1 = akls, 2 = nedarīt neko, jo aklais ir pareizajā vietā. Cikls sākas, lasot mainīgo “BlindShould”, kas nosaka pareizo uzdevumu, kas neredzīgajam būtu jāveic, pēc tam veic šo uzdevumu, maina “BlindOpen” mainīgo uz pareizo opciju un pēc tam paliek dīkstāvē, līdz mainās “BlindShould” mainīgais tas atkārtojas. Tas izmanto vērtību “RotationsNeeded”, kā arī +/- 100% jaudu, lai pārvietotu žalūziju pilnībā atvērtu vai aizvērtu.

Ceturtā un pēdējā cilpa ir vissarežģītākā, tā ir “Lemšanas” cilpa, kas apstrādā visus datus un izlemj, ko darīt ar katru permutāciju. Tas tiek darīts, izmantojot uz loģiku balstītas “ceļa dakšas”, kur “poga ir nospiesta”, “Gaismas līmenis”, “Akls atvērts” ir patiesi vai nepatiesi jautājumi. Visām permutācijām ir kodēta atbilde, kas ir 0 = akls, 1 = akls vai 2 = nedarīt neko - šī vērtība tiek ierakstīta mainīgajā “BlindShould”, ko pēc tam apstrādā iepriekšējā cilpa. Dažas atbildes pēc skripta pabeigšanas gaidīs, līdz mainīsies mainīgais “ItIsLight” un/vai “ButtonPressed”; tas attiecas tikai uz pogas aktivizētajām permutācijām, jo pretējā gadījumā tā nekavējoties mēģinātu labot savu pozīciju, kas nozīmē, ka aklais atgriezīsies sākotnējā stāvoklī. Pēc tam šis process tiek atkārtots, lai izveidotu stabilu un salīdzinoši vienkāršu automātisko sistēmu, kuru var viegli pievienot un atkļūdot. Fau.

5. solis: apdares darbi

Apdares darbi
Apdares darbi

Pēc tam es nolēmu pievienot EVV 9 V barošanas avotu, izmantojot dažus koka tapas un skrūves kā "baterijas", tas padarīja produktu neuzticamu akumulatoriem un neļāva man nomainīt baterijas ik pēc pāris dienām.

6. solis: projekta novērtēšana

Es domāju, ka projekts kopumā noritēja labi, tāpēc es saņēmu darba prototipu automātisko žalūziju montāžai, kuru es varu izmantot visu attiecīgo informāciju, ko atradu projekta laikā, un ieviest galīgajā versijā. Es veiksmīgi kodēju ierīci un vēlāk līdz šim neesmu atradis lielas problēmas ar kodu. Es būtu gribējis padarīt ierīci vizuāli pievilcīgāku, taču tas atkal ir koncepcijas pierādījums, un es pielieku zināmas pūles, lai tā izskatītos labi, kad gatavoju galīgo versiju ar ESP8266. Kad es vēlreiz veicu projektu, es izveidošu motoru tā, lai tas sēdētu žalūziju iekšpusē, jo to būtu vieglāk noslēpt. Lielākā mācība, ko esmu iemācījusies, ir loģiska atkļūdošana un pārdomāt, dokumentēt un pārbaudīt savu kodu pirms tā ieviešanas.

Ieteicams: