Ago 172011
 

Con questo articolo comincia una nuova serie dedicata all’elettronica, in particolare ci dedicheremo ala piattaforma Arduino ed i vari ambiti applicativi in cui può essere utilizzato. L’intento di questi articoli è quello di far avvicinare al mondo dell’elettronica chi vorrebbe costruirsi in casa circuiti anche di una certa complessità pur avendo scarse nozioni in materia. Vedremo che con poche conoscenze di base è possibile riuscire nell’impresa. Cominciamo allora con questo articolo molto soft, un’introduzione volutamente poco tecnica, discorsiva, giusto per stuzzicare quel pizzico di curiosità che ci serve per proseguire con gli articoli via via più complessi.

Arduino

Ma cos’è arduino? Arduino è una scheda di prototipizzazione elettronica basata su un hardware e software semplice da usare. Si, si, l’ho copiata dal sito ufficiale, ma detta così a chi non conosce l’elettronica dice ben poco. Cercando di semplificare al massimo, Arduino è una famiglia di piccole schedine elettroniche, peraltro progettate in Italia, che contengono alcuni componenti basilari che messi insieme creano un circuito con ingressi ed uscite programmabili che possiamo utilizzare per interfacciarci a qualsiasi cosa vogliamo. Facciamo un esempio. Vogliamo realizzare un semplice circuito che accenda una luce al calar delle tenebre. Con Arduino non dobbiamo far altro che collegare un “sensore di luce” ad un ingresso analogico, collegare un rele’ ad un’uscita digitale, scrivere poche righe di programma da “caricare” nel cervello di Arduino ed il gioco è fatto. Se avete tutto il materiale in casa, nel giro di pochi minuti avrete fatto il tutto. Il bello è che poi potete variare il programma a vostro piacimento permettendo perciò di modificare in maniera semplice il funzionamento del vostro circuito, ad esempio si potrebbe aggiungere un pulsante per forzare l’accensione o spegnimento della lampada, fare in modo che la luce si spenga dopo un tot di tempo, etc. Questo era un esempio abbastanza semplice, giusto per cominciare a prendere confidenza con Arduino. Con Arduino potete collegare sensori di ogni tipo, motori, schede ethernet, interfacce xbee a quant’altro vi venga in mente. Dicevo che Arduino è una famiglia di schede, esiste infatti la più comune Arduino UNO, la più vecchia 2009, la mini, la mega, la nano e tante altre fra cui alcune “modificate”. Eh già, perchè tutto l’hardware è open-source per cui chiunque può creare delle varianti a partire dall’hardware originale, l’unica regola da seguire è cambiarne il nome, ossia è vietato utilizzare il nome Arduino per schede modificate. In rete potete trovare decine e decine di nuove schede basate sul progetto originale.

Nell’immagine qui a lato vediamo il lato frontale di una scheda arduino UNO, quella che va’ a sostituire la gloriosa 2009 e che attualmente è la più utilizzata. Prima di tutto vorrei farvi notare le dimensioni. Questa che è la versione standard ha il lato più lungo inferiore ai 7 centimetri e quello corto poco superiore ai 5. Ci sono schede di maggiori dimensioni con caratteristiche aggiuntive, ed altre miniaturizzate notevolmente più piccole. Una scheda arduino UNO costa, nel momento in cui vi scrivo, intorno ai 25-27 euro iva inclusa.

Lato sinistro: a sinistra troviamo due connettori, quello in alto è una porta USB utilizzata per programmare il “cervello” di Arduino e comunicare con il software in esecuzione su di esso. La scheda può essere alimentata direttamente da questo connettore per cui con un semplice cavo USB possiamo alimentare la scheda, programmarla e comunicare con il software. In basso c’è un connettore di alimentazione da 2.1mm con centro positivo che possiamo utilizzare per alimentare la scheda. Se inseriamo il jack in questo connettore l’alimentazione passa in modo automatico da quella USB a quella esterna. Possono essere usati tensioni di alimentazione comprese fra 6 e 20V ma sono consigliate fra 7 e 12.

In alto troviamo tutta una serie di “buchetti” che ci permettono l’interfacciamento con la scheda.

AREF: è la tensione di riferimento per le misurazioni analogiche, ma per ora non ci interessa, approfondiremo più avanti.

GND: massa utilizzabile con i pin digitali.

0-13: sono 14 pin programmabili individualmente sia come ingressi che come uscite digitali. Alcuni presentano funzioni particolari di cui discuteremo più avanti. Possono supportare sino a 40mA di corrente.

Sul lato inferiore troviamo altri pin che corrispondono a:

Reset: Approfondiremo più avanti.

3.3V: Uscita a 3.3V utilizzabile per alimentare dispositivi esterni (max 50mA).

5V: Uscita a 5V utilizzabile per alimentare dispositivi esterni

gnd: due pin collegati a massa

Vin: permette di alimentare la scheda sfruttando questo pin piuttosto che il jack apposito o la porta USB.

A0-A5: sono gli ingressi analogici della scheda. Alcuni di essi sono utilizzabili per funzioni particolari ma ne parleremo in futuro.

A grandi linee abbiamo visto le principali parti della scheda. Vi faccio notare anche quel grosso chip in basso a destra (ATMega328) che è il cervello vero e proprio della scheda, quello su cui viene caricato il software e che provvede a leggere gli ingressi e settare le uscite in base alle nostre esigenze. E’ un processore che opera a 16MHz, ma vedremo più in dettaglio le sue caratteristiche al bisogno.

BreadBoard

Per fare i nostri esperimenti abbiamo bisogno di alcuni supporti che ci permettano di collegare in modo rapido i nostri componenti senza perdere tempo in saldature varie. Per fare ciò esistono le BreadBoard che sono delle tavole piene di piccoli forellini come nella figura qui a lato. Oltre alla breadbord vera e propria è utile avere i ponti conduttivi di varie lunghezze (vedi figura) che non sono altro che spezzoni metallici flessibili rivestiti da plastiche colorate, che permettono di creare dei “ponti” fra un punto e l’altro della breadbord stessa. Tutte le BreadBoard sono accomunate dallo stesso funzionamento. Come potete vedere nella figura qui sotto i sono delle file laterali di buchi talora, ma non sempre, contrassegnate da una linea rossa ed una blu, che conducono lungo il senso verticale, e altre nelle porzioni centrali che conducono in senso orizzontale. Nella figura qui vicina ho cercato di esemplificare il concetto: con i collegamenti blu e rossi si vede il senso di conduzione delle bande laterali, mentre nei restanti colori giallo, nero, bianco e arancio, si vende il senso di conduzione delle porzioni centrali. Si noti che le porzioni di destra NON comunicano con quelle di sinistra.Nella prossima immagine vi ho riportato un esempio è è volutamente più complicato del necessario per cercare di far meglio comprendere il funzionamento della breadboard. Vediamo sul lato destro la presenza di due batterie che si collegano alle righe poste sotto che normalmente vengono usate proprio per fornire l’alimentazione. Da qui tramite alcuni ponticelli metallici viene portata l’alimentazione al LED che si trova nella metà superiore della breadbord. Spero che l’esempio sia chiarificatore, in caso contrario usate pure i commenti per chiedere ulteriori delucidazioni.  NB: Non fatelo dal vero, è solo per dimostrare l’utilizzo della BreadBoard, se lo faceste realmente il LED si brucerebbe istantaneamente.

Con questo ultimo esempio termina il primo articolo su Arduino. Con la prossima puntata vedremo come preparare l’ambiente di programmazione con il primo classico esempio, il lampeggio del led interno.

  2 Responses to “Arduino: primi passi per progettare nuovi circuiti elettronici”

  1.  

    Come lavorare, in detaglio, con il software.
    Mi piace come è iniziato il corso, se si può cosi difinire.
    Grazie per il vostro impegno.
    Leonardo

    •  

      Ti ringranzio. Come vedi ci sono, per ora, solo due articoli, stavo valutando il traffico e gli eventuali commenti per capire se è un argomento di interesse su cui andare avanti, cosa che credo averrà nei prossimi mesi.
      Grazie per il commento.

      Stefano