.. meta::
:language: it
:description language=it: Embedded Systems Architecture: Esercitazione Arduino blinking LED
:description language=en: Embedded Systems Architecture: Practice Arduino blinking LED
:keywords: Embedded Systems Architecture, Practice Arduino blinking LED
:author: Luciano De Falco Alfano
Sheet arduino n.1 (blinking led)
==================================
.. contents::
:local:
Blinking led
----------------
[*Lezione del 29 ott 2019*]
.. raw:: html
Il mio contenuto dello sketch per l'esercitazione è il seguente:
.. literalinclude:: ./exercises/sketch_20191030.ino
:language: c
:linenos:
Accendere alternativamente 3 led
-----------------------------------
[*Lezione del 04 nov 2019*]
In coda alla `scheda della esercitazione n.1 `_
vi è la richiesta di accendere alternativamente due o tre led. Siccome siamo
ingordi, facciamo tre. Il seguente video mostra lo schema montato e
l'esecuzione dello sketch.
.. raw:: html
Lo sketch per accendere in alternativa i tre led è il seguente:
.. literalinclude:: ./exercises/sketch_20191106.ino
:language: c
:linenos:
Alla linea 11 vi è la definizione di un array di tre interi, che contengono
ognuno il numero della porta di un LED. Vi accediamo con gli indici
``GLED``, ``YLED``, e ``RLED``, definiti con direttive di precompilazione
alle linee da 7 a 9.
Il resto consiste in un ciclo infinito in cui incrementiamo l'indice ``led_ndx`` e
gli riassegniamo il modulo della divisione per 3. In tal modo cicliamo sugli indici
da 0 a 2 e accendiamo di conseguenza il led presente alla porta ``LEDS[led_ndx]``.
Per accendere il led usiamo la funzione ``drive_led``, leggermente modificata
per supportare il *forever*: quando il tempo di spegnimento (o accensione)
è zero, allora significa *per sempre*. L'accensione è prioritaria.
Accendere un led tramite pulsante
-----------------------------------
Nella stessa scheda della esercitazione n.1,
vi è la richiesta di accendere un led secondo comando di un pulsante.
Ecco il video del relativo assemblaggio e test
.. raw:: html
Lo sketch è il seguente:
.. literalinclude:: ./exercises/sketch_20191106-2.ino
:language: c
:linenos:
Questo sketch è estremamente semplice: legge il valore di tensione dal pulsante
e lo riscrive sul led.