Da zero a Arduino…in 2 ore!

Introduzione a grandezze elettriche, strumenti, componenti e Arduino

Arduino base
introduzione
elettronica
Una pratica, rapida e (più o memo) completa introduzione al mondo dell’elettronica partendo dalla conoscenze basi per passare da zero a realizzare il tuo primo progetto con Arduino in sole due ore!
Autore

Stefano Caglio

Pubblicato

9 settembre 2023


Il logo ufficiale della Community di Arduino

Adattamento dell’immagine tratta dalla pagina Arduino Community Logo rilasciata secondo licenza Creative Commons CC-SA-BY-NC 3.0.

Questo post nasce per documentare il primo incontro (di due ore o poco più, appunto!) rivolto ai formatori dell’Istituto Rizzoli di Milano che quest’anno supporteranno i ragazzi delle classi del corso di Operatore informatico.
Non intende trattare in modo dettaglio, rigoroso e completo tutte le molte conoscenze, competenze e abilità richieste per una piena padronanza della materia. Chiaramente in così poco tempo non è possibile né realizzabile!

Ciò che è invece possibile fare in pochissimo tempo è guidare delle persone motivate a comprendere un certo argomento ad apprenderne e apprezzarne le basi.

Anche se sono completamente a digiune di elettro-“cosi”. A testimonianza 😉 queste sono le risposte al sondaggio Mentimeter: Di questo proprio non capisco nulla!

Risposte al sondaggio iniziale

Immagine dell’autore rilasciata secondo licenza Creative Commons CC BY-SA 4.0.

Un po’ me l’aspettavo… In fondo il software non ci fa più paura, siamo talmente abituarci ad utilizzarne diversi sullo smartphone o sul computer per i più svariati scopi. Ormai siamo dentro Matrix 🕵! Ma doversi cimentare con l’hard-ware potrebbe creare un po’ di timore.

Facciamo un passo alla volta e, alla fine di queste due ore, riuscirai a costruire il tuo primo circuito con Arduino che comanda l’accensione e lo spegnimento di un LED ad intervalli prefissati.

Componenti elettrici di base, grandezze elettriche associate e come misurarle

Che titolone complesso! Non lasciarti spaventare, ma sarà proprio quello che faremo insieme. Iniziamo dai componenti più semplici e dall’esperienza comune che condividiamo tutti. Non servono troppi paroloni per capire in modo corretto come funzionano gli oggetti che utilizziamo! Partiamo da qualcosa di semplicissimo…(a prima vista)

I cavi

Conosciamo tutti i cavi: spesso ci litighiamo. Caricatori del telefono che si aggrovigliano, per non parlare delle auricolari, che Dio ce ne scampi e sia lodato san Bluetooth e santa Wi-Fi, che ci liberino dai cavi!

Scherzosamente, spero senza offendere la sensibilità di nessuno, ho richiamato qualcosa che sappiamo tutti: posso trasmettere un segnale elettrico / elettronico in più modi. Via cavo o senza cavo.

Fino alla rivoluzione dei cellulari, poi smartphone, praticamente la totalità delle connessioni tra dispositivi che dovevano comunicare in modo sicuro e continuo erano (e, comunque, sono tuttora) via cavo. Ai tempi le eccezioni erano la TV e la radio.

Ora siamo abituati a reti cellulari, Wi-Fi e al carica-batterie senza fili: tutto questo rimane ben poca cosa, con buona pace del grandissimo Nikola Tesla, vista la quantità di cavi che garantiscono collegamenti sicuri. Anche e sopratutto in fondo al mare, da dove garantiscono il collegamento fra i server di tutti i continenti, dove sono posizionati da grandi navi costruite appositamente.

Questo solo per ricordare che l’era dei cavi non è finita…sono stati semplicemente sostituiti da altre tecnologie più comode, dove possibile!

Il lavoro dei cavi è un lavoro umile, che potrebbe apparire semplice (anche se, in realtà, molto spesso non lo è): devono trasportare, possibilmente senza alterarli in nessun modo, i segnali elettrici che vi vengono inseriti.

Noi utilizzeremo il tipo più semplice di cavo: quello realizzato da un singolo filamento di metallo.

Capisci che un cavetto come quello che hai in mano è forzatamente un oggetto più semplice di un cavo che trasporta l’alta tensione o uno di quei cavi sottomarini che consentono il collegamento Internet fra i continenti.

Quello che vedi nell’immagine è composto da una filo in metallo e da un rivestimento isolante in plastica.

Perché il metallo è un conduttore e invece la plastica, così come anche il legno per esempio, è un isolante?

La proprietà dei metalli che garantisce loro di condurre molto bene elettricità (e anche calore, come ben sai se ti è capitato di scottarti con cucchiaino immerso nel thé bollente) deriva direttamente dalle loro caratteristiche chimiche, in particolare da come si legano fra di loro gli atomi: il cosiddetto legame metallico. Grazie a questo legame, i nuclei degli atomi vanno a formare una griglia fissa mentre gli elettroni sono praticamente liberi di muoversi attorno ad essi. Gli atomi che compongono il legno e le materie plastiche non formano questo tipo di legame e per questo motivo sono pessimi conduttori elettrici e di calore: sono isolanti elettrici e termici.

Quindi i metalli possono trasportare un segnale elettrico molto bene, praticamente, per i nostri scopi, senza alterarlo o attenuarlo. Anzi, lo trasmette così bene che se proviamo ad unire a casaccio due punti di un circuito con un cavo, creeremmo un cortocircuito.

Il multimetro per il controllo della continuità (rilevazione di cortocircuiti)

Un cortocircuito è un passaggio diretto di corrente da un punto all’altro, senza attenuazione della corrente trasportata. Capisci che, giocando a creare dei ponticelli a casaccio con un cavetto come quello in figura su una scheda elettronica, il rischio di danneggiarla è altissima.

Ma è qualcosa che serve anche ad aiutare a determinare se e dove (su quale componente) in una scheda è presente un malfunzionamento. È infatti possibile verificare l’esistenza di un cortocircuito con uno strumento che si chiama multimetro. Se esiste un cortocircuito, significa che, da un punto di vista elettrico, fra quei due punti c’è continuità.

Anche se noi italiani ci percepiamo come casinisti, chiassosi, imprecisi, l’italiano è una lingua molto precisa. Se un termo-metro misura una temperatura, uno strumento che si chiama multi-metro, cosa misurerà? Multi-cose, più cose.
Infatti il [multimetro](https://it.wikipedia.org/wiki/Multimetro) può misurare le principali grandezze elettriche, come vedremo nel corso di questo post!

Iniziamo a vedere come è composto un multimetro. Dall’immagine qui sotto possiamo vedere che si è uno strumento alimentato a batteria (deve essere portatile) ed è dotato di due cavi.
Il corpo del multimetro è composto, partendo dall’alto verso il basso, da:

  • un display, dove si leggono le misure;
  • un selettore che permette di scegliere quale tipo di misura effettuare;
  • delle porte a cui vanno collegati i cavi.

Multimetro completo di puntali e batteria

Le immagini relative ai multimetri sono tratte dall’articolo How to Use a Multimeter di Sparkfun, se non indicato altrimenti.

Vediamo un po’ più da vicino queste ultime due parti.

  • Il selettore di solito ha una forma circolare (esistono modelli con altre soluzioni, ma l’utilizzo è analogo) e può essere ruotato.
    • Su un’estremità della protuberanza che viene impugnata c’è una freccia o un pallino, che indica la grandezza scelta.
    • sulla circonferenza sono evidenziati degli archi (anche questi potrebbero essere posizionati in modo diverso a seconda dei modelli) che identificano le possibili misure:
      • tensione continua
      • tensione alternata
      • corrente continua
      • continuità - diodi
      • resistenza
      • OFF: posizionare qui per spegnere lo strumento

Multimetro completo di puntali e batteria

Le sezione del selettore e delle porte del multimetro.

  • La sezione delle porte dell’immagine presenta tre ingressi. Esistono anche multimetri a due o quattro porte, ma vediamo quelle che abbiamo qui a disposizione:
    • COM significa common, comune: anche se i cavi sono fisicamente uguali, nel mondo degli elettro-cosi hanno deciso di standardizzare moltissime cose, anche per motivi di sicurezza. Si collega quindi quello di colore nero che è quindi associato al concetto di COM, GND, messa a terra, polo negativo \(-\)
    • alla porta contrassegnata da \(\mathbf{mAV\Omega}\) si collega il cavo rosso per eseguire misurazioni di:
      • corrente continua, sapendo che questa è limitata a \(200 \mathrm{mA}\), ovvero \(0.2 \mathrm{A}\) dove la \(\mathrm{A}\) sta per Ampere, l’unità di misura della corrente elettrica;
      • tensione continua o alternata, sapendo che la massima tensione misurabile è di \(600 \mathrm{V}\), dove la \(\mathrm{V}\) sta per Volt, l’unità di misura della tensione o differenza di potenziale;
      • resistenza, sapendo che la massima resistenza misurabile è di \(20 \mathrm{M\Omega}\) (che si legge mega-ohm), dove la \(\mathrm{\Omega}\) sta per Ohm, l’unità di misura della resistenza;
    • alla porta contrassegnata da 10A si collega il cavo rosso unicamente quando si deve fare una misurazione di corrente elevata (\(10 \mathrm{A}\) sono tanti!) posizionando il selettore su 10A.

Riassumendo, con un multimetro possiamo misurare:

Grandezza Unità di misura Simbolo
Tensione Volt \(\mathrm{V}\)
Corrente Ampere \(\mathrm{A}\)
Resistenza Ohm \(\mathrm{\Omega}\)

Può essere utile avere come riferimento i prefissi delle unità di misura e come passare da uno all’altro.

Ora, finalmente, possiamo impostare il multimetro per effettuare la verifica della continuità, così come mostrato nella seguente figura.

Impostazione del multimetro per la rilevazione della continuità

Impostazione del multimetro per la rilevazione della continuità.

Se ora provi a prendere in mano i due terminali e a far toccare fra di loro i due puntali metallici, sentirai un suono. È stata rilevata la continuità / il cortocircuito!

Se separi le due punte il suono terminerà e molto probabilmente vedrai su display la scritta \(\mathrm{OL}\) che sta per Open Loop, ovvero circuito aperto: effettivamente allontanando i puntali hai aperto il circuito.

Aprendo il circuito ora cosa c’è a contatto con i puntali? Si, esatto: l’aria! L’aria è un pessimo conduttore e quindi un buon isolante. Ne abbiamo esperienza con i doppi vetri: isolano bene perché in mezzo c’è uno strato d’aria. Inoltre abbiamo capito che un grandezze elettriche e termiche sono in qualche modo correlate…quindi l’aria è anche un buon isolante elettrico!

Da un punto di vista elettrico, questo significa che la resistenza elettrica dell’aria è molto elevata, tanto da non far passare corrente. Per questo leggiamo \(\mathrm{OL}\), circuito aperto.

È qualcosa di cui abbiamo esperienza ogni volta che accendiamo o spegniamo una luce. Se la accendiamo stiamo chiudendo il circuito, portando l’interruttore nella posizione di contatto. Quando la spegniamo stiamo aprendo il circuito interrompendolo fisicamente portando l’interruttore nella posizione di non contatto.

Possiamo provare a far toccare i puntali alle estremità di uno dei cavetti che hai a disposizione: se il cavo non è danneggiato (o non è molto lungo, come nel nostro caso) il multimetro suona e, su alcuni strumenti, sul display si legge addiruttura la resistenza del cavo stesso.

Le resistenze

Già: non siamo in un mondo ideale! ogni oggetto è dotato di una resistenza elettrica, purtroppo anche quelli che dovrebbero averla idealmente nulla come i cavi che abbiamo visto prima!

Il fatto che stiamo parlando continuamente di resistenza ti può far capire che sia qualcosa di estremamente importante per gli elettro-cosi.

Infatti ci sono tantissimi tipi di resistenze. Dimensioni, forme, tipologia costruttiva e caratteristiche diverse ma tutte hanno un compito: resistere al passaggio di corrente. Lo so cosa stai pensando: proprio quello che non volevamo per i cavi, lo vogliamo per le resistenze. Vedremo praticamente più tardi il motivo di questa necessità.

Per il momento dobbiamo sapere che in commercio ci sono delle misure di resistenza standardizzate. Li vedi quegli anellini colorati attorno al corpo della resistenza?

Gruppo di conduttori assiali di diversa resistenza

Gruppo di conduttori assiali di diversa resistenza” di Evan-Amos rilasciata secondo licenza Creative Commons CC0.

Ecco, se li vedi e riconosci i colori puoi sapere di quanti \(\Omega\) è la resistenza che hai in mano!

Esistono tabelle o strumenti online (qui uno o un secondo) che ti possono aiutare.

Misurare le resistenze

Io, sinceramente, faccio molta fatica a vedere i colori e quindi preferisco misurare la resistenza con il multimetro.

Se non ho idea di che valore sia la resistenza, procedo posizionando il cursore sul valore più piccolo e poi tocco la resistenza con i puntali.

Impostazione del multimetro per la misura di resistenza - fondoscala 200 Ohm

Impostazione del multimetro per la misura di resistenza - fondoscala \(200 \mathrm{\,\Omega}\).

Come si vede in figura, lo strumento non sta leggendo niente. Su alcuni modelli potrebbe visualizzare \(\mathrm{OL}\) che abbiamo detto significa Open Loop, circuito aperto.

Questo significa che il fondo scala scelto tramite il selettore è più basso della valore resistenza. Insomma, è un po’ come se volessimo misurare quanto pesa un elefante utilizzando la bilancia della cucina…

Quindi dobbiamo ruotare il selettore e passare da un fondo scala di \(200 \mathrm{\,\Omega}\) a un fondo scala di \(2 \mathrm{\,k\Omega} = 2000 \mathrm{\,\Omega}\).

Impostazione del multimetro per la misura di resistenza - fondoscala 2 kOhm

Impostazione del multimetro per la misura di resistenza - fondo scala \(2 \mathrm{\,k\Omega}\).

Con questa impostazione vedo che sul display viene riservata una cifra per le unità e tre cifre per i decimali.
La lettura e le seguenti conversioni sono riportate qui sotto:

\[ 0.981 \mathrm{\,k\Omega} = 0.981 \cdot 1000 \mathrm{\,\Omega} = 981 \mathrm{\,\Omega} \]

Cosa succede se aumento ulteriormente il fondo scala e lo porto a \(20 \mathrm{\,k\Omega}\)?

Impostazione del multimetro per la misura di resistenza - fondoscala 20 kOhm

Impostazione del multimetro per la misura di resistenza - fondo scala \(20 \mathrm{\,k\Omega}\).

Posso vedere che ora sul display sono riservare due cifre prima della virgola e due per i decimali. La lettura è simile ma quello che succede aumentando il fondo scala oltre il minimo necessario per eseguire la lettura è che perdo precisione nella misura.

Anche in questo caso possiamo pensare a qualcosa che abbiamo in casa. La situazione è analoga a voler pesare un \(\mathrm{\,kg}\) di pasta non sulla bilancia da cucina ma sulla bilancia per persone. Questa è una bilancia che può misurare differenze di \(1 \mathrm{\,kg}\), ma un singolo \(\mathrm{\,kg}\) di pasta può essere troppo poco e quindi vengono introdotti errori di misura. Aumentando ancora il fondo scala peggiorerei ulteriormente le misure!

Esiste un settaggio ottimale del multimetro per avere la misura più precisa possibile.

Le batterie

Le batterie sono un altro importante componente dei circuiti elettrici. Sono un po’ il motore del circuito, quel componente che “accende”, dà vita al circuito che, altrimenti, rimarrebbe spento.

Anche le batterie le conosci benissimo: ricaricabili o usa e getta le abbiamo ovunque. Nel mouse, in auto, nella tastiera Bluetooth, nella torcia di emergenza, nei telecomandi TV.

Le batterie richieste possono essere di dimensione e tensioni differenti ma affinché tutte queste applicazioni funzionino, dobbiamo inserire le batterie nel verso corretto: le batterie, infatti, sono guardacaso dotate di un polo positivo + e di un polo negativo -.

Confronto fra tipi diversi di batterie

Confronto fra tipi diversi di batterie” di Lead Holder rilasciata secondo licenza Creative Commons CC BY-SA 3.0.

Misurare la tensione

Per le batterie la misura dovrebbe essere un po’ più facile, dato che è la tensione nominale erogata dalla batteria viene scritta sul corpo della batteria stessa e quindi si può posizionare il selettore sulla misura superiore rispetto la “taglia” della batteria.

Vediamo come impostare il multimetro per la misura di tensione e come posizionare i puntali.

Impostazione del multimetro per la misura di tensione - fondoscala 2 V

Impostazione del multimetro per la misura di tensione - fondo scala \(2 \mathrm{\,V}\).

Nell’immagine sono segnati in arancione i poli della batteria. Posizioniamo:

  • il puntale del cavo nero COM viene a contatto del polo - della batteria
  • il puntale del cavo rosso viene a contatto del polo + della batteria. In questo modo la lettura che si ottiene è di \(+1.629 \mathrm{\,V}\) (il carattere \(+\) non viene visualizzato sul display).

Se invece invertissi la posizione dei puntali, ovvero:

  • il puntale del cavo nero COM posizionato a contatto del polo + della batteria
  • il puntale del cavo rosso posizionato a contatto del polo - della batteria

visualizzarei sul display una misura di \(-1.629 \mathrm{\,V}\), come si vede nella figura qui sotto.

Impostazione del multimetro per la misura di tensione con poli invertiti - fondoscala 2 V

Impostazione del multimetro per la misura di tensione con poli invertiti - fondo scala \(2 \mathrm{\,V}\).

Quel segno \(-\) è dovuto proprio dal fatto che ho sono stati invertiti i collegamenti. Non succede niente di dannoso al circuito, anzi! Può essere utile per avere un’indicazione utile sulla polarità della batteria nel caso in cui non fosse scritta sul corpo della stessa.

I LED

Sappiamo tutti cos’è un LED, ne siamo inondati. Se stai leggendo questa pagina la stai leggendo guardando milioni di LED che compongono i pixel del tuo schermo.

LED è un acronimo: Light Emitting Diode, ovvero diodo ad emissione di luce.

Un diodo è un componente che permette di far passare la corrente solo in un senso. Significa che, se collegato nel verso corretto, fa passare corrente, altrimenti no. Anche se può sembrare una cosa stupida, anche lui ha il suo motivo di esistere. Tipicamente serve per proteggere i circuiti, facendo in modo che la corrente passi solo in una direzione. Un po’ come un senso unico.

Pensando al corpo umano, una funzione analoga l’anno allo sfintere gastroesofageo, che non dovrebbe far risalire il cibo verso la bocca, o le valvole cardiache. Questi sono esempi biologici di valvole di non ritorno, cioè dispositivi che fanno passare qualcosa in un senso ma non al contrario.

In più il LED, se alimentato correttamente, cioè con tensioni e correnti appropriate, è fatto in modo tale da emettere luce.

Un LED e i suoi componenti

I componenti di un LED. Tratto da soldered.com.

Senza entrare troppo nel dettaglio ora, abbiamo capito che il LED ha un verso di collegamento. come lo identifichiamo?

È molto semplice. Basta guardare i reofori, come vengono chiamati i fili che escono dai componenti. I LED che utilizziamo hanno delle zampette in metallo rigido: quelli sono i reofori del LED. Quello più lungo si collega al polo + di un alimentatore (come la batteria), quello più corto al polo -.

E nel caso i reofori siano stati tagliati o piegati? Facilissimo, se sei già riuscito a vedere i colori delle resistenze! Infatti sul colletto del LED c’è quello che in figura è chiamato flat spot: si tratta di una parte piatta, come se fosse stata tagliata. Ecco, quella parte corrisponde al “lato” -.

Poi, si può già imparare che il polo negativo si chiama anche catodo, il polo positivo anodo.

Costruiamo i circuiti!

Il nostro primo circuito simulato

Ok, lo dico apertamente: voglio farti distruggere il tuo primo LED…per questo è meglio utilizzare uno strumento online, Tinkercad, che permette di creare e testare, simulandolo virtualmente, il nostro primo circuito.

Ti dovrai registrare (gratuitamente) e poi creare un Progetto di tipo Circuito. Ti lascio il link a un video introduttivo che puoi guardare per capire velocemente come utilizzare questo utilissimo strumento.

Batteria e LED

È molto intuitivo! Per creare il circuito che vedi nella gif sotto dovrai trascinare dalla colonna destra gli elementi Batteria da \(9 \mathrm{\,V}\) e il LED e collegare, cliccandoci sopra, i terminali corretti dei due componenti.

Premendo il tasto Avvia simulazione, si vede che il LED, graficamente, esplode. Nella realtà magari non esplode, ma si danneggia in modo irreparabile.

Circuito composto da batteria 9V e un LED

Circuito composto da batteria \(9 \mathrm{\,V}\) e un LED. Gif dell’autore rilasciata secondo licenza Creative Commons CC BY-SA 4.0.

Perché il LED si danneggia? Perché non basta collegare qualcosa ad una batteria e pensare che vada tutto liscio.

E cosa succederebbe, invece se invertissi il collegamento fra LED e batteria? Prova a farlo tu!

Batteria, resistenza e LED

L’errore che ha portato al danneggiamento del LED è stato volutamente mio: non ti ho detto che i LED non possono essere alimentati a \(9 \mathrm{\,V}\)!

Ogni LED ha le sue specifiche di utilizzo ma, senza scendere troppo nel dettaglio, prendiamo per buono che i LED che abbiamo a disposizione debbano essere alimentati:

  • con una tensione di circa \(2 \mathrm{\,V}\)
  • con una corrente massima di \(20 \mathrm{\,mA} = 0.02 \mathrm{\,A}\)

Ecco perché si è rotto! Aveva bisogno di solo \(2 \mathrm{\,V}\), non \(9 \mathrm{\,V}\)!

Ed è per questo motivo che dobbiamo mettere una resistenza: la resistenza fa si che una parte di quei \(9 \mathrm{\,V}\) vengano “scaricati” su di lei, in modo da far “passare” al LED solo \(2 \mathrm{\,V}\), come richiesto per un suo corretto funzionamento.

A questo punto bisognerebbe introdurre la legge di Ohm e fare qualche conto, ma magari lo farò in un approfondimento: per ora ti chiedo di fidarti e di provare a inserire fra il LED e la batteria una resistenza da \(440 \mathrm{\,\Omega}\) (puoi modificare a piacere il valore di resistenza dopo che hai importato l’oggetto).
La resistenza va inserita in serie, quindi è come se tagliassimo uno dei due collegamenti e ci collocassimo in mezzo la nostra bella resistenza. Se pensi a dei tubi, è come collegare i tubi uno in fila all’altro.

Altro dettaglio importante: non importa quale cavo tagli per inserirla: la puoi aggiungere sul lato + o sul lato -, indifferentemente e non ha neanche un verso, non ha una polarità come il LED.

Ed ecco che il LED funziona senza rompersi!

Circuito composto da batteria 9V, resistenza da 440 Ohm e un LED

Circuito composto da batteria \(9 \mathrm{\,V}\), resistenza da \(440 \mathrm{\,\Omega}\) e un LED. Gif dell’autore rilasciata secondo licenza Creative Commons CC BY-SA 4.0.

Il nostro primo circuito reale

Bene, ora che hai visto cosa non fare, possiamo creare il nostro primo circuito! Ok, ma come lo creiamo? Come facciamo a tenere fermi i collegamenti, i cavi, i reofori dei componenti che utilizziamo? Utilizzare lo scotch può essere un’idea, ma non credo sia una soluzione molto comoda date anche le piccole dimensioni dei cavi.

La breadboard

Quando si devono realizzare dei circuiti di prova o in ambito scolastico o per sperimentare con l’elettronica spesso si utilizzano le breadboard, in italiano basette di prototipazione. La traduzione letterale sarebbe “tagliere per il pane” proprio perché agli albori della scienza elettrica venivano utilizzati dei taglieri per il pane in legno (che è, lo ricordo, un isolante) con posizionate delle viti o dei chiodi per poter collegare cavi e componenti come nella figura qui sotto.

Una breadboard dal sapore di altri tempi

Una breadboard dal sapore di altri tempi! Le immagini di questa sezione sono state prese da ScienceBuddies.org e koncon.nl

Le breadboard hanno un grosso vantaggio: non richiedono alcuna saldatura. Questo permette di realizzare in brevissimo tempo circuiti anche complessi. Tipicamente è proprio ciò che serve nella fase di prototipazione di un progetto, ovvero quella fase del ciclo di vita di un prodotto in cui è necessario realizzare in breve tempo molti prototipi funzionanti, oppure modificarne di esistenti.
In questo differisce dalla basetta millefori che, nonostante il nome simile, richiede la saldatura dei componenti.

Un progetto decisamente complesso (e caotico) realizzato su bradboard

n progetto decisamente complesso (e caotico) realizzato su bradboard.

Se vuoi capire come è fatta una breadboard e come utilizzarla puoi guardare questo video o continuare a leggere.

Breadboard: a sinistra come appare guardandola da sopra, a destra visualizzazione dei collegamenti dei fori

Breadboard: a sinistra come appare guardandola da sopra, a destra visualizzazione dei collegamenti dei fori.

Sul lato sinistro nell’immagine puoi vedere il layout standard della breadboard. Ogni foro è un punto di collegamento e fisicamente è realizzato grazie a una ****piccola morsa elastica** in metallo che trattiene il cavo o il reoforo che vi si inserisce.

La piccola morsa trattiene un componente

La piccola morsa trattiene un componente.

Come puoi immaginare sono proprio queste morsettiere che sono posizionate sotto i fori e vanno a garantire la continuità lungo le tracce evidenziate in nero nella parte destra della figura con le due breadboard. Quindi le linee nere indicano come sono collegati i fori interni.
Puoi vedere quattro linee orizzontali: due in alto e due in basso. Queste linee vengono utilizzate principalmente per l’alimentazione elettrica: su molte breadboard sono evidenziate con linee colorate rosse, che indicano di collegare lì il/i cavi che arrivano da un polo positivo +, e nere o blu, che indicano di collegare lì il/i cavi che arrivano da unn polo negativo -. Chiaramente questo è solo un consiglio, non una regola! Ma seguire il codice colori ed essere ordinati può portare a molti grattacapi in meno o, almeno, ad un più rapida identificazione dei problemi.

In commercio esistono breadboard di dimensioni differrenti e con diverse indicazioni e colori utilizzate. Tutte, comunque, hanno la stessa configurazione delle morsettiere: al più, nel caso delle breadboard più piccole, vengono tolte le quattro linee orizzontali di connessione, lasciando a disposizione solo le colonne centrali.

Alcune breadboard sono realizzate in plastica trasparente, quindi si possono vedere le clip all’interno.

Le morsettiere posizionate all'interno della bradboard

Le morsettiere posizionate all’interno della bradboard.

La maggior parte delle breadboard ha anche uno strato di supporto che impedisce la caduta delle clip metalliche. Il supporto è in genere uno strato di nastro biadesivo coperto da uno strato protettivo di carta, in modo che si possa attaccare permanentemente la breadboard a qualcosa (ad esempio un robot).

Lo strato adesivo: a sinistra rimozione della protezione del biadesivo, a destra bradboard senza biadesivo in cui si può notare la disposizione delle morsettiere

Lo strato adesivo: a sinistra rimozione della protezione del biadesivo, a destra bradboard senza biadesivo in cui si può notare la disposizione delle morsettiere.

Il circuito

Bene! Ora conosci l’utilizzo della breadbord, quindi ti è possibile collegare correttamente i componenti.

Nel paragrafo Batteria, resistenza e LED avevamo identificato una resistenza da \(440 \mathrm{\,\Omega}\) per far funzionare correttamente il circuito, ma c’è un piccolo problema: non abbiamo a disposizione questa “taglia” di resistenza.

Abbiamo però le resistenze da \(220 \mathrm{\,\Omega}\): è possibile in sommarle per ottenerne una da \(440 \mathrm{\,\Omega}\)? La risposta è : basta collegarle in serie, quindi una in fila all’altra.
Se collegassimo in serie, una dopo l’altra, cinque resistenze, agli occhi del circuito è come se avessimo montato un’unica resistenza equivalente che è data dalla somma dei valori di tutte e cinque! Nel nostro caso, limitato a due resistenze uguali, abbiamo:

\[R_{EQUIVALENTE} = R_1 + R_2 = 220 \mathrm{\,\Omega} + 220 \mathrm{\,\Omega} = 440 \mathrm{\,\Omega} \]

Ora basta che ti assicuri che i cavi e i componenti formino un anello chiuso che parte da uno dei poli della batteria e torni all’altro polo. Due fra le configurazioni possibili sono riportate nella seguente figura. Puoi vedere che i componenti sono posizionati in punti differenti della breadboard ma il circuito funziona in entrambe i casi (è lo schema realizzato con TinkerCAD, puoi vedere che ho salvato l’immagine dopo aver avviato la simulazione in quanto i LED verdi sono accesi).

Due realizzazioni equivalenti del nostro circuito

Due realizzazioni equivalenti del nostro circuito.

Si tratta di due realizzazioni che non possiamo dire essere identiche (proprio perché cambia la disposizione sulla breadboard) ma si dice che sono equivalenti da un punto di vista elettrico.

Per verificare questa equivalenza possiamo procedere in un rapido controllo visivo di entrambe i circuiti:

  • parti dal \(+\) della batteria e segui il cavo rosso. Arriva a una delle due linee orizzontali contrassegnate dal \(+\).
  • la corrente quindi entra nella riga orizzontale ed è disponibile per chiunque “ci si attacchi”.
  • scorrendo lungo quella riga, ad un certo punto c’è un cavo che collega la riga orizzontale \(+\) con una colonna, portando, di fatto, corrente su tutta quella colonna;
  • terminato il cavo, percorro la colonna fino a ritrovarmi l’anodo del LED inserito nella morsettiera della colonna;
  • la corrente quindi passa attraverso il LED, che per tutta risposta si accenderà, e va a finire in un’altra colonna;
  • su questa seconda colonna è posizionato sia il catodo del LED (da dove “arrivo”) sia un reoforo della resistenza;
  • la corrente passa dal reoforo della resistenza e tramite la resistenza arriva alla terza colonna;
  • compie un percorso analogo attraverso la seconda resistenza per arrivare alla quarta colonna occupata;
  • la corrente percorre la quarta colonna e trova il cavo nero;
  • il cavo nero collega la quarta colonna con la traccia contrassegnata con il \(-\);
  • la corrente la percorre fino all’estremità dove c’è il cavo nero che collega la breadboard al polo \(-\) della batteria.

Se ripeti la procedura qui sopra per entrambe i circuiti nell’immagine sopra puoi constatare che effettivamente sono riportati due anelli equivalenti!

Perfetto! Ora potresti provare a posizionare cavi e componenti senza guardare lo schema qui sopra ma ricordandoti:

  1. la logica del circuito “ad anello”;
  2. come sono collegati internamente i fori della breadboard.

Un’altra cosa che puoi provare a fare da solo è sperimentare l’utilizzo di un interruttore per dare la possibilità all’utente di accendere o spegnere il LED senza dover per forza staccare i cavi a mano dalla breadboard o dalla batteria.

Complimenti! Hai realizzato il tuo primo circuito elettrico (o analogico) da solo! Non è stato così male, vero?

Il circuito con Arduino

Siccome l’appetito vien mangiando, proviamo a pensare a questa situazione: se il circuito qui sopra fosse il circuito di una luce che deve lampeggiare ogni secondo (\(1 \mathrm{\,s}\) acceso e \(1 \mathrm{\,s}\) spento) ci vorrebbe una persona che stacca e riattacca un cavo (o spinge l’interruttore) a mano, ogni \(1 \mathrm{\,s}\).

È un lavoro ripetitivo, semplice: può essere affidato ad una macchina. I microcontrollori, come Arduino, servono proprio a questo: automatizzare operazioni più o meno complesse e cicliche.

Arduino, una breve presentazione

Di fatto i microcontrollori sono computer molto basici (impossibile pensare di far fare loro dell’editing foto, audio o video!) che hanno prestazioni sufficienti per gestire semplici operazioni di input e output.

Se ci pensi bene, qual’è il compito di qualsiasi dispositivo elettrico o elettronico? Ricevere in ingresso un input, eseguire delle operazioni legate a quell’input e fornire un output utile per l’utente.

Flusso di informazioni in un dispositivo

Flusso di informazioni in un dispositivo.

Proviamo ad analizzare qualche esempio, sia analogico che digitale:

  • quando premo un tasto sulla tastiera (input) il segnale arriva alla CPU che elabora l’informazione visualizzandola sullo schermo (output);
  • quando premo l’interruttore in una stanza (input) il circuito elettrico è fatto in modo da “elaborare” questo input accendendo la luce (output);
  • quando metto un termometro corporeo in bocca, sia esso digitale sia analogico, il mio calore (input) viene trasmesso al termometro che fornisce una lettura di temperatura (output)

In tutti questi casi ci sono sempre delle interfacce dedicate (indicate come I/F nello schema sopra) che permettono al sistema di ricevere informazioni dall’esterno, dal mondo fisico (gli input) e fornire risposte adatte ad interagire con il mondo fisico (output).

Nei nostri esempi le interfacce in ingresso sono dispositivi di input: sono dei sensori che devono sentire ciò che accade nel mondo esterno e trasformarlo in un segnale interpretabile dal sistema.
Il sistema di elaborazione, in base all’elaborazione dell’input, darà istruzione agli attuatori di attuare un’azione sul mondo esterno. Si parla anche di dispositivi di output.

Proviamo a declinare meglio questi punti di vista:

  • la tastiera è un’interfaccia, cioè si frappone fra l’uomo e la CPU. È un sensore perché sente quale tasto stiamo schiacciando. Dal punto di vista del computer è un dispositivo di input, perché gli permette di ricevere informazioni dall’esterno;
  • lo schermo è un’interfaccia, di nuovo si frappone fra l’uomo e la CPU. È un attuatore perché emette luce. Dal punto di vista del computer è un dispositivo di output, perché gli permetter di comunicare informazioni verso l’esterno.

E nel caso del nostro LED che si accende e si spegne ad intermittenza?

  • l’input può essere dato dal tempo che si vuole tenere spento o acceso il LED;
  • l’elaborazione del segnale può tener conto di quanto tempo è passato dall’accensione. Se il tempo è pari a quello impostato nel punto precedente…
  • … cambia stato (acceso o spento) del LED e fa ripartire il conteggio del tempo.

Quindi, invece di impegnare una persona per fare queste operazioni con un orologio per vedere il tempo, la sua mente per verificare quando cambiare stato e un interruttore per agire sul LED, possiamo demandare questo compito a un microcontrollore che può farlo in modo semplicissimo.

Un microcontrollore è un dispositivo elettronico che permette multiple e molti tipi di interfacce di ingresso e uscita permettendo ciò che viene chiamato interaction design, il design dell’interazione fra tre elementi: uomo, macchina e mondo attorno ai primi due elementi.

Noi utilizzeremo Arduino, un progetto orgogliosamente italiano, nato ad Ivrea dalle ceneri della Olivetti.

Si potrebbe parlare per ore e ore di Arduino, del suo creatore, Massimo Banzi, della Olivetti e della sua strana parabola. Di sicuro quella Olivetti che ha creato il primo personal computer del mondo, il Programma 101, presentandolo nel 1965 a New York e proponendo prima di tutti una soluzione dagli ingombri (guarda questo video per intuire le normali dimensioni dei computer negli anni ’60) e dai costi contenuti (nel 1965 era proposto a \(3200 \mathrm{\,\$}\), pari a circa \(20\,000 \mathrm{\,\$}\) attuali) ha lasciato sicuramente delle tracce, dei semi, che sono stati riportati alla luce e rifioriti 40 anni dopo.

Fra i molti aspetti belli ed innovativi di Arduino c’è anche quello di essere un progetto open-source: questo significa che tutto, veramente tutto, è di pubblico dominio.
Dagli schemi elettronici al software che ne permette la programmazione (l’IDE: Integrated Development Environment - ambiente di sviluppo integrato), tutto è a disposizione di chi è interessato. Per questo motivo esistono molte schede identiche per funzionalità ad Arduino ma prodotte da altre società.

Analizziamo lo schema dei pin (in inglese pinout) della scheda Arduino UNO R3, il prodotto di punta anche se da pochissimo è stata rilasciata la migliorata R4.

I pin sono i forellini che si vedono sulla scheda: in italiano li possiamo chiamare piedini o terminali e sono le interfacce fra la scheda e il resto del mondo. Li vediamo allineati lungo due bordi dalla scheda, sotto forma di due sporgenze nere che richiamano una riga della breadboard.

A differenza della breadboard, ogni forellino è un mondo a sè. Ogni pin è collegato in modo unico ad altri componenti della scheda, principalmente al microcontrollore ATMEGA328P che è il cuore (o meglio, il cervello) della scheda. È il rettangolone nero più grosso che si vede.

Pinout di Arduino UNO R3

Immagine rilasciata da Arduino secondo licenza Creative Commons CC BY-SA 4.0 e modificata dall’autore che rilascia secondo licenza Creative Commons CC BY-SA 4.0.

Per i nostri scopi utilizzeremo i pin evidenziati in rosso che sono relativi all’alimentazione e pin evidenziati in verde che sono pin digitali (vedremo dopo cosa significa) e vengono utilizzati per inviare comandi dalla scheda.

Arduino al posto della batteria

La cosa più semplice per familiarizzare con Arduino è ricreare lo stesso circuito sostituendo la batteria con Arduino.

Non è necessario scrivere alcun codice col risultato che non sarà possibile accendere e spegnere il LED: il LED rimarrà acceso.

Con il cavo USB scollegato, collega i cavi che hai collegato alla batteria con il pin che alimenta a \(5 \mathrm{\,V}\) (polo \(+\)) e ad uno dei pin \(\mathrm{GND}\).

Una cosa che puoi notare è che ora stai alimentando il circuito a \(5 \mathrm{\,V}\): lasciando le due resistenze da \(220 \mathrm{\,\Omega}\) in serie che formano una resistenza equivalente da \(440 \mathrm{\,\Omega}\) il LED si “accenderà meno”. Per farlo tornare bello luminoso, e quindi alimentarlo correttamente, devi togliere una delle due resistenze. Il circuito sarà analogo a quello riportato nella seguente figura.

Circuito con Arduino UNO in sostituzione della batteria

Circuito con Arduino UNO in sostituzione della batteria. Immagine dell’autore rilasciata secondo licenza Creative Commons CC BY-SA 4.0.

Arduino come microcontrollore

Utilizzare un microcontrollore per fare le veci di una batteria non è un consiglio molto furbo da parte mia… Per poter comandare l’accensione e lo spegnimento del LED dobbiamo fare due cose:

  1. modificare il circuito. Per il nostro scopo non serve collegare l’alimentazione da \(5 \mathrm{\,V}\) perché questa, abbiamo visto, rimane fissa, costante! Devi, invece, collegare l’anodo del LED ad uno dei pin digitali evidenziati in verde prima, ricordandoti il numero del pin (prima di fare qualsiasi modifica ricordati di scollegare il cavo USB in modo che la scheda non sia alimentata durante la modifica del circuito!);
  2. scrivere il codice che esegue ciò che vogliamo fare.

Circuito con Arduino UNO per il controllo di accensione e spegnimento del LED

Circuito con Arduino UNO per il controllo di accensione e spegnimento del LED. Immagine dell’autore rilasciata secondo licenza Creative Commons CC BY-SA 4.0.

Se ora provi a ricollegare il cavo USB vedrai che il LED non si accende più: infatti, dal pin 12 (nel mio caso!) non può uscire corrente se non diciamo ad Arduino di farlo!

Ecco, quindi, che ci viene in aiuto l’IDE. Lo apriamo e per prima cosa ci dobbiamo assicurare che “veda” la scheda. Ti consiglio un tutorial per verificare di fare tutto correttamente.

Poi puoi aprire un codice di esempio già scritto che utilizziamo per capire come ragiona Arduino: lo trovi in FileExamples01. BasicsBlink. Il codice viene caricato all’interno dell’IDE e l’unica cosa da fare è cambiare il numero 13 con il numero del pin digitale a cui tu hai collegato l’anodo del LED. Nel mio caso il codice, ripulito dai commenti dell’esempio che hai sul tuo schermo, sarà il seguente.

void setup() {
  pinMode(12, OUTPUT);
}

void loop() {
  digitalWrite(12, HIGH);
  delay(1000);
  digitalWrite(12, LOW);
  delay(1000);
}

Anche senza essere dei programmatori, usando un po’ di logica si riesce a capire cosa e come stiamo comunicando con Arduino affinché esegua ciò che desideriamo. Specifico solo che i numeri che vedi all’inizio di ogni riga non fanno parte del codice ma sono proprio i numeri di riga che servono per riferirsi velocemente ad una specifica riga.

Innanzitutto ci sono due blocchi logici ben distinti:

  1. il blocco (che in informatica si chiama funzione) di setup(): viene eseguito solo una volta da Arduino, subito dopo l’accensione. Come dice il suo stesso nome, viene utilizzato per impostare Arduino: in questo caso, alla riga 2 del codice sto comandando Arduino di impostare il pin 12 in modalità output: pinMode(12, OUTPUT);
  2. la funzione loop(), invece, contiene tutte le istruzioni che Arduino continuerà ad eseguire ciclicamente fino a quando rimarrà acceso.

Cosa vogliamo che faccia Arduino con il nostro bel LED? Ricordati che Arduino, come qualsiasi dispositivo elettronico è uno stupido testardo: se non fa ciò che abbiamo in mente, è certo che stiamo sbagliando qualcosa noi!

Dobbiamo elencare esattamente tutte le azioni che compiremmo noi per portare a termine il nostro compito: questo significa analizzare il problema e trovare una soluzione replicabile da un esecutore, anche non umano:

  1. accendo l’interruttore - nel nostro caso il comando è digitalWrite(12, HIGH); ovvero faccio scrivere ad Arduino (scrivere è considerata un’operazione di output, leggere una di input!) sul pin 12 il valore ALTO (che significa “1”, “ON”, acceso!)
  2. aspetto un secondo - delay(1000); significa che Arduino ritarda le operazioni successive di mille millisecondi. Arduino, come tutti i computer, è dotato di un clock, un orologio interno e quindi può tener conto del tempo. In questo secondo Arduino è bloccato, non può far altro che attendere che trascorra.
  3. terminato il secondo di attesa, spengo l’interruttore - digitalWrite(12, LOW);
  4. aspetto un secondo - delay(1000);

…e ripeto tutto fino a quando Arduino rimane acceso.

Come puoi vedere la logica non è difficile! Hai appena capito un programma scritto in un “dialetto” del linguaggio di programmazione C++. Non male, assolutamente!

Bisogna solo stare attenti ai particolari…ed essere molto ordinati. Ogni graffa, ogni punto e virgola è importante! Se mancasse qualcosa, l’IDE te lo direbbe.
Prima di caricare il programma sulla scheda è buona norma verificarlo: basta premere sul tasto a forma di spunta verde, il primo in alto a sinistra nella schermata dell’IDE.

Se vengono rilevati errori, nella parte bassa della finestra vengono elencati con anche l’indicazione (a volte non precisissima) della loro posizione. La ricerca e correzione degli errori nel codice (debugging) è una abilità importantissima per ogni programmatore e per questo va allenata. Il debugging è così importante per creare un prodotto di qualità che in tante software-house si lavora con il pair programming. Consiste nel far lavorare gomito a gomito due programmatori: uno scrive materialmente il codice, l’altro lo corregge in tempo reale (chiaramente dopo un tempo prefissato si scambiano i ruoli).

Se la verifica viene eseguita con successo, senza errori, è possibile caricarlo su Arduino premendo sul bottone con la freccia verso destra, sempre in alto a sinistra. Se la scheda è collegata correttamente (si recuperi, eventualmente, il tutorial riportato più sopra) il codice viene tradotto in un linguaggio comprensibile al microcontrollore e copiato sulla memoria interna di Arduino.

Come promesso, hai realizzato il tuo primo circuito sfruttando Arduino! Nel frattempo hai anche imparato molte cose che ti torneranno utili giocando con un po’ di elettronica.

Alla prossima!


Rimaniamo in contatto!

Se desideri essere aggiornato, lascia qui sotto la tua mail. Ogni tanto (solo quando ne varrà la pena, lo prometto) ti invierò una newsletter con le novità più importanti. Buona lettura!