Tehtävä
Kopioi ensin täältä löytyvä ohjelma Arduino IDE:en.
Tässä harjoituksessa tehdään valonkatkaisija, jota voi ohjata etänä langattoman verkon kautta.
Harjoituksessa käytetään Node MCU:ta. Se on suosittu avoimen lähdekoodin kehitysalusta, jonka päälle on helppo rakentaa pieniä IOT-laitteita. Voit ajatella Node MCU:ta Arduinona, jolla pääsee nettiin.
Osa | Kuva | Kuvaus |
---|---|---|
Node MCU | Mikrokontrolleri, jolla pääsee langattomaan verkkoon. | |
USB-Micro USB -johto | Tietokoneella kirjoitettu ohjelma lähetetään Node MCU:lle USB-johdolla, jonka toisessa päässä on MIcro USB -liitin | |
Koekytkentälevy | ||
Kytkentäjohtoja | Kytkentöjen tekemiseen koekytkentälevyn kautta. | |
180-asteen servo-moottori | Ottaa asennon välillä 0-180 astetta riippuen syötetystä arvosta. Servossa on kolme johdinta, jotka kytketään piikkiriman avulla digitaaliseen porttiin, 5 voltin jännitteeseen ja maahan. Huom: Maker Kitin servo on väriltään sininen! | |
Piikkirima | Voit taittaa piikkirimasta kolmen piikin palasen irti ja liittää sen servon johtimien päähän. Näin saat kiinnitettyä servon koekytkentälevyyn. HUOM! Mustaa muoviosaa voi painaa keskemmälle! |
Toisin kuin Arduinossa, Node MCU:ssa ei ole valmiita koloja, joihin johdon päät voisi upottaa. Tämän sijaan boardissa on piikkimäiset pinnit, joihin kytkennät tulisi tehdä. Helpointa on painaa Node MCU:n pinnit koekytkentälevyyn!
Node MCU:ta ohjelmoidaan Arduino IDE:llä, joka soveltuu siis muidenkin boardien kuin Arduinojen ohjelmoimiseen. Ennen varsinaista ohjelmointia sinun tulee kuitenkin kertoa Arduino IDE:lle, minkälaista kontrolleria olet ohjelmoimassa. Seuraa alla olevia ohjeita.
Nyt on aika muodostaa yhteys, jolla voit ohjata Node MCU:ta tietokoneellasi langattoman verkon yli!
Vaihda ohjelman yläreunan WiFi credentials -kohtaan (rivit 13 ja 14) tietokoneesi käyttämän langattoman verkon nimi ja salasana. Voit jakaa myös internetin puhelimestasi. Tietokoneen ja NodeMCU:n tulee olla samassa verkossa, jotta ohjaaminen on mahdollista.
Kytke NodeMCU Micro USB -kaapelilla kiinni tietokoneeseen, ja varmista että Tools > Port kohdassa on valittuna jokin portti. Jos valittavaa porttia ei ilmesty, kytke Node MCU irti ja takaisin tietokoneeseen. Voit kokeilla myös eri USB-porttia, jos muu ei auta.
Avaa Tools-valikosta Serial Monitor ja aseta baud rate 115200. Tietoa vaihdetaan tietokoneen ja boardin välillä nyt nopeudella 115200 bittiä sekunnissa, joka on Node MCU:lle sopiva nopeus.
Lähetä ohjelma boardille painamalla Arduino IDE:n Upload-nappia ohjelman vasemmasta yläkulmasta. Ohjelman lataaminen Node MCU:lle kestää yleensä kauemmin kuin Arduinolle, joten jos IDE:n konsoliin ilmestyy pisteitä (….), odota rauhassa. Sinertävän valon pitäisi vilkkua lataamisen aikana.
Kun Arduino IDE ilmoittaa “Done uploading”, avaa Serial Monitor. Jos yhteyden muodostaminen onnistui, Serial Monitoriin pitäisi ilmestyä seuraavanlainen viesti
Jos Serial Monitoriin ei ilmesty mitään tai sinne ilmestyy outoja merkkejä, tarkista seuraavat asiat.
Kun Serial monitoriin on ilmestynyt viesti “Connected to..:” on Node MCU yhteydessä internettiin.
Nyt on aika muodostaa yhteys, jolla voit ohjata Node MCU:ta tietokoneellasi langattoman verkon yli!
Mene Serial Monitorin antamaan lokaaliin osoitteeseen (yllä kuvassa http://192.168.8.107/). Sinulle tulisi avautua alla oleva sivu, jonka kautta voit ohjailla servomoottoria. Lokaalilla osoitteella (Local Host) tarkoitetaan osoitetta, joka näkyy vain käyttämässäsi langattomassa verkossa oleville tietokoneille. Lisätietoja täällä.
Koodisi siis loi lokaalin nettisivun, josta käsin voit ohjata servoa! Kaikki nettisivun elementteihin liittyvät määrittely löydät kopioimastasi koodista. Tutustu koodiin rauhassa, ja koita päätellä mitä sen osat tekevät.
Koulun verkossa saattaa olla rajoituksia sille, kuka ja miten verkkoon voi kytkeä palvelimia. Jos ohjelman tarjoama URL / IP osoite ei vastaa, kokeile jakaa langaton verkko puhelimestasi. Muista tällöin vaihtaa oman puhelimesi nimi ja salasana koodin Wifi credentials -kohtaan.
Kun olet saanut yhteyden toimimaan, on etäohjatun valonkatkaisijan projektisi periaatteessa vasta alussa: seuraavaksi tarvitaan mekanismi, jolla moottori todella painaa valonkatkaisijaa silloin, kun annat sille oikean komennon.
Pohdi alla listattuja asioita, mutta älä jää hiomaan harjoitusta loputtomiin. Muista, että sinun tulisi tehdä harjoitus kaikista teemoista, ja voit kehitellä valonkatkaisijaa eteenpäin myös tämän kurssin projektissasi.
Mekanismi?
Pohdi, miten servomoottori voisi painaa valonkatkaisijaa. Voit esimerkiksi teipata moottoriin tikun, joka kääntyessään painaa katkaisijaa. Servomoottorin tulee tällöin olla kiinnitettynä katkaisijan viereen jollain tavalla.
Kokeile pystyykö sama servo painamaan katkaisijaa myös toiseen suuntaan. Kehitä tarvittaessa sopiva lisäosa servon varteen esimerkiksi pahvista, tai 3D-tulostamalla. Sopivia 3D malleja pohjaksi voi hakea Thingiversestä.
Keksi NodeMCU:lle ja servolle sopiva rasia, ja teippaa laite seinään valokatkaisijan viereen. NodeMCU:lle voit antaa virtaa esimerkiksi puhelimeesikin sopivasta powerbankista.
Rele ja NodeMCU
Rele on sähköllä ohjattava kytkin, jonka avulla voit käynnistää monenmoisia sähkölaitteita käyttäen NodeMCU:ta tai Arduinoa. Rele pitää siihen kytkettävien sähkölaitteiden virtapiirin eristettynä mikrokontrollerista, mikä on hyvä juttu: muutoin vieraan virtapiirin jännite tai virta voisi käräyttää pienemmällä jännitteellä toimivan mikrokontrollerin.
Releeseen voi kytkeä esimerkiksi jonkin paristoilla toimivan lelun. Muista, että verkkovirtaa vaativia laitteita ei saa kytkeä releeseen ilman sähköalan ammattilaisen apua!
Esimerkkikoodi jolla releen saa toimimaan WiFin yli