Arduino, hardware …

Dopo aver visto in breve, cosa sià Arduino, è chiaro che per iniziare occorra l’hardware, ovvero la scheda di Arduino ed alcuni accessori, e poi il software per la realizzazione degli “sketch” ovvero il listato che poi farà girare la nostra realizzazione.
Per quanto concerne l’hardware abbiamo già visto che gli elementi fondamentali sono la scheda di Arduino e nel mio caso ho scelto quella di ArduinoUNO immaginando sia sufficiente per iniziare, e poi la famigerata breadboard ed una manciata di componenti discreti, provo ad illustrare questi componenti iniziando dalla scheda di ArduinoUNO.
La scheda nasce per essere collegata ed utilizzata con altri dispositivi elettronici, pertanto si immagina di poter collegare direttamente alla scheda qualsivoglia dispositivo, ma in realtà non è proprio così in quanto ArduinoUNO ed ogni altra scheda funziona in bassissima tensione, siamo con ampiezze di 5 V, non sufficienti a pilotare un dispositivo elettronico in genere, altresì anche il carico che può supportare Arduino è molto piccolo, siamo nell’ordine dei 40 mA; pertanto per poter collegare un ipotetico carico alla nostra scheda e quindi poterlo gestire con essa si dovrà utilizzare un ulteriore dispositivo di “interfaccia” quale può essere ad esempio un “relè”, poi vedremo come, questi dispositivi che svolgono anche svariate funzioni anche di trasduttori vengono detti “shield”.
In ogni scheda di Arduino il cuore è il microcontrollore, che nel caso di ArduinoUNO risulta essere l’ATmega328 … della ATMEL.

ATmega328

Flash 32 Kbytes
RAM 2 Kbytes
Pin Count 28
Max. Operating Frequency 20 MHz
CPU 8-bit AVR
# of Touch Channels 16
Hardware QTouch Acquisition No
Max I/O Pins 26
Ext Interrupts 24
USB Interface No
USB Speed No

E per chi volesse approfondire il discorso ATmega328 qui trova le 650 pg di info … ..non è il mio caso, almeno per ora …  … quello che invece mi interessa è vedere le connessioni verso l’esterno della scheda ed in questo caso ArduinoUNO offre una serie di ingressi e uscite d’ora in poi I/O, di tipo digitale ed analogico.

Gli I/O digitali possono assumere tre stati ovvero alto, basso e ad alta impedenza (tri-state) e sono del tipo bidirezionali, ovvero possono passare dalla modalità di ingresso a quella di uscita.

digital I O

In modalità di uscita assumono il valore logico 0 e 1 queste due condizioni corrispondono ad un valore di tensione rispettivamente di 0 volt e di 5 volt, lo stato ad alta impedenza o tri-state, rende il pin “isolato” a qualsiasi circuito sia collegato, e si utilizza quando si hanno più dispositivi collegati con un filo comune, per scambiare informazioni, come in un bus dove chi non vuole ricevere-trasmettere si mette in modalità tri-state, questa condizione si realizza con delle resistenze di pull-up che si attivano via software, condizione riconosco non molto chiara per un neofita come me, magari al momento dovuto l’approfondirò ..  In ingresso un valore di tensione compreso fra 0 e 2,5 volt viene interpretato come uno stato logico 0, mentre dopo i 2,5 volt sino a 5 volt viene interpretato come stato logico 1, considerando sempre questi valori di tensione riferiti al GND che sta per ground ovvero massa.

Una nota importante è l’assorbimento massimo che si può richiedere ai pin di I/O che risulta essere di 40 mA massimo per un pin ed un’ampiezza complessiva di 150 mA per tutti i pin, volendo fare un esempio pratico si può pilotare direttamente un diodo led dal pin di Out della scheda, ma non un numero superiore a due altrimenti l’assorbimento eccessivo danneggerebbe la scheda stessa, di qui la necessità di utilizzare dei dispositivi di interfaccia per pilotare carichi.
Quindi riepilogando, un ingresso digitale assume due valori LOW (basso = GND ) ed HIGH (alto = + 5 V) .

Il segnale di ingresso analogico,

power analogic

nella scheda Arduino viene elaborato o meglio “campionato”, ovvero convertito in una sequenza di bit che esprimono l’ampiezza del segnale analogico in ingresso, questo processo viene svolto dal convertitore A/D,

segnali ana e digcampionamento

che misura la tensione in ingresso ogni volta che viene interrogato per poi convertirla in un valore binario. In sostanza il segnale analogico viene suddiviso in tanti livelli discreti (scalini) quanti sono i bit disponibili, nel caso di un convertitore ad 8 bit esprimerà 256 valori, se fosse a 16 bit ne esprimerà 65536, e se di 10 bit come nel caso di Arduino i valori che esprime il convertitore A/D sarà di 1020, ovviamente il numero di bit permette una risoluzione migliore della lettura, quindi in ArduinoUNO si possono leggere valori analogici compresi fra 0 e 5V con 1024 livelli discreti, pertanto l’ampiezza di un segnale di 2,5 V corrisponde a 512 mentre 128 corrisponde a 0,625 V è questa la risoluzione di ArduinoUNO. Altro parametro importante nel campionamento di un segnale analogico oltre la risoluzione, è la frequenza di campionamento, ovvero la frequenza con cui la lettura può essere ripetuta. In Arduino la frequenza massima di lettura è di 9 kHz e permette di campionare a 4,5 kHz.

L’uscita analogica PWM,

digital PWM

presente in ArduinoUNO utilizza la tecnica Pulse Width Modulation (modulazione dell’ampiezza di i mpulso) per produrre una tensione variabile 0-5 V a step discreti, ovvero un segnale che varia fra 0 e 5 V rispettivamente livello 0 ed 1. Un segnale PWM con Duty Cycle al 10 % fornisce 0,5 V, mentre con il 50% fornisce 2,5 V in ArduinoUNO il PWM è a 8 bit per cui fornisce 256 livelli.

Rispolvero un buon vecchio testo di Elettronica per provare a chiarirmi, il concetto della tecnica PWM, e trovo che questa sia una tecnica digitale per ottenere dei segnali analogici, ottenendo una tensione pulsante a frequenza costante,e variando appunto il duty cycle cioè il rapporto tra quando un segnale digitale è alto e il periodo complessivo del segnale, facendo così variare il segnale nel tempo, in definitiva è una tecnica per simulare una variazione di tensione, a step discreti fra i valori 0 e 5 V.

duty cycleIl duty cycle di un onda (quadra o rettangolare ) è il rapporto tra la durata (espressa in secondi) del segnale quando è “alto” ( cioè stato 1) ed il periodo totale del segnale, è un numero che esprime quanto sia la parte di periodo in cui il segnale è alto.

Non ultimo e non meno importante è la porta mini USB di connessione alla porta USB del PC per la programmazione, attraverso il cavo di comunicazione in genere in dotazione con ogni scheda Arduino…

cavetto per pccon questo cavo si fornisce oltre la connessione di comunicazione verso e da la scheda, anche l’alimentazione necessaria al funzionamento della scheda, anche se è consigliabile utilizzare un’alimentatore esterno attraverso la connessione predisposta allo scopo, ricordando che Arduino accetta come tensioen esterna una tensione continua compresa fra i 7 ed i 12 V, meglio tenersi sui 9V ….

connessio alim ext

Ora visto quali siano i pin di Arduino per il collegamento con l’esterno di mezzo c’è un ulteriore componente che consente di collegare ArduinoUNO ai vari componenti e senza l’utilizzo di un saldatore, e questi è la breadboard

bread board 1Sostanzialmente non è nulla di particolare, si tratta di un supporto isolante con dei fori predisposti su delle colonne e delle file da utilizzare per collegare opportunamente i dispositivi che realizzano il nostro circuito. Dal lato lungo, si osservano due colonne sui lati sinistro e destro marcate da due righe una rossa con il segno + ed una blu con il segno -, queste rappresentano le colonne dove inserire i collegamenti di alimentazione, i fori sono collegati in comune in verticale a gruppi di cinque; mentre le due colonne centrali ospitano (in questo caso) 30 file siglate in a-b-c-d-e, ed f-g-h-i-j, ogni fila risulta collegata in orizzontale in comune…forse un immagine può chiarire meglio ..

descrizione breadboard

Per il collegamento fra i dispositivi e la breadboard o per unire tratti di circuito nella bradboard si utilizzano dei conduttori sottili e rigidi , tipo quelli del doppino telefonico per interderci.
Gli altri componenti necessari alle prime realizzazioni sono i noti componenti discreti dei circuiti elettronici, quali appunto i resistori, i condensatori, gli induttori per i quali rimando a mie precedenti esposizioni su questi componenti, cliccando sulle scritte si accede all’esposizione:
resistori fissi
resistori variabili
condensatori
induttori
sui componenti semiconduttori , quali il diodo led, il diodo ed il transistor rimando al momento utile, o aa eventuali mie esposizioni in proposito …
Dovrei aver visto più o meno tutto, le funzioni degli specifici pin le vedrò man mano che le incontrerò nelle realizzazioni (se riesco …) ma se ho dimenticato qualcosa (ed è certo …) fatemelo notare che aggiornerò …. ci rileggiamo per il prossimo passo…il software …

Continua ……

Print Friendly, PDF & Email
(Visited 1.345 times, 1 visits today)
No votes yet.
Please wait...
Precedente Arduino … ci provo anch’io … Successivo Il banco di lavoro, per Arduino...

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.