Program ustawia pin 13 jako wyjście (pinMode(13, OUTPUT)), a następnie w pętli nieskończonej wykonuje sekwencję: ustaw stan wysoki, odczekaj, ustaw stan niski, odczekaj.
Funkcja digitalWrite służy do ustawiania stanów logicznych na wyjściu: HIGH (logiczna "1") albo LOW (logiczne "0"). To oznacza, że napięcie na wyprowadzeniu nie zmienia się płynnie jak w sygnale analogowym, tylko przyjmuje jeden z dwóch poziomów, zależnie od użytego mikrokontrolera/układu.
Opóźnienia delay(1000) sprawiają, że stan wysoki trwa około 1 s, a stan niski około 1 s. W efekcie na wyjściu powstaje przebieg okresowy, który ma dwa poziomy i gwałtowne przejścia między nimi, czyli przebieg prostokątny (sygnał cyfrowy). Pełny okres wynosi w przybliżeniu 2 s, więc częstotliwość to około 0,5 Hz.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- "Sygnał analogowy" wymagałby płynnej zmiany wartości (np. użycia przetwornika DAC lub PWM interpretowanego po filtracji). Tutaj program ustawia wyłącznie dwa stany.
- "Sygnał sinusoidalny" to gładki przebieg o kształcie sinusa, typowy np. dla generatorów analogowych. W kodzie nie ma mechanizmu kształtowania sinusa.
- "Sygnał trójkątny" również wymaga narastania i opadania liniowego w czasie. Tu występuje skokowa zmiana stanu, a nie rampa.
W praktyce taki kod jest klasycznym przykładem "blink" i służy do sprawdzenia działania wyjścia cyfrowego oraz podstaw sterowania elementami w trybie załącz/wyłącz.