4. If-valinta (+Comparison Operators), For-toisto (+Compound Operators)

Tehtävät

  1. Lisää ohjelmaan (Blink_if_else) sopivat ehdot, jotta ohjelma toimii.
  2. Mitä vikaa on seuraavassa if-lausessa?
    • if (num=1);
    • {
    • digitalWrite(13, HIGH); // turn the LED on
    • }
  3. Mitä ohjelma (Dim_LED) tekee? Muuta for-silmukkaa siten, että sekvenssi etenee nopeammin (siis EI muuttamalla delay-arvoa).
  4. 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, …)
  5. 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)