3. Vooluahela koostamine (LED, takistid, maketeerimislaud, juhtmed) ja värvikood
<- eelmine peatükk
järgmine peatükk ->
3.0. Seos eelmiste peatükkidega
Eelmises peatükis kasutasime Arduino plaadile sisseehitatud LED-i. Vt viik number 13. (13 on sisseehitatud LED-i kontrolliva viigu number, tähistatud L-ga.)
Programmeerisime LED valgustatud oleku (HIGH) ja selles olekus viibimise aja millisekundites (delay()) seejärel LED kustunud oleku (LOW) ja ka selle tarvis aja millisekundites (delay()).
Eelmisest peatükist on meeles, mis on muutujad. Saime hakkama sooritatava tegevuse millisekundites antava aja (delay()) muutmisega. Seejärel uurisime, kuidas vastavat muutust sooritada programmi alguses, st enne void setup() osa, deklareeritava muutuja abil.
Meenub, et void setup() osas kirjeldame seda, mis on vaja sooritada üks kord. Seejärel void loop() osas kirjeldatu aga jääb kordama seda, mida on vaja sooritama jäädagi.
Me ei saanud aga vilgutada mitte ühtegi muud LED-i kui vaid Arduino plaadil juba olemasolevat.
3.1. Eesmärk ja selgitused
Eelmise peatüki materjalist läheme edasi vooluahela koostamisega. Enam ei vilguta me LED-i mitte Arduino peal: koostame Arduinost väljaspool asuva vooluahela, milles on ehtne „kahe jalaga“ LED, mille number ei pea tingimata enam olema 13.
Puudutame ka nn värvikoodi teemat, lisaks uurime LED ühendamist ja maketeerimislaua ühenduste mustrit.
Selle peatüki materjali omandamise järel oskab õpilane kasutada maketeerimislauda, takistit ja eraldiseisvat LED-i eelmise peatükiga üsna sarnaseks, ent fantaasiaküllasemaks vilgutamis-harjutuseks.
3.2. Töövahendid kolmandaks peatükiks on paljuski samad, mis esimeseks ja teiseks peatükiks (1-5), ent lisame neile juurde riistvara (6-9)
Kuivõrd edaspidigi hakkab teatud osa töövahendeid korduma, siis hakkame kasutama lisanduvate töövahendite tähistamiseks punast kirja.
Mustaga tähistatud töövahendid on tunnist tundi samad, ent selguse mõttes paneme nad endiselt kirja. Kas nii on lihtsam töövahendeid organiseerida?
3.3. Tegevused
3.3.1. Tutvustame Arduino juurde vooluahela koostamist järgmistest detailidest:
Maketeerimislaud on aukudega ning aukude all asuvate ühendustega plaat. Selle aukudesse vooluahela osade viikudeni viivaid juhtmeid või viikusid endid ühendades saame ehitada vooluahela.
- Äärmised read, mis juhivad elektrit piki plaati, on juhtmete paiknemise suunas tähistatud sinise ja punase joonega; vt plussiga (punane) ja miinusega (sinine) tähistust maketeerimislaual.
- Keskmised read, mis juhivad elektrit ristiplaati ning on üksteisest lahus kummalgi poolel (asuvad kahel pool maketeerimislauda läbistavat vagu) ning need on paljudel maketeerimislaudadel tähistatud numbritega ning ühel pool vagu tähtedega A, B, C, D, E ja teisel pool vagu tähtedega F, G, H, I, J ning lisaks ka numbritega.
Tähistused võivad ka varieeruda vastavalt plaadi mudelile, ent üldjuhul keskmised read on ristiühendused ning äärmised on piki maketeerimislauda ühendused. Iga rea peal on olemas augud, millesse saab ühendada takisteid ja LED-isid ning juhtmeid.
LED
LED on valgust emiteeriv diood, millel on vooluahelaga ühendamiseks kaks viiku: pikem „jalg“ ja lühem „jalg“ on selgelt eristuvad viigud.
Erinevus on vajalik, kuna LED toimimiseks peab olema voolusuund õige. Õige ühendamine on järgmine:
- Pikk „jalg“ ühendatakse plussi külge.
- Lühike „jalg“ ühendatakse GND külge—maaühenduse, st miinuse külge.
- NB! LED-i ilma takistita vooluahelaga ühendades võime LED-i läbi põletada.
Kui ühendame LED-i (dioodi!) vooluahelasse vastupidiselt eespool toodule, siis LED-i ei hakka valgust kiirgama. LED osas on meeldiv see, et vale ühendamine ei riku LED-i.
Takisti
330Ω (loe: kolmesaja kolmekümne oomine) takisti hoiab voolutugevuse optimaalses vahemikus. Takisti ühendatakse LED pika „jala“ ja plusspooluse vahele.
Takistitele kantakse markeering eri värvi triipudena. Kuna takisteid kulub palju, nad on peened ja kipuvad segamini minema, ning neid on raske eristada—siis on tark neid osta „vihikuga“, milles on ka selgelt toodud info markeeringu seosest iga takisti takistusega.
3.3.2. Koostame vooluahela
Kasutame ühendamiseks mõlemalt poolt näha oleva metall-otsaga juhtmeid (inglise keeles male to male jumper wire).
Ei ole küll voolu seisukohalt kuidagi tähtis see, mis värvi on juhtme isolatsioonikiht, ent siinkohal võiks siiski mainida, et on võimalik kasutada ka kokkuleppelisi tähistusi.
Näiteks meie tundides on must juhe miinus—Arduino kohta inglise keelsetes tekstides ground—maa-ühendus—GND. Arduino peal kinnitame musta juhtme ühe otsa GND tähisega viigu külge; teise otsa maketeerimislaua peal miinusrea külge—nii et ka sellest saab GND. Vt järgnevat skeemi: mustaga on skeemil tähistatud ka mõlemat LED-i miinusreaga ühendav juhe: GND.
Plussjuhe, toide—on kokkuleppeliselt punane. Punase juhtme abil ühendame vastava viigu (leidke Arduino peal viigud tähistusega 3.3V ja 5V) maketeerimislaua pluss-ühenduste reaga.
NB! Antud juhul on meil aga kahel LED-il vaja eraldi juhitavat toidet, seega antud tunnis me midagi 3.3V ja 5V viikudega veel ei ühenda. Ja seega me ka ei kasuta punast juhet—reserveerime selle värviga juhtmed ning ei kasuta ka punase tähistusega pluss-ühenduste rida. Veenduge, et Te ei ole midagi ühendanud 3.3V või 5V viikude külge.
Kollane ning sinine juhe tulevad vastavast Arduino viigust otse, peegeldades seega meie programmis sisalduvat töökorraldust: nii sinise LED-i kui ka kollase LED-i sisse-välja lülitamist vastavalt meie programmile. Seega veel üks põhjus, miks me piki-rida ei saa kasutada—kummagi LED juhitud toide tuleb hoida lahus.
Koostame vooluahela vastavalt pildil olevale skeemile.
Meie eesmärgiks antud peatükis on lasta LED-idel plinkida eraldi—kummalgi LED-il n-mitu korda järjest. Seega ei piisa vaid arusaadavast ühendamisest Arduinoga—peame Arduinole ka ütlema, et niiviisi ühendasime, lisama sellele ka info, kuidas Arduino ühendusega toimetama peab.
Kuna meil on kaks LED-i, mis peavad plinkima eraldi, siis meil on lisaks kahele eraldi juhitavale juhtmele (sinine ja kollane), mis on meil Arduinol nummerdatud pesadega õigesti ühendatud, vaja ka kahte eraldi muutujat—kummaski juhtmes toimuva programmiga kirjeldamiseks.
Kummagi muutuja väärtuseks on selle vastavat viiku tähistav number—kummagi LED positiivse pooluse tarvis tuleb programmis tekitada eraldi viik. Lugege skeemilt välja, milliseid viigu-numbreid peate kasutama. Sedakorda ei kasuta me sisseehitatud viiku number 13 vaid valime samast reast mingi muu viigu.
NB!
Mitte ühendada midagi viikude külge, mis on tähistatud A-tähega!
Leiame Arduino peal aga kirja, mis viitab digitaal-viikude reale. Mitu viiku on selles reas Arduino UNO-l?
Kas võite kasutada kõiki digitaal-viikusid? Jah, võite ühendamiseks kasutada kõiki selle rea viikusid—välja arvatud TX ning RX viigud: st alates numbrist 2 kuni 13.
Muude tähistustega viikusid uurime järgnevates peatükkides.
Kummagi LED olekute (valgustatud (HIGH)—mittevalgustatud (LOW)) ajalise piiritlemise tarvis on vaja vähemalt kahte ajalist (delay()) väärtust. Ühte on vaja iga eraldi vilkuma pidava LED-i valgustus-aja määramiseks ning teist iga sellise LED pime-aja määramiseks. Saame neid nö „viivituse“ (delay()) väärtusi anda ka muutujatena kohe programmi alguses.
Paneme esimesena kirja muutujad:
int SININE = 6; // pean ühendama vastava viigu vooluahelas int KOLLANE = 5; int SININE_valgustatud = 500; int SININE_kustunud = 1000; int KOLLANE_valgustatud = 1000; int KOLLANE_kustunud = 500;
Sellele osale peame lisama void setup()—st selle, mida me peame vaid korra Arduinole üle täpsustama, et programm teaks, mida on vaja teha üks kord:
Void setup() { pinMode (SININE, OUTPUT); pinMode (KOLLANE, OUTPUT); }
OUTPUT märgib seda, et tegemist on väljundiga.
Järgnevalt on void loop() osas vaja kirjeldada mitu korda ühes tsüklis kumbki LED peab põlema. Kui meil oleks vaja kummagi LED kohta vaid üks kord põleda ja kustuda, siis kirjutaksime sarnaselt eelmisel tunnil tehtule:
Void loop(){ digitalWrite (SININE, HIGH); delay(SININE_valgustatud); digitalWrite(SININE, LOW); delay(SININE_kustunud); digitalWrite (KOLLANE, HIGH); delay(KOLLANE_valgustatud); digitalWrite(KOLLANE, LOW); delay(KOLLANE_kustunud); }
Kordame eelmisel tunnil õpitust, et void loop() osas kirjeldatakse neid tegevusi, mida Arduino peab tegema korduvalt. void loop() osasse kirja pandu jääb ennast kordama!
Harjutus A
Kui ülaltoodud skeemi alusel on maketeerimislauale valmis ehitatud vooluahel, siis katsuge selle vooluahela tarvis ise—kasutades eeltoodud programmilõike—kokku panna programm:
Käivitage Arduino IDE, selekteerige tühi programm ning viige sellesse sisse vajalikud osad:
1) muutujad kõige ette,
siis tuleb
2) void setup(), milles ühekordsed tegevused, ning lõpuks
3) void loop() osas annate programmile ette selle, mida programm peab jääma sooritama korduvalt.
Kontrollige kõigepealt, kas programm kompileerub. Siis laadige see Arduinole.
Kui programm ei tööta, siis uurige veateadet ja katsuge parandada. Kui kõik on justkui korras, ent ei tööta, uurige oma vooluahela ja programmi omavahelist vastavust, veenduge, et ühendused ei ole lahti tulnud. Kui unustasite ühendada Arduino USB kaabli abil arvutiga, siis kohe kindlasti programm ei tööta.
NB!
Pange kirja, mis vigu tegite.
Mina näiteks panen kirja, et LED-id peavad alati olema mul õigesti ühendatud (lühike „jalg“ GND (ground) külge), vooluahel peab koos püsima ning numbrid Arduino digitaalühenduste viikudel, mida kasutan LED-ide juhtimiseks, peavad vastama sellele, mis olen kirjutanud programmi. Panen kirja ka selle, et programmirida põhjustab veateate siis, kui selle lõppu ununes panna semikoolon (;).
Kui asi ei õnnestu, siis kindlasti küsige õpetajalt abi.
3.4. Kodune ülesanne
Kui on aega tunnis üle jäänud, siis võite seda kasutada programmis väikeste muudatuste katsetamiseks: kooskõlas muudatustega vooluahelas—ja vaadata, kas muudetud kujul toimib.
Kodus tehke sarnane programm—ent näiteks kolme või nelja LED-iga. Kas saate mitmele LED-ile ka samad delay() väärtused anda? Tehke seda muutujaid kasutades. Tehke sedasama ka ilma muutujateta— delay() väärtusi otse void loop()osas kasutades. Kumb on mugavam? Miks?
3.5. Lisamaterjali takistite värvikoodist ja multimeetriga takistuse mõõtmisest.
3.5.1. Veel värvikoodi—takistite kohta
Suurematelt takistikomplektidelt leiab tihti värvikoodi abil esitatud info selles sisalduvate takistite kohta.
Esiteks aga palun surfake internetis märksõnadega „takistid“ ja „värvikood“. Võite ka teha otsingu inglise keelsete sõnadega „resistors“ ja „colour code“.
Mina leidsin Tartu ülikooli netilehe https://sisu.ut.ee/dev/elektroonika/28-takistite-v%C3%A4rvikoodid pealt.
Uurige nüüd Teie koostatud vooluahelas kasutatud 330Ω takistile kantud värve. Tõenäoliselt nüüd vajate ka luupi. Mis värve näete? Pange need värvid kirja. Leidke värvid ka tabelist.
Soovitan edasi uurida internetist sõnadega „resistor“, „band“, „calculator“. Mina leidsin näiteks sellise „kalkulaatori“:
Vaadake leheküljel https://sisu.ut.ee/dev/elektroonika/28-takistite-v%C3%A4rvikoodid asuvat videot. Püüdke üles leida info, mille alusel saate öelda, et Teie poolt kasutatud 330Ω takisti ka värvikoodi alusel ikka vastab takistusele 330Ω.
3.5.2. Kui on kasutada multimeeter
Järgmisena leidke samalt leheküljelt üles multimeetri video.
https://sisu.ut.ee/dev/elektroonika/23-takistuse-m%C3%B5%C3%B5tmine-multimeetriga
Katsuge mõõta 330Ω takisti tegelikku takistust.
Mina mõõtsin oma 330Ω takisti takistuseks 324Ω.
Kas minu mõõdetud takistus vastab Tartu Ülikooli multimeetri-videos mainitud veatolerantsi piiridele? Kui ei pannud tähele, kui suurt veatolerantsi videos mainiti, siis vaadake veel kord.
Pange arvutus kirja.
Etteruttavalt:
Võite ka juba praegu läbi teha multimeetri harjutused—teema tähtsuse tõttu on need eraldi välja toodud Ohmi seadust näitlikustavas 15. peatükis.
3.6. Kordamisküsimused
Mitu „jalga“ ja missugused on täna kasutuses olnud LED-il?
Kuhu ühendame neist „jalgadest“ ühe ja kuhu ühendame neist „jalgadest“ teise?
Kirjelda detailselt „jalgasid“ ja proovi prototüüpimisplaadi peal järele.
- Mida aga ei tohi unustada vooluahelasse LED tervise huvides lisamata?
3.6.1. Millised nendest lausetest on väärad? Millised on õiged? Ja milliseid peaks pigem täiendavalt kommenteerima.
1.Pikk jalg tuleb ühendada positiivsega, ent selleks, et LED läbi ei põleks, on vaja peale LED-i ühendada takisti.
2.Pikk jalg käib maanduse külge ja lühike pluss-juhtme külge, sest nii on kindlasti ohutu.
3.LED jalad on ühepikkused ja pole vahet, kumma ühendan miinuse, kumma plussi külge. Elekter on elekter.
4.Kindlasti alati ühendada punane juhe lühikese jala külge, sest vaid nii näeme, mis saama hakkab.
Tähtis on reegleid lihtsasti ja väga kindlalt meelde jätta. Kui see vahel ei õnnestu, siis võib koostada endale mnemotehniliselt kergesti meelde jäävaid lühendeid. Näiteks: Punase juhtme valin alati Positiivseks—mõlemad P-tähega ning see läheb kindlasti LED Pika jala külge! PPP! Punane-Positiivne-Pikk! Ja panen LED-i juurde ka Takisti. PPPT
Kujutlusvõime aitab meelde jätta!