4. If-valinta (+Comparison Operators), For-toisto (+Compound Operators)
- https://www.arduino.cc/en/Reference/If
- https://www.arduino.cc/en/Reference/Else
- https://www.arduino.cc/en/Reference/For
- https://www.arduino.cc/en/Reference/HomePage
Tehtävät
- Lisää ohjelmaan (Blink_if_else) sopivat ehdot, jotta ohjelma toimii.
- Mitä vikaa on seuraavassa if-lausessa?
- if (num=1);
- {
- digitalWrite(13, HIGH); // turn the LED on
- }
- Mitä ohjelma (Dim_LED) tekee? Muuta for-silmukkaa siten, että sekvenssi etenee nopeammin (siis EI muuttamalla delay-arvoa).
- Muuta (Dim_LED) ohjelmaa siten, että sekvenssi etenee portaattomasti sekä ylöspäin että alaspäin (0, 1, 2,…,254, 255, 254, 253,…, 2, 1, 0, 1, 2, …)
- Muokkaa ja testaa ohjelmaa (examples/ReadAnalogVoltage, https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage) seuraavasti:
- lisää silmukkaan kahden sekunnin viive, jotta sarjamonitorin seuraaminen on helpompaa
- lisää toinen kirjoituskäsky, joka kertoo onko jännite digitaalilogiikan rajojen mukaan nolla, yksi vai epämääräinen.
- jos jännite on välillä 0 … 0,8 V, niin se on looginen nolla
- jos jännite on välillä 2,0 … 5,0 V, niin se on looginen yksi
- Jos jännite on välillä 0,8 … 2,0 V, niin se on määrittämätön (epämääräinen tila)