- Komponenti, kas nepieciešami, lai izveidotu automatizētās žalūzijas Arduino
- Rullo žalūziju vadība, izmantojot Arduino
- Projektējiet un izveidojiet logu žalūziju
- Motora turētāja un žalūzijas 3D drukāšana
- Arduino žalūziju vadības shēmas shēma
- Blynk pieteikums Arduino Blind Control
- NodeMCU programmēšana žalūziju kontrolei, izmantojot Blynk
- Logu žalūziju vadība, izmantojot Google asistentu
- Arduino bāzes automātiskā logu žalūziju vadība - demonstrācija
"Labrīt. Pulkstenis ir 7:00. Malibu laika apstākļi ir 72 grādi… ”- šie bija pirmie JARVIS vārdi, kad tos iepazīstināja Marvel Cinematics Universe. Lielākajai daļai Iron Man fanu vajadzētu būt iespējai atcerēties šo ainu un atcerēties, ka JARVIS no rīta varēja atvērt (sava veida) logu un sniegt informāciju par laiku un laika apstākļiem. Filmā loga brilles faktiski bija izgatavotas no caurspīdīgiem skārienekrāniem, un tādējādi JARVIS varēja padarīt to no melna līdz caurspīdīgam, kā arī uz tā parādīt laika statistiku. Bet patiesībā mēs esam tālu no caurspīdīgiem skārienekrāniem, un jo tuvāk mēs varam nokļūt, ir automātiski kontrolēt logu žalūzijas vai ierobežojumus.
Tātad šajā projektā mēs to gatavosim tieši, mēs uzbūvēsim automatizētu motorizētu žalūziju, kas automātiski atvērtos un aizvērtos iepriekš noteiktā laikā. Iepriekš mēs esam izveidojuši daudzus mājas automatizācijas projektus, kuros mēs automatizējām gaismas, motorus utt. Ja vēlaties, varat tos pārbaudīt. Tātad, atgriežoties atpakaļ, šīs Arduino kontrolētās žalūzijas var arī pieņemt komandas no Google palīga, lai jūs varētu attālināti atvērt vai aizvērt logu žalūzijas, izmantojot balss komandas. Intriģējoši? Tad pieņemsim to uzcelt.
Komponenti, kas nepieciešami, lai izveidotu automatizētās žalūzijas Arduino
Projekts ir samērā vienkāršs, un nav nepieciešami daudzi komponenti. Vienkārši apkopojiet zemāk uzskaitītos priekšmetus.
- NodeMCU
- Stepper motors - 28BYJ-48
- Stepper motora draivera modulis
- LM117-3.3V
- Kondensatori (10uf, 1uf)
- 12V līdzstrāvas adapteris
- Perf Board
- Lodēšanas komplekts
- 3D printeris
Rullo žalūziju vadība, izmantojot Arduino
Tagad tirgū ir daudz žalūziju veidu, taču visbiežāk tiek izmantota virve ar pērlītēm (kā parādīts zemāk), ko var izvilkt žalūziju atvēršanai vai aizvēršanai.
Pavelkot šo apļveida virvi pulksteņrādītāja kustības virzienā, loga žalūzijas atvērsies, un, pavelkot šo virvi pretēji pulksteņrādītāja kustības virzienam, loga žalūzijas aizvērsies. Tātad, ja mēs automatizētu šo procesu, viss, kas mums jādara, ir izmantot motoru, lai vilktu šo trosi pulksteņrādītāja kustības virzienā vai pretēji pulksteņrādītāja kustības virzienam, un mēs ar to tiksim galā. Patiesībā mēs to darīsim šajā projektā; mēs izmantosim 28BYJ-48 pakāpienu motoru kopā ar NodeMCU, lai vilktu fāzēm virvi.
Projektējiet un izveidojiet logu žalūziju
Šī projekta elektronikas daļa bija diezgan vienkārša un taisna uz priekšu, izaicinošā daļa bija Blind Gear uzbūvēšana, kas varētu pavilkt virvīti ar pērlītēm. Tātad sāksim šo rakstu ar neredzīgo zobratu dizainu, es nepiedalīšos sīkāk par to, kā projektēt zobratu, taču šai pamatidejai vajadzētu jums palīdzēt. Virves attēls ar krellēm uz tā ir parādīts zemāk.
Atkal ir daudz dažādu virvju veidu, taču visbiežāk izmantotās troses ir attālums no centra līdz centram katrā lodītē ir 6 mm un katras pērlītes diametrs ir 4 mm. Izmantojot šo informāciju, mēs varam sākt izstrādāt mūsu pārnesumu. Ja jūsu žalūziju troses izmēri ir tādi paši kā aprakstīts, varat vienkārši izlaist šo darbību un lejupielādēt šajā rakstā norādīto STL failu un izdrukāt pārnesumu. Ja jūsu virvei ir atšķirīgs lodīšu izkārtojums, tad jums vajadzētu pārveidot žalūziju.
Es nolēmu, ka manā pārnesumā ir 24 krelles, lai iegūtu optimālu zobrata izmēru. Jūs varat izvēlēties jebkuru tuvu esošo skaitli, lai jūsu zobrats būtu liels vai mazs. Tātad tagad mēs zinām, ka attālums starp katru pērlīti ir 6 mm, un mums ir vajadzīgas 24 pērles uz mūsu rīkiem. Reizinot abus, tiks iegūts zobrata apkārtmērs. Izmantojot šos datus, jūs varat aprēķināt zobrata rādiusu. Kā redzat augšējā attēlā, man tika aprēķināts, ka mana zobrata diametrs ir aptuveni 46 mm. Bet atcerieties, ka tas nav faktiskais zobrata diametrs, jo mēs neesam ņēmuši vērā lodīšu diametru, kas ir 4 mm. Tātad faktiskais zobrata diametrs būs 42 mm, es izdrukāju un izmēģināju daudzus zobratus, pirms atradu to, kas darbojas vislabāk. Ja jūs neesat nodarbojies ar dizainu,vienkārši lejupielādējiet un izdrukājiet STL failus no nākamās rindkopas un turpiniet darbu.
Motora turētāja un žalūzijas 3D drukāšana
Kopā ar zobratu mums būs nepieciešams arī neliels korpuss, kuru var urbt pie sienas un turēt soļu motoru savā pozīcijā, gan korpuss, gan šajā projektā izmantotais pārnesums ir parādīts zemāk.
Pilnīgus dizaina failus un STL failus varat atrast tālāk norādītajā Arduino Blind Control Thingiverse lapā. Jūs varat vienkārši lejupielādēt un izdrukāt savu žalūziju un motora korpusu.
Lejupielādējiet STL failus Blind Gear un Motor Case
Arduino žalūziju vadības shēmas shēma
Kad esat gatavs ar reduktoru un montāžu, ir viegli turpināt elektronikas un programmatūras daļu. Pilna IoT Blind vadības projekta shēma ir parādīta zemāk.
Mēs izmantojām 12 V adapteri, lai darbinātu visu iestatījumu; LM1117-3.3V regulators pārveido 12V par 3.3V, ko var izmantot NodeMCU plates darbināšanai. Stepper motora draivera modulis tiek tieši darbināts no 12V adaptera. Es mēģināju darbināt stepper motoru ar 5V, bet tad tas nenodrošināja pietiekami lielu griezes momentu, lai pievilktu žalūzijas, tāpēc pārliecinieties, ka izmantojat arī 12V.
Neatkarīgi no tā, ķēde ir diezgan vienkārša. Ja esat jauns Stepper motors, izpētiet soļu motora raksta pamatus, lai saprastu, kā tas darbojas un kā to var izmantot ar mikrokontrolleru.
Blynk pieteikums Arduino Blind Control
Pirms mēs nokļūstam žalūziju kontrolēšanas programmā Arduino, ļauj atvērt blynk lietojumprogrammu un izveidot dažas pogas, izmantojot kuras mēs varam atvērt vai aizvērt žalūzijas. Tas mums būs vajadzīgs arī vēlāk, lai kontrolētu no Google mājas.
Es tikko pievienoju divas pogas žalūziju atvēršanai un aizvēršanai un vienreizēju, lai atvērtu žalūzijas katru dienu pulksten 10:00. Varat pievienot vairākus taimerus, lai atvērtu vai aizvērtu žalūzijas ar dažādiem dienas intervāliem. Būtībā, kad mums ir jāaizver žalūzijas, mums ir jāiedarbina virtuālā tapa V1 un, kad jāatver žalūzijas, ir jāiedarbina virtuālā tapa V2. Programma stepper motora vadīšanai, pamatojoties uz šeit nospiesto pogu, tiks ierakstīta uz Arduino IDE, tas pats ir apspriests tālāk.
NodeMCU programmēšana žalūziju kontrolei, izmantojot Blynk
Pilns šī neredzīgo kontroles projekta ESP8266 kods ir atrodams šīs lapas apakšdaļā. Mūsu programmai ir jāgaida komanda no lietojumprogrammas blynk, un, pamatojoties uz šo komandu, mums ir jāpagriež soļu motors vai nu pulksteņrādītāja kustības virzienā, vai pretēji pulksteņrādītāja virzienam. Svarīgi koda segmenti ir apspriesti turpmāk.
Saskaņā ar mūsu shēmas shēmu, mēs esam izmantojuši digitālos tapas 1, 2, 3 un 4 nodemcu, lai kontrolētu mūsu soļu motoru. Tātad, mums ir jāizveido instance, ko sauc par stepper, izmantojot šīs tapas, kā parādīts zemāk. Ievērojiet, ka tapas esam definējuši 1., 3., 2. un 4. secībā. Tas tika izdarīts apzināti un nav kļūda; lai motors darbotos pareizi, mums ir jāmaina 2. un 3. tapas.
// izveidojiet stepper klases instanci, izmantojot soļus un tapas Stepper stepper (STEPS, D1, D3, D2, D4);
Nākamajā solī mums ir jādalās ar mūsu blynk lietojumprogrammas autentifikācijas marķieri un Wi-Fi akreditācijas datiem, kuriem jāpieslēdz mūsu IoT Blind kontrolieris. Ja neesat pārliecināts, kā iegūt šo Blynk auth marķieri, skatiet Blynk LED Control projektu, lai izprastu blynk lietojumprogrammas pamatus un kā to izmantot.
// Blynk lietotnē jums jāiegūst Auth Token. // Pārejiet uz projekta iestatījumiem (uzgriežņa ikona). char auth = "l_b47mF1hioCc_7FzdKMJJeFnJjTxxxx"; // Jūsu WiFi akreditācijas dati. // Atvērtajiem tīkliem iestatiet paroli uz "". char ssid = "CircuitDigest"; char pass = "manekens123";
Pārejot ar mūsu kodu, pēc iestatīšanas funkcijas mēs esam definējuši divas metodes blynk. Kā minēts iepriekš, mums jādefinē, kas jādara virtuālajām tapām V1 un V2. Tālāk ir norādīts tā paša kods.
BLYNK_WRITE (V1) // AIZVĒRST ŽOLEKUS {Serial.println ("Žalūziju aizvēršana"); ja (atvērts == taisnība) {for (int c_val = 0; c_val <= 130; c_val ++) // pagrieziet pretēji pulksteņrādītāja virzienam, lai aizvērtu {stepper.step (c_val); raža (); } slēgts = patiess; atvērts = nepatiesa; atspējot_motoru (); // pēc lietošanas vienmēr vēlami soļu motori, lai samazinātu enerģijas patēriņu un apkuri}} BLYNK_WRITE (V2) // OPEN the blinds {Serial.println ("žalūziju atvēršana"); ja (slēgts == taisnība) {for (int cc_val = 0; cc_val> = -130; cc_val--) // pagrieziet pulksteņrādītāja virzienā, lai atvērtu {stepper.step (cc_val); raža (); } atvērts = patiess; slēgts = nepatiesa; } atspējot_motoru (); // pēc lietošanas vienmēr ir vēlami stepper motori, lai samazinātu enerģijas patēriņu un apkuri
Kā redzat, žalūziju aizvēršanai tiek izmantots V1, bet žalūziju atvēršanai - V2. A for loop izmanto, lai pagrieztu motorus pulksteņrādītāja kustības virzienā vai pretēji pulksteņrādītāja virzienam 130 soļus. Es eksperimentēju ar savām žalūzijām, lai atklātu, ka ar 130 pakāpieniem es varu pilnībā atvērt un aizvērt žalūzijas. Jūsu numurs var atšķirties. Par cilpu for stepper motora pagriešanai pulksteņrādītāja kustības virzienā un pretēji pulksteņrādītāja virzienam parādīts zemāk.
for (int c_val = 0; c_val <= 130; c_val ++) // pagrieziet pretēji pulksteņrādītāja virzienam, lai aizvērtu {stepper.step (c_val); raža (); } (int cc_val = 0; cc_val> = -130; cc_val--) // pagrieziet pulksteņrādītāja virzienā, lai atvērtu {stepper.step (cc_val); raža (); }
Mūsu programmā var pamanīt arī divus Būla mainīgos “atvērtus” un “slēgtus”. Šie divi mainīgie tiek izmantoti, lai novērstu motora divreiz atvērtu vai aizvērtu žalūzijas. Tas nozīmē, ka žalūzijas atvērsies tikai tad, kad tās būs iepriekš aizvērtas, un tās aizvērsies tikai tad, kad tās būs iepriekš atvērtas.
Kā palielināt 28BJY-48 Stepper motora ātrumu?
Viens 28BJY-48 pakāpienu motora izmantošanas trūkums ir tas, ka tas ir ļoti lēns. Šie motori sākotnēji tika ražoti lietošanai augstas precizitātes zema ātruma lietojumprogrammās, tāpēc negaidiet, ka šie motori rotē lielā ātrumā. Ja vēlaties palielināt soļu motora ātrumu, izmantojot Arduino, varat mainīt divus parametrus. Viens no tiem ir #define STEPS 64, es atklāju, ka tad, kad soļi ir definēti kā 64, motors bija salīdzinoši ātrāks. Vēl viens parametrs ir stepper.setSpeed (500); atkal es atklāju, ka 500 ir optimāla vērtība, jebkas cits, kas faktiski padara pakāpju motoru lēnāku.
Vai jūs zināt kādu citu veidu, kā palielināt šo motoru ātrumu? Ja jā, atstājiet tos komentāru sadaļā zemāk.
Kā novērst soļu motora pārkaršanu?
Stepper motori vienmēr jāatspējo, kad tos nelieto, lai novērstu pārkaršanu. Stepper motora atspējošana ir ļoti vienkārša; vienkārši mainiet visu četru GPIO tapu tapu statusu, kas kontrolē pakāpiena motoru. Tas ir ļoti svarīgi, pretējā gadījumā jūsu motors var kļūt ļoti karsts pie + 12 V un sevi neatgriezeniski sabojāt. Zemāk ir norādīta stepper motora atspējošanas programma.
void disable_motor () // izslēdziet motoru, kad tas izdarīts, lai izvairītos no sildīšanas {digitalWrite (D1, LOW); digitalWrite (D2, LOW); digitalWrite (D3, LOW); digitalWrite (D4, LOW); }
Logu žalūziju vadība, izmantojot Google asistentu
Mēs izmantosim blynk API, lai kontrolētu žalūzijas, izmantojot Google asistentu, tas būs līdzīgs mūsu balss kontrolētās mājas automatizācijas projektam, tāpēc pārbaudiet, ja tas interesē. Būtībā mums ir jāaktivizē zemāk esošā saite, kad sakām iepriekš noteiktu frāzi Google asistentam.
//http://188.166.206.43/l_b47mF1hioCc_7FzdKMJJeFnJjTxxxx/update/V1?value=1 /
Pārliecinieties, ka esat nomainījis autentifikācijas marķieri uz to, ko nodrošina jūsu blynk lietojumprogramma. Jūs pat varat pārbaudīt šo saiti savā Chrome pārlūkprogrammā, lai pārliecinātos, vai tā darbojas, kā paredzēts. Tagad, kad saite ir gatava, mums vienkārši jāpāriet uz IFTTT un jāizveido divas sīklietotnes, kas var izraisīt virtuālo tapu V1 un V2, kad mēs lūdzam aizvērt un atvērt žalūzijas. Es atkal neiedziļinos šajā jautājumā, jo mēs to esam darījuši daudzas reizes. Ja jums nepieciešama papildu palīdzība, skatiet šo balss kontrolētā FM radio projektu, vienkārši nomainiet adafruit pakalpojumus ar tīmekļa āķiem. Es arī kopīgoju sava fragmenta ekrānuzņēmumu atsaucei.
Arduino bāzes automātiskā logu žalūziju vadība - demonstrācija
Pēc tam, kad ķēde un 3D drukātie korpusi ir gatavi, vienkārši samontējiet ierīci uz sienas, urbjot divas caurumus uz sienas. Mana stiprinājuma iestatīšana ir parādīta zemāk esošajos attēlos.
Pēc tam pārliecinieties, ka žalūzijas ir atvērtā stāvoklī, un pēc tam ieslēdziet ķēdi. Tagad varat mēģināt aizvērt žalūzijas no lietojumprogrammas blynk vai caur Google asistentu, un tam vajadzētu darboties. Lietotnē blynk varat arī iestatīt taimerus, lai automātiski atvērtu un aizvērtu žalūzijas noteiktā dienas laikā.
Pilnīga projekta darbība ir atrodama zemāk redzamajā video; ja jums ir kādi jautājumi, droši rakstiet tos komentāru sadaļā zemāk. Varat arī izmantot mūsu forumus citām tehniskām diskusijām.