Gen 232014
 

Non tanto tempo fa un mio amico m’ha scritto un messaggio via Facebook in riferimento ad Arduino dicendomi qualcosa del tipo: “Cosa me ne faccio di una scheda da 100€  che fa lampeggiare un led?”.  Questo è lo spunto per scrivere un breve articolo per cercare di spiegare a chi non l’ha ancora capito, cos’è Arduino. Più sotto vi ho riportato una foto (fonte: http://www.robotshop.com/blog/en/arduino-robotics-projects-3666): come vedete Arduino è una famiglia di schede elettroniche; quindi la prima cosa da sapere è che non si tratta di una sola scheda, ma ce ne sono tante, con caratteristiche tecniche diverse, prezzi diversi e modalità di funzionamento talora differenti. Ciò che le accomuna è l’ambiente software da cui vengono programmate e con la quale sono compatibili. Quindi, a meno di non usare funzionalità specifiche di una certa scheda o di programmare in modo diretto il loro “cervello”, il medesimo software scritto nell’ambiente di sviluppo funzionerà in tutta la famiglia di schede. La seconda cosa da dire è che le schede più usate, ossia la Uno e la Leonardo, non costano 100€ ma intorno ai 25€, e fate attenzione che ci sono un sacco di cloni cinesi di scarsa qualità. Altra cosa da sapere è che hardware e software sono opensource per cui chiunque può costruirsi la sua scheda personale se ne ha voglia, capacità e necessità.

La terza cosa importante che tutti mi chiedono sempre è “a cosa serve ?”. Questa è in assoluto la domanda più difficile a cui rispondere ma lo dico soprattutto per il mio amico….”no non serve solo a far lampeggiare il led interno”. La risposta è difficile perché non ha una sua funzione specifica, siamo noi a dover decidere cosa deve fare. 

arduino-microcontrollers

Le varie schede Arduino hanno infatti un loro cervello, un chip che noi possiamo programmare. E’ un po’ come il vostro computer: non è che ha una sua funzione specifica, siete voi a decidere se usarlo per giocare, per scrivere email, per fare fotoritocco, programmare o quel che più vi interessa. Arduino è una specie di microcomputer, molto meno potente e sofisticato certamente più difficile da imparare ad usare ma siete voi a decidere cosa deve fare. A differenza di un computer vero e proprio qui non avete tastiera, mouse, monitor, stampante e quant’altro, avete solo tanti buchetti detti pin, a cui potete collegare dei fili. Questi pin possono avere due funzioni base, ossia quella di ingresso o quella di uscita. Per spiegare in modo davvero elementare, nelle uscite Arduino deciderà quando e se far passare una tensione, per cui di fatto in un dato istante potrà o meno esserci una piccola tensione, che può essere a 5VC come nella maggior parte delle schede o a 3.3V in una minoranza. Gli ingressi invece leggono in ingresso se noi gli diamo o meno una tensione. La maggior parte sono pin digitali che quindi leggono valori del tipo “si c’è tensione / no non c’è tensione”. Altri invece sono pin analogici che possono leggere il valore di quella tensione, quindi possono discriminare se sono applicati 2volt piuttosto che 3,5V. 

Ok tutto qui? Si!! Detta proprio ai minimi termini abbiamo pin in ingresso o in uscita, su ognuno di essi può esserci o meno una tensione che viene inviata o letta da Arduino. Ora le nubi più cupe vi avranno avvolto e vi chiederete: cosa me ne faccio di un coso con dei buchetti da cui entra o esce una piccola tensione? Il solito amico mi diceva “mi piacerebbe collegarlo al mio impianto fotovoltaico per vedere quanto produce”. Ok, ma come facciamo?. In un prossimo futuro mi sono ripromesso di scrivere un articolo apposta ma intanto vediamo a spanne come si potrebbe fare. Prima cosa ci vorrà un “qualcosa” che “vede” quanta corrente viene prodotta dai pannelli fotovoltaici. Quel “qualcosa” nello specifico si chiama sensore, ci serve infatti un sensore di corrente. Ora non approfondiamo troppo, ma diciamo che mettendo il sensore attorno al cavo che arriva dai pannelli, questo produce una piccola tensione che è proporzionale alla corrente che attraversa il cavo. Se la corrente prodotta dai pannelli fotovoltaici aumenta, la tensione prodotta dal sensore aumenta in modo proporzionale. Se diciamo ad Arduino di leggere quella tensione abbiamo già creato un sistema in grado di leggere la produzione di corrente momento per momento. Semplice vero? Per vedere invece questo valore abbiamo varie strade. Possiamo ad esempio collegare un display ad Arduino per visualizzare direttamente le informazioni sulla scheda, oppure possiamo aggiungere una  scheda che ne permette il collegamento ad una rete Ethernet e ci guardiamo i valori comodamente dal nostro PC. In realtà l’unico limite è la nostra fantasia. Potremmo ad esempio mandare i valori letti direttamente “su internet” e da qui creare dei grafici per monitorizzare i consumi nel tempo. Potremmo aggiungere dei sensori di temperatura sui pannelli per vedere la correlazione fra temperatura e corrente prodotta per calcolare la perdita di efficienza in base all’incremento della temperatura. 

Non mi insultate se insisto, ma Arduino serve a realizzare una vostra idea che non è detto esista già, non ha una sua funzione specifica. Potete creare una serratura elettronica, fare un impianto di irrigazione automatizzato, creare un impianto antifurto, replicare un telecomando, potete collegarvi alla centralina della vostra auto, potete fare un contatore Geiger, creare un esposimetro, un sistema che controlla gli scatti della vostra Reflex, etc, etc. Ovviamente se non capite proprio nulla di elettronica dovrete basarvi su progetti fatti da altri e copiarli. In questo caso sarà più difficile adattarli alle vostre specifiche esigenze, ma diciamoci la verità, in rete trovate veramente di tutto. Le uniche cose che però dovete assolutamente imparare a fare è capire come si leggono gli schemi elettronici, capire come comprare i componenti ed imparare a “montarli nel modo giusto”, ci sono infatti componenti che possono essere messi indifferentemente in un verso o nell’altro ma ve ne sono altri “polarizzati”, in cui non possiamo cambiare il verso di come  li montiamo se non vogliamo vederli svanire in una nuvola di fumo nero.

E il famoso led che lampeggia? Il led interno di Arduino ha una funzione ben specifica. Siccome è una scheda elettronica e non sempre ci è facile capire cosa stia facendo, possiamo usare quel led per segnalare qualcosa a noi poveri esseri umani, giusto per fare un esempio potremmo fare in modo che sia acceso se tutto va bene o farlo lampeggiare in caso di errore, giusto per fare degli esempi pratici. Una cosa però è sicura: far lampeggiare il led interno non è lo scopo per cui è nato Arduino, è generalmente l’esempio più banale che viene proposto pressoché in ogni tutorial per il semplice motivo che non necessita di alcun componente esterno ed è quindi realizzabile da chiunque abbia un computer, Arduino ed un cavo USB per collegarli.

Se qualcuno è interessato potrei scrivere qualche articolo terra-terra per spiegare come montare i riconoscere, comprare e montare i componenti, come interpretare gli schemi elettronici e magari altre cose che non risultino chiare ai principianti. 

Spero di aver stuzzicato la curiosità di chi non conosce ancora il meraviglioso mondo di Arduino e dell’elettronica in generale, se avete domande non fatevi problemi, rispondo a tutti nei limiti del mio tempo libero, non abbiate paura di fare “domande stupide”, ricordatevi che sono un Medico Radiologo, l’elettronica è solo un hobby cominciato quasi per caso, leggendo i blog degli altri e di domande cosiddette stupide me ne sono fatte tante anch’io.