setup()
🏗️ La Struttura Obbligatoria di Arduino
Section titled “🏗️ La Struttura Obbligatoria di Arduino”Ogni programma Arduino ha una struttura fissa e obbligatoria: deve contenere due funzioni speciali che Arduino si aspetta sempre di trovare.
Queste due funzioni non le chiamiamo noi: le esegue Arduino stesso, automaticamente. In questo capitolo ci concentriamo sulla prima: setup().
🔧 La Funzione setup()
Section titled “🔧 La Funzione setup()”setup() è la funzione di configurazione. Viene eseguita una volta sola, subito dopo che Arduino si accende. Il suo scopo è preparare tutto il necessario prima che il programma inizia.
Analogia: aprire un negozio al mattino
Section titled “Analogia: aprire un negozio al mattino”Prima di aprire un negozio, il titolare fa una serie di operazioni: accende le luci, sblocca il registratore di cassa, sistema le vetrine. Lo fa una sola volta, al mattino, poi il negozio lavora normalmente per il resto della giornata. setup() è esattamente questo: la routine di apertura.
📋 Cosa si fa dentro setup()?
Section titled “📋 Cosa si fa dentro setup()?”1. Avviare la Comunicazione Seriale
Section titled “1. Avviare la Comunicazione Seriale”La Porta Seriale è il canale di comunicazione tra Arduino e il computer tramite il cavo USB. Permette di inviare messaggi di testo dal programma Arduino verso il computer, visibili nell’IDE attraverso il Monitor Seriale. È strumento importante per inviare messaggi e comunicare con Arduino.
Il numero 9600 è la velocità di trasmissione (baud rate). Non è importante capirne il dettaglio adesso: basta sapere che per poter utilizzare il Monitor Seriale bisogna scrivere questo comando dentro il setup().
Per inviare messaggi si usano poi due comandi, usabili in qualsiasi punto del programma:
2. Configurare i Pin: pinMode()
Section titled “2. Configurare i Pin: pinMode()”I pin digitali di Arduino possono funzionare sia come uscite (OUTPUT) per controllare componenti come i LED, sia come ingressi (INPUT) per leggere lo stato di componenti come i pulsanti.
Arduino però non sa da solo quale componente gli abbiamo collegato: bisogna dirglielo esplicitamente usando pinMode().
Ovviamente, usando le costanti #define definite in cima al file il codice risulta molto più leggibile. Inoltre, se dovessimo cambiare il collegamento, ci basterà modificare il valore dentro la #define, anziché modificare ogni singolo numero in tutto il codice.
🎮 Controllare un Componente
Section titled “🎮 Controllare un Componente”Un pin configurato come OUTPUT può essere acceso (corrente alta) o spento (corrente bassa) usando il comando digitalWrite().
📖 Leggere un Componente
Section titled “📖 Leggere un Componente”Un pin configurato come INPUT può essere letto per sapere se c’è corrente o meno, usando digitalRead(). Il risultato sarà HIGH (pulsante premuto) oppure LOW (pulsante non premuto).