- Arduinon automaattisten kaihtimien rakentamiseen tarvittavat komponentit
- Kaihtimien hallinta Arduinolla
- Suunnittele ja rakenna ikkunaverhot
- 3D-tulostus moottoripidikkeelle ja kaihtimelle
- Piirikaavio Arduino-kaihtimien ohjaukseen
- Blynk-sovellus Arduino Blind Control -sovellukseen
- NodeMCU: n ohjelmointi kaihtimien hallintaan Blynkillä
- Ikkunoiden kaihtimien hallinta Google Assistantilla
- Arduino-pohjainen automaattinen ikkunan kaihtimen hallinta - esittely
"Hyvää huomenta. On kello 7.00 Malibun sää on 72 astetta… ”- nämä olivat JARVISin ensimmäisiä sanoja, kun se esiteltiin Marvel Cinematics Universumissa. Suurimman osan Iron Man -faneista pitäisi pystyä muistelemaan tämä kohtaus ja muistaa, että JARVIS pystyi avaamaan ikkunan (tavallaan) aamulla ja antamaan päivityksiä ajoista ja säästä. Elokuvassa ikkunalasit tehtiin todella läpinäkyvistä kosketusnäytöistä, joten JARVIS pystyi saamaan sen muuttumaan mustasta läpinäkyväksi ja näyttämään siinä myös säätilastot. Mutta todellisuudessa olemme kaukana läpinäkyvistä kosketusnäytöistä, ja mitä lähemmäksi pääsemme, on hallita ikkunan kaihtimia tai rajoituksia automaattisesti.
Joten tässä projektissa aiomme rakentaa juuri sen, rakennamme automaattisen moottoroidun kaihtimen, joka avautuu ja sulkeutuu automaattisesti ennalta määriteltyinä aikoina. Aikaisemmin olemme rakentaneet monia kodiautomaatioprojekteja, joissa automatisoimme valot, moottorit jne. Voit tarkistaa ne, jos olet kiinnostunut. Joten palataksemme, nämä Arduino-ohjatut kaihtimet voivat myös ottaa komentoja Google-avustajalta, jotta voit avata tai sulkea ikkunaverhot etänä äänikomennoilla. Kiehtova? Sitten rakennetaan se.
Arduinon automaattisten kaihtimien rakentamiseen tarvittavat komponentit
Projekti on suhteellisen yksinkertainen, eikä komponentteja tarvita paljon. Kerää vain alla luetellut tuotteet.
- SolmuMCU
- Askelmoottori - 28BYJ-48
- Askelmoottorin ohjainmoduuli
- LM117-3,3V
- Kondensaattorit (10uf, 1uf)
- 12 V DC-sovitin
- Perf Board
- Juotossarja
- 3D tulostin
Kaihtimien hallinta Arduinolla
Nyt markkinoilla on monenlaisia kaihtimia, mutta yleisimmin käytetyssä on köysi, jossa on helmiä (kuten alla on esitetty), joka voidaan vetää kaihtimien avaamiseksi tai sulkemiseksi.
Kun vedämme tätä pyöreää köyttä myötäpäivään, ikkunaverhot avautuvat ja kun vedämme tätä köyttä vastapäivään, ikkunaverhot sulkeutuvat. Joten jos automatisoimme tämän prosessin, meidän on vain käytettävä moottoria vetämään tätä köyttä myötä- tai vastapäivään, ja olemme valmiit sen kanssa. Itse asiassa aiomme tehdä tässä projektissa; käytämme 28BYJ-48-askelmoottoria yhdessä NodeMCU: n kanssa vetämään helmillä varustettua köyttä.
Suunnittele ja rakenna ikkunaverhot
Projektin elektroniikkaosa oli melko yksinkertainen ja suora eteenpäin, haastava osa oli rakentaa sokea vaihde, joka pystyi vetämään helmillä varustetun köyden. Joten aloitetaan tämä artikkeli sokean hammaspyörän suunnittelulla, en aio käsitellä yksityiskohtia vaihteen suunnittelusta, mutta tämän perusidean pitäisi auttaa sinua. Alla on kuva köydestä, jossa on helmiä.
Jälleen on olemassa monenlaisia köysiä, mutta yleisimmin käytetyt köydet ovat kunkin helmen keskipisteiden välinen etäisyys on 6 mm ja kunkin helmen halkaisija on 4 mm. Näiden tietojen avulla voimme aloittaa vaihteemme suunnittelun. Jos kaihtimien köydellä on samat mitat kuin keskusteltiin, voit yksinkertaisesti ohittaa tämän vaiheen ja ladata tässä artikkelissa olevan STL-tiedoston ja tulostaa vaihde. Jos köysi on erilainen helmikoristelu, niin sinun tulisi suunnitella sokea vaihde uudelleen.
Päätin, että vaihdeessani olisi 24 helmiä optimaalisen hammaspyöräkoon saamiseksi, voit valita minkä tahansa tämän lähellä olevan numeron, jotta hammaspyöräsi olisi suuri tai pieni. Joten nyt tiedämme, että kunkin helmen välinen etäisyys on 6 mm ja tarvitsemme 24 helmiä vaihdeemme. Jos molemmat kerrotaan, saadaan hammaspyörän ympärysmitta. Näiden tietojen avulla voit laskea hammaspyörän säteen. Kuten yllä olevasta kuvasta näet, hammaspyörän halkaisijan laskettiin olevan noin 46 mm. Mutta muista, että tämä ei ole hammaspyörän todellinen halkaisija, koska emme ole ottaneet huomioon helmen halkaisijaa, joka on 4 mm. Joten, hammaspyörän todellinen halkaisija on 42 mm, tulostin ja testasin monia hammaspyöriä ennen kuin löysin parhaiten toimivan. Jos et ole kiinnostunut malleista,lataa ja tulosta vain STL-tiedostot seuraavasta kappaleesta ja jatka projektiasi.
3D-tulostus moottoripidikkeelle ja kaihtimelle
Hammaspyörän lisäksi tarvitsemme myös pienen kotelon, joka voidaan porata seinälle ja pitää askelmoottori paikallaan. Sekä kotelo että tässä projektissa käytetty vaihde on esitetty alla.
Löydät täydelliset suunnittelutiedostot ja STL-tiedostot alla olevalta Arduino Blind Control Thingiverse -sivulta. Voit vain ladata ja tulostaa kaihtimet ja moottorikotelon.
Lataa STL-tiedostot Blind Gear- ja Motor Case -laitteille
Piirikaavio Arduino-kaihtimien ohjaukseen
Kun olet valmis vaihteistoon ja kokoonpanoon, elektroniikka- ja ohjelmisto-osa on helppo jatkaa. IoT Blind -ohjausprojektin täydellinen kytkentäkaavio on esitetty alla.
Olemme käyttäneet 12 V: n sovitinta virran saamiseksi koko asetuksesta; LM1117-3,3V-säädin muuntaa 12 V: n 3,3 V: ksi, jota voidaan käyttää NodeMCU-kortin virtalähteeseen. Askelmoottorin ohjainmoduuli saa virtaa suoraan 12 V: n sovittimesta. Yritin käyttää askelmoottoria 5 V: lla, mutta sitten se ei antanut tarpeeksi vääntömomenttia kaihtimien vetämiseen, joten varmista, että käytät myös 12 V: tä.
Sen lisäksi piiri on melko yksinkertainen, jos olet uusi askelmoottoreissa, tutustu askelmoottoriartikkelin perusteisiin ymmärtämään, miten se toimii ja kuinka sitä voidaan käyttää mikro-ohjaimen kanssa.
Blynk-sovellus Arduino Blind Control -sovellukseen
Ennen kuin pääsemme Arduino-kaihtimien hallintaan, anna blynk-sovelluksen avata ja luoda joitain painikkeita, joiden avulla voimme avata tai sulkea kaihtimet. Tarvitsemme tämän myös myöhemmin hallitaksemme Googlen kotoa.
Olen juuri lisännyt kaksi nappia kaihtimien avaamiseen ja sulkemiseen ja yhden ajastimen kaihtimien avaamiseen joka päivä kello 10.00. Voit lisätä useita ajastimia avataksesi tai sulkemalla kaihtimet eri päivän välein. Pohjimmiltaan, kun meidän on suljettava kaihtimet, meidän on käynnistettävä virtuaalinen nasta V1 ja kun meidän on avattava kaihtimet, meidän on käynnistettävä virtuaalinen tappi V2. Ohjelma askelmoottorin ohjaamiseksi täällä painetun painikkeen perusteella kirjoitetaan Arduino IDE: lle, samaa käsitellään jäljempänä.
NodeMCU: n ohjelmointi kaihtimien hallintaan Blynkillä
Tämän sokeahallintaprojektin täydellinen ESP8266-koodi löytyy tämän sivun alaosasta. Ohjelmamme on odotettava komentoa blynk-sovelluksesta ja tämän komennon perusteella meidän on käännettävä askelmoottoria joko myötä- tai vastapäivään. Koodin tärkeitä segmenttejä käsitellään jäljempänä.
Piirikaavion mukaan olemme käyttäneet nodemcussa digitaalisia nastoja 1, 2, 3 ja 4 askelmoottorin ohjaamiseksi. Joten meidän on luotava esiintymä nimeltä stepper käyttämällä näitä nastoja alla olevan kuvan mukaisesti. Huomaa, että olemme määrittäneet nastat järjestyksessä 1, 3, 2 ja 4. Se tehtiin tarkoituksella eikä se ole virhe; meidän on vaihdettava nastat 2 ja 3, jotta moottori toimii oikein.
// luo stepper-luokan esiintymä käyttämällä vaiheita ja nastoja Stepper stepper (STEPS, D1, D3, D2, D4);
Seuraavassa vaiheessa meidän on jaettava blynk-sovelluksen todennustunnus ja Wi-Fi-tunnistetiedot, joihin IoT Blind -ohjaimemme on liitettävä. Jos et ole varma, miten saat tämän Blynk-todennustunnuksen, tutustu Blynk LED Control -projektiin saadaksesi lisätietoja blynk-sovelluksen perusteista ja siitä, miten sitä käytetään.
// Sinun pitäisi saada Auth Token Blynk-sovelluksesta. // Siirry projektiasetuksiin (mutterikuvake). char auth = "l_b47mF1hioCc_7FzdKMJJeFnJjTxxxx"; // WiFi-tunnuksesi. // Aseta salasanaksi "" avoimille verkoille. char ssid = "CircuitDigest"; char pass = "nuken123";
Koodillamme eteenpäin, määritystoiminnon jälkeen, olemme määrittäneet kaksi menetelmää blynkille. Kuten aiemmin mainittiin, meidän on määriteltävä, mitä virtuaalisten nastojen V1 ja V2 pitäisi tehdä. Saman koodi annetaan alla.
BLYNK_WRITE (V1) // SULJE SOKKEET {Serial.println ("kaihtimien sulkeminen"); jos (avattu == tosi) {for (int c_val = 0; c_val <= 130; c_val ++) // kiertää vastapäivään sulkeaksesi {stepper.step (c_val); saanto (); } suljettu = tosi; avattu = väärä; disable_motor (); // aina haluttavat askelmoottorit käytön jälkeen virrankulutuksen ja lämmityksen vähentämiseksi}} BLYNK_WRITE (V2) // AVAA kaihtimet {Serial.println ("kaihtimien avaaminen"); jos (suljettu == tosi) {for (int cc_val = 0; cc_val> = -130; cc_val--) // pyörii myötäpäivään avataksesi {stepper.step (cc_val); saanto (); } avattu = tosi; suljettu = väärä; } disable_motor (); // aina haluttavat askelmoottorit käytön jälkeen virrankulutuksen ja lämmityksen vähentämiseksi}
Kuten näette, kaihtimia suljetaan V1: llä ja kaihtimien avaamiseen V2: lla. Silmukkaa A käytetään pyörittämään moottoreita myötä- tai vastapäivään 130 askelta. Kokeilin kaihtimieni kanssa huomatakseni, että pystyn avaamaan ja sulkemaan kaihtimet täysin 130 askelella. Numerosi voi vaihdella. Silmukan pyörimään askelmoottori myötäpäivään ja vastapäivään on esitetty alla.
for (int c_val = 0; c_val <= 130; c_val ++) // kiertää vastapäivään sulkeaksesi {stepper.step (c_val); saanto (); } for (int cc_val = 0; cc_val> = -130; cc_val--) // kääntyy myötäpäivään avataksesi {stepper.step (cc_val); saanto (); }
Voit myös huomata kaksi Boolen muuttujaa "auki" ja "suljettu" ohjelmassa. Näitä kahta muuttujaa käytetään estämään moottoria avaamasta tai sulkemasta kaihtimia kahdesti. Tämä tarkoittaa, että kaihtimet avautuvat vain, kun ne on aiemmin suljettu, ja ne sulkeutuvat vasta, kun ne on aiemmin avattu.
Kuinka lisätä 28BJY-48-askelmoottorin nopeutta?
Yksi haittapuoli 28BJY-48-askelmoottorin käytössä on, että se on hyvin hidasta. Nämä moottorit on alun perin valmistettu käytettäväksi erittäin tarkoissa piennopeussovelluksissa, joten älä odota, että nämä moottorit pyörivät suurella nopeudella. Jos haluat lisätä askelmoottorin nopeutta Arduinolla, voit muuttaa kahta parametria. Yksi on #define STEPS 64, huomasin, että kun vaiheiksi määritettiin 64, moottori oli suhteellisen nopea. Toinen parametri on stepper.setSpeed (500); taas huomasin, että 500 on optimaalinen arvo, mikä tahansa muu kuin tekee askelmoottorista hitaampaa.
Tiedätkö muuta tapaa lisätä näiden moottoreiden nopeutta? Jos kyllä, jätä ne alla olevaan kommenttiosioon.
Kuinka estää askelmoottori ylikuumenemasta?
Askelmoottorit on aina kytkettävä pois päältä, kun niitä ei käytetä ylikuumenemisen estämiseksi. Askelmoottorin poistaminen käytöstä on hyvin yksinkertaista; muuta vain kaikkien neljän GPIO-nastan nastatila, jotka säätävät askelmoottoria matalaksi. Tämä on erittäin tärkeää, muuten moottorisi saattaa kuumentua + 12 V: lla ja vahingoittaa itseään pysyvästi. Ohjelma askelmoottorin poistamiseksi käytöstä on annettu alla.
void disable_motor () // sammuta moottori, kun se on tehty, jotta vältetään lämmitys {digitalWrite (D1, LOW); digitalWrite (D2, LOW); digitalWrite (D3, LOW); digitalWrite (D4, LOW); }
Ikkunoiden kaihtimien hallinta Google Assistantilla
Aiomme käyttää blynk-sovellusliittymää kaihtimien hallintaan Google-avustajan kautta, se on samanlainen kuin ääniohjatun koti-automaatioprojektimme, joten tarkista, jos olet kiinnostunut. Pohjimmiltaan meidän on käynnistettävä alla oleva linkki, kun sanomme ennalta määritetyn lauseen Google Assistantille.
//http://188.166.206.43/l_b47mF1hioCc_7FzdKMJJeFnJjTxxxx/update/V1?value=1 /
Varmista, että vaihdat todennustunnuksen blynk-sovelluksesi tarjoamaan tunnukseen. Voit jopa testata tämän linkin kromiselaimellasi ja nähdä, toimiiko se odotetusti. Nyt kun linkki on valmis, meidän on yksinkertaisesti siirryttävä IFTTT: hen ja luotava kaksi applettia, jotka voivat laukaista virtuaaliset nastat V1 ja V2, kun pyydämme sulkemaan ja avaamaan kaihtimet. Jälleen kerran en käsittele tämän yksityiskohtia, koska olemme tehneet niin monta kertaa. Jos tarvitset lisää apua, katso tämä ääniohjattu FM-radioprojekti, korvaa vain adafruit-palvelut verkkokoukoilla. Jaan myös kuvakaappauksen katkelmastani.
Arduino-pohjainen automaattinen ikkunan kaihtimen hallinta - esittely
Kun piiri ja 3D-tulostetut kotelot ovat valmiita, asenna laite vain seinälle poraamalla kaksi reikää seinälle. Asennusasetukseni näkyvät alla olevissa kuvissa.
Sen jälkeen varmista, että kaihtimesi ovat avoimessa tilassa ja kytke sitten virta piiriin. Nyt voit yrittää sulkea kaihtimet blynk-sovelluksesta tai Google Assistantin kautta, ja sen pitäisi toimia. Voit myös asettaa ajastimet blynk-sovellukseen avaamaan ja sulkemaan kaihtimet automaattisesti tiettynä ajankohtana.
Projektin täydellinen toiminta löytyy alla olevasta videosta; jos sinulla on kysyttävää, voit kirjoittaa ne alla olevaan kommenttiosioon. Voit myös käyttää foorumeitamme muissa teknisissä keskusteluissa.