Jos, sitten (If, Else)

TEHTÄVÄ: Kytke kaksi LED:iä pinneihin 11 ja 13.
Jos et muista miten, käy katsomassa osiosta 1. Perusasiat (aukeaa uuteen ikkunaan)


Tavoite: Kun valomäärä on tietyllä tasolla, palaa toinen LED. Jos valonmäärä vähenee, tämä LED sammuu ja toinen LED syttyy. Valonmäärää vähennetään varjostamalla kädellä sensoria. Toisaalta jos valonmäärä taas lisääntyy, tapahtuu päinvastoin. Ledit ilmaisevat onko hämärää vai valoisaa.

TEHTÄVÄ: Kytke valosensori kuvan mukaisesti.
Valosensorin kytkentäkaavio:


TEHTÄVÄ: Tee ohjelma kuvien mukaisesti, lue myös tekstit.

Tarvittavat ohjelmapalikat:
CONTROL” valikosta: When cliked, Forever, If-Else
ARDUINO” valikosta: Set digital pin...

Yllä olen tehnyt asetukset, jossa digitaalipinni 11 menee pois päältä ja pinni 13 menee päälle, mutta ehto eli Jos -lauseke puuttuu vielä. Asetuksena toisaalta on jo, että muussa tapauksessa ledit toimivat päinvastoin. Forever loop on jo valmiina.




Ohjelman pitää pyöriä ikuisesti (forever), koska sensorin tulee tehdä havaintoja valosta jatkuvasti. Niinpä tiputin muut sen sisälle. "When clicked", eli kun klikkaan siitä hiirellä, ohjelma käynnistyy. Seuraavaksi pohditaan "jos lausekkeen" tekemistä.




Tarvittava ohjelmapalikka:
OPERATORS” valikosta ”Suurempi kuin”
- Huomaa palikoiden värikoodaus

Haluan lausekkeen tällaiseksi: jos (if) valonmäärä on tarpeeksi vähäinen (eli on hämärää), sammuta pin 11 led ja sytytä 13 led. Muussa tapauksessa (else) sytätä pin 11 led ja sammuta pin 13. Valosensori on analoginen, eli mittaa valonmäärää. Niinpä kaivoin Operators valikosta "pienempi kuin" palikan. Seuraavaksi pitää selvittää sopiva luku, jota vähäisempi valonmäärä on mielestäni hämärää tai pimeää.




Tarvittava ohjelmapalikka:
ARDUINO” valikosta ”Analog reading”

Tiputin "pienempi kuin" palikan "if" sisälle. Ohjelmalle pitää tietysti kertoa paikka, mistä valosensorin tietoa tulee. Valosensorihan oli kytketty analogiseen pinniin A0. Niinpä valitsen alasvetopalkista 0.



Tämäpä onkin näppärää: kun klikkaan Analog readin palkista, se näyttää sensorin dataa. Voin varjostaa kädellä sensoria, klikkailla palkkia ja huomata, että luku muuttuu. Mielestäni luku 90 voisi olla sopiva, eli jos sensorin antama luku on alle 90, niin tulkitaan tämä hämäräksi / pimeäksi. TESTAA SINULLE SOPIVA LUKU!




Raahasin ja tiputin tuon "analog reading" tuonne "pienempi kuin" palkin sisälle. Eli nyt sensori lähettää siihen lukua, joka normaalissa valaistuksessa näyttäisi olevan noin 120. Jos sensorin data laskee alle 90, if lauseke astuu voimaan ja ledit reagoivat. Jos valaistus kirkastuu, else lauseke tulee voimaan.

Käynnistä ohjelma, muokkaa sensorin luku sopivaksi testaamalla.

Jos jotain meni pieleen, tässä vielä kytkentäkaavio. Olethan jo hoksannut sen, että voit kytkeä ihan oikein, vaikka kytkentäsi ei näytä juuri tältä? Voit esimerkiksi jakaa komponenteille yhteisen GND:n :)



PALAA TÄSTÄ ALOITUSSIVULLE!