Elettronica E Hardware

Pin Digitali

I pin dell'Arduino Uno sono i punti di connessione che permettono di collegare la scheda a componenti esterni come LED, sensori, motori e altri circuiti. Imparare a usare correttamente questi pin è il primo passo per dare vita ai tuoi progetti, controllando il flusso di dati e di energia tra l'Arduino e il mondo esterno.

Arduino Uno | Pin Digitali

I Pin di Arduino: Le Interfacce del Microcontrollore

Cosa sono: Terminali fisici di connessione | Funzione: Scambio di segnali elettrici tra software e hardware | Tipo: GPIO (General Purpose Input/Output)

I pin di Arduino non sono tutti uguali. Per il nostro progetto con il LED, useremo principalmente i Digitali, ma è bene conoscere l'intera "anatomia" della scheda:

Pin Digitali

Numerati da 0 a 13

Funzionano come interruttori: riconoscono solo due stati, Acceso (5V) o Spento (0V). Sono perfetti per far lampeggiare il nostro LED.

Uso: LED, Pulsanti, Relè

Pin Analogici

Marcati da A0 a A5

Sono "orecchie" sensibilissime in grado di leggere sfumature di tensione. Non leggono solo ON/OFF, ma valori intermedi tra 0 e 5V.

Uso: Potenziometri, Sensori luce

Alimentazione

Marcati 5V, 3.3V, GND

Forniscono energia costante ai componenti. Il GND è il punto di ritorno comune, indispensabile per chiudere ogni circuito.

Uso: Power, Massa (GND)
Nota per il LED: Se colleghi il LED direttamente al pin 5V (alimentazione), rimarrà sempre acceso e non potrai controllarlo via codice. Per farlo lampeggiare, devi usare un Pin Digitale.
Arduino Led sempre acceso

La Struttura di uno Sketch: Setup e Loop

Concetto: Lo sketch di Arduino | Esecuzione: Sequenziale e Ciclica

lo sketch di arduino

Ogni programma di Arduino (chiamato Sketch) è diviso in due parti fondamentali. Immaginale come la preparazione di una scrivania e il lavoro che ci svolgi sopra:

void setup() { ... }

Viene eseguito una sola volta all'accensione della scheda.


Cosa ci scriviamo: Qui impostiamo le regole. È il posto perfetto per la funzione pinMode(), dove diciamo ad Arduino: "Il pin 13 sarà un'uscita".

void loop() { ... }

Viene eseguito all'infinito, ciclicamente, finché c'è corrente.


Cosa ci scriviamo: Qui inseriamo l'azione. Ad esempio, i comandi digitalWrite() e delay() per far lampeggiare il LED continuamente.

Ricorda: Anche se non scrivi nulla dentro una delle due funzioni, esse devono comunque essere presenti nel codice, altrimenti Arduino ti segnalerà un errore!

La Funzione pinMode()

Scopo: Definire il comportamento elettrico di un pin GPIO (GPIO sta per General Purpose Input/Output (Ingresso/Uscita per scopi generali) | Ambito: Si utilizza esclusivamente nel void setup()

OUTPUT (Uscita)

Il pin eroga corrente elettrica.


Quando un pin è configurato come output quando un pin è configurato come uscita, può inviare una tensione esternamente. In questo modo, puoi accendere un LED, attivare un relè o controllare un motore.

Arduino LED / Motore

INPUT (Ingresso)

Il pin rileva la presenza di tensione.


Quando un pin è configurato come input può rilevare se la tensione è HIGH (alta, 5V) o LOW (bassa, 0V). Questa funzione è essenziale per collegare sensori, pulsanti o interruttori che inviano segnali ad Arduino.

Pulsante / Sensore Arduino
La definizione del tipo di pin (ingresso o uscita) si effettua nella funzione setup():
void setup() {
  pinMode(pin, OUTPUT); // pin definito come uscita
  pinMode(pin, INPUT);  // pin definito come ingresso
}

Esempio di Codice:

void setup() {
  pinMode(13, OUTPUT); // Imposta il pin del LED come uscita
  pinMode(2, INPUT);   // Imposta il pin di un pulsante come ingresso
}

La Funzione digitalWrite()

Azione: Invia un segnale ON/OFF a un pin | Stati: HIGH (5V) / LOW (0V)

Lo stato dei pin di Arduino si riferisce al loro livello di tensione, che può essere alto (HIGH) o basso (LOW). Queste sono le due condizioni in cui un pin digitale può trovarsi. Per modificare lo stato di un pin, devi prima di tutto averlo configurato come uscita (OUTPUT) nella funzione setup(). Se il pin è un ingresso, la scheda non può cambiarne lo stato.

HIGH (Acceso)

Il pin emette +5V.


Impostando lo stato su HIGH, Arduino collega internamente il pin all'alimentazione. La corrente fluisce verso il componente collegato, permettendo al LED di accendersi o al relè di attivarsi.

Stato Logico: 1 Tensione: 5V

LOW (Spento)

Il pin va a 0V (Massa).


Impostando lo stato su LOW, il pin viene collegato al GND (massa). Non essendoci differenza di potenziale, la corrente smette di scorrere e il componente collegato si spegne.

Stato Logico: 0 Tensione: 0V
La funzione per cambiare lo stato è digitalWrite() e accetta due argomenti:
  • Il numero del pin: L'identificativo del pin che vuoi modificare (es. 13, 12, 8).
  • Lo stato: HIGH (per impostare la tensione a 5V) o LOW (per impostare la tensione a 0V).
Esempio Pratico: Far lampeggiare un LED
void loop() {
  digitalWrite(13, HIGH); // Accende il LED (eroga 5V)
  delay(1000);            // Attende un secondo
  digitalWrite(13, LOW);  // Spegne il LED (porta a 0V)
  delay(1000);            // Attende un secondo
}

Questo comando imposta il pin 13 a uno stato di tensione bassa (0V). Se un LED è collegato a questo pin, si spegnerà.

Il comando digitalWrite() è fondamentale per controllare i componenti elettronici, come i LED, i relè o i motori, che richiedono un segnale di accensione o spegnimento.

LABORATORIO

Led lampeggiante

Led lampeggiante con Arduino Uno


1 Montaggio del circuito

Dopo aver realizzato un circuito con batteria, sostituiamo la fonte di alimentazione con una scheda Arduino Uno. Sul simulatore Tinkercad, elimina la batteria e posiziona una scheda Arduino Uno.

Collega un capo del resistore a uno dei fori sulla breadboard. Poi collega la gamba più lunga (anodo) del LED allo stesso foro del resistore e la gamba più corta (catodo) a un altro foro sulla stessa linea.

Infine, collega il pin GND (massa) di Arduino alla stessa fila del catodo del LED. Collega il pin digitale 13 di Arduino all'altra fila in cui si trova il resistore.


2 Scrittura del codice

Ora è il momento di scrivere il codice. Clicca sul pulsante "Codice" di Tinkercad e scegli "Testo" per l'editor. Scrivi il seguente codice.


void setup() {
  // Metti qui il codice di configurazione, viene eseguito una sola volta.
  pinMode(13, OUTPUT);
}

void loop() {
  // Metti qui il codice principale, viene eseguito ripetutamente.
  digitalWrite(13, HIGH);  // Accende il LED
  delay(1000);             // Attende 1000 millisecondi (1 secondo)
  digitalWrite(13, LOW);   // Spegne il LED
  delay(1000);             // Attende 1000 millisecondi (1 secondo)
}


3 Analisi del codice

  • La funzione setup() viene eseguita all'avvio del programma. Al suo interno, la riga pinMode(13, OUTPUT); configura il pin digitale 13 come uscita, permettendo ad Arduino di inviare energia al LED.
  • La funzione loop() è il ciclo infinito del programma.
    • digitalWrite(13, HIGH); imposta il pin 13 su uno stato di alta tensione (5V), accendendo il LED.
    • delay(1000); mette in pausa il programma per 1000 millisecondi (1 secondo).
    • digitalWrite(13, LOW); imposta il pin 13 su uno stato di bassa tensione (0V), spegnendo il LED.
    • Il secondo delay(1000); attende un altro secondo.

4 Avvia la simulazione

Clicca sul pulsante "Avvia simulazione" per vedere il tuo circuito prendere vita. Se tutto è stato collegato e codificato correttamente, il LED inizierà a lampeggiare a intervalli di un secondo.

Arduino Led lampeggiante

🔄 Dal Virtuale al Reale: Portare il Codice su Arduino

Obiettivo: Trasferire il progetto da Tinkercad alla scheda fisica | Strumenti: Cavo USB e Arduino IDE

Una volta verificato che il circuito funziona correttamente nel simulatore, il passo successivo è "dare vita" all'hardware reale. Il codice che hai scritto è identico, cambia solo il modo in cui lo esegui.

In Tinkercad

Premi Start Simulation: il codice viene eseguito virtualmente nel browser.

Su Arduino Reale

Devi Caricare il codice sulla memoria della scheda tramite il software IDE.


Passaggi per il caricamento

1. Copia il codice da Tinkercad
  1. Apri il pannello Codice in Tinkercad.
  2. Seleziona tutto il testo (Ctrl+A).
  3. Copia il codice (Ctrl+C).
2. Incolla nell'IDE Arduino
  1. Apri l'IDE Arduino sul tuo computer.
  2. Crea un nuovo file (File -> Nuovo).
  3. Incolla il codice (Ctrl+V) sostituendo tutto il testo predefinito.
3. Collega e Configura la Scheda

Collega Arduino al PC tramite il cavo USB e assicurati che il software sia pronto a comunicare:

Scheda: Vai su Strumenti -> Scheda e seleziona Arduino Uno.
Porta: Vai su Strumenti -> Porta e seleziona quella indicata come COM (Arduino Uno).

4. Premi "Carica" (Upload)

Clicca sul pulsante con la freccia rivolta a destra in alto a sinistra. Il software compilerà il codice e lo invierà alla scheda.

Verifica: Se vedi i LED TX/RX sulla scheda lampeggiare velocemente e compare il messaggio "Caricamento completato", il tuo LED inizierà subito a funzionare!