L'ingegnosita' ha permesso di realizzare una scheda elettronica usata in tutto il mondo, programmabile, i cui schemi sono diffusi gratuitamente senza dover pagare un brevetto. Interagendo con Linux la scheda Arduino permette di costruire le vostre invenzioni, tra cui robot, droni volanti, sensori interagenti, macchine intercomunicanti via Internet ed altro ancora con pochi soldi. Qui sotto vi illustriamo meglio questa meraviglia della semplicita' e dell'efficienza.

 

 

 

Come nasce la scheda Arduino.

Massimo Banzi faceva l'insegnante all'Interaction Design Institute di Ivrea, e i suoi studenti si lamentavano di non riuscire a trovare un microcontrollere potente ma economico per gestire i loro progetti artistici robotizzati. Nell'inverno del 2005, Banzi stava discutendo il problema con David Cuartielles, un ingegnere spagnolo specializzato in microchip, che in quel periodo era ricercatore ospite presso la scuola. I due decisero di creare la loro scheda e chiamarono David Mellis, uno degli studenti di Banzi, per scriverne il linguaggio di programmazione. In soli due giorni, Mellis scrisse il codice. Nei tre giorni successivi la scheda era completata. La chiamarono Arduino, dal nome di un pub che si trovava nelle vicinanze, e fra gli studenti ha avuto un successo immediato. Quasi tutti, anche se non sapevano niente di programmazione di computer, sono riusciti a utilizzare l'Arduino per fare qualcosa di bello, come rispondere a dei sensori, far lampeggiare delle luci o controllare dei motori. Poi, Banzi, Cuartielles e Mellis, insieme a Gianluca Martino, hanno messo online gli schemi elettronici e hanno investito circa 3mila euro per produrre il primo lotto di schede.

«Ne abbiamo fatte 200 copie, e la mia scuola ne ha acquistate 50», dice Banzi. «Non avevamo nessuna idea di come avremmo venduto le altre 150. Pensavamo che non ci saremmo riusciti» Ma la voce si è diffusa fra i designer in tutto il mondo e pochi mesi dopo sono giunti ordini per altre centinaia di unità Arduino.

Così, gli inventori di Arduino hanno deciso di costituire una società, ma con una particolarità, cioè i progetti sarebbero rimasti open source. Poiché la legge sul copyright, che regola il software open source, non è applicabile all'hardware, hanno deciso di utilizzare una licenza Creative Commons chiamata Attribution Share Alike. Chiunque è autorizzato a produrre copie della scheda, a riprogettarla, o addirittura a vendere schede che ne copiano il progetto. Non è necessario pagare nessun diritto al gruppo Arduino e nemmeno chiedere il permesso. Tuttavia, se il progetto di riferimento viene ripubblicato, occorre dare il riconoscimento al gruppo Arduino originale. E se la scheda viene modificata o cambiata, il progetto deve utilizzare la stessa licenza Creative Commons o una simile, per fare in modo che le nuove versioni della scheda Arduino siano altrettanto libere e aperte. L'unico elemento di proprietà intellettuale che il gruppo si è riservato è stato il nome, che è diventato il suo marchio di fabbrica. Se qualcuno vuole vendere delle schede utilizzando questo nome, deve pagare una modesta commissione ad Arduino. In modo che il marchio non venga danneggiato da copie di scarsa qualità, dicono Cuartielles e Banzi.

I vari membri del gruppo avevano motivazioni leggermente diverse per rendere aperto il progetto del loro apparecchio. Cuartielles si descrive come uno studioso di sinistra, meno interessato a guadagnare soldi che a ispirare creatività e a fare in modo che la sua invenzione venga utilizzata ad ampio raggio. «Quando, recentemente, ho tenuto una conferenza a Taiwan, ho detto: "Per favore, copiatelo!"», racconta con un largo sorriso. Banzi, al contrario, è più simile a uno scaltro uomo d'affari; si è quasi completamente ritirato dall'insegnamento e gestisce Tinker.it, una società di progettazione hi-tech. Ma aveva intuito che, se Arduino fosse stato aperto, poteva ispirare più interesse e ricevere più pubblicità gratuita di quanta ne avrebbe potuto ottenere un pezzo di hardware chiuso. I geek entusiasti lo avrebbero hackerato e, come i sostenitori di Linux, avrebbero cercato il gruppo Arduino per offrire dei miglioramenti. Loro avrebbero tratto vantaggio da tutto questo lavoro gratuito, e ogni generazione della scheda sarebbe migliorata.

Più o meno, è quanto è successo. In pochi mesi, i geek hanno suggerito modifiche al cablaggio e hanno perfezionato il linguaggio di programmazione. Un distributore si è offerto di mettere in commercio le schede. Nel 2006, Arduino aveva venduto 5mila unità; l'anno successivo 30mila. Gli appassionati le utilizzano per creare robot, per far ridurre i consumi al motore della loro automobile e per costruire modellini di aeroplani senza pilota.

Fonte: http://polinienrico.altervista.org

 

 

 

Arduino è una schedina elettronica con un microcontrollore e circuiteria di contorno, utile per creare rapidamente prototipi e per scopi hobbistici e didattici. Con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli dispositivi come controllori di luci, di velocità per motori, sensori di luce, temperatura e umidità e molti altri progetti che utilizzano sensori, attuatori e comunicazione con altri dispositivi. Arduino è fornito con un semplice ambiente di sviluppo integrato per la programmazione. Tutto il software a corredo di Arduino è libero, e gli schemi circuitali sono distribuiti come hardware libero. Dopo la sua nomina a CEO di Intel Brian Krzanich decide che la società produrrà schede Arduino dotate di processore Intel. Per la prima volta un colosso americano decide di avvicinarsi al mondo dell'open hardware.

 

Arduino Leonardo.

 

L'architettura.
Arduino comprende una piattaforma hardware per il physical computing sviluppata presso l'Interaction Design Institute, un istituto di formazione post-dottorale con sede a Ivrea, fondato da Olivetti e Telecom Italia. Il nome della scheda deriva da quello di un bar di Ivrea (che richiama a sua volta il nome di Arduino d'Ivrea, Re d'Italia nel 1002) frequentato da alcuni dei fondatori del progetto. Questa si basa su un circuito stampato che integra un microcontrollore con pin connessi alle porte I/O, un regolatore di tensione e quando necessario un'interfaccia USB che permette la comunicazione con il computer. A questo hardware viene affiancato un ambiente di sviluppo integrato (IDE) multipiattaforma (per Linux, Apple Macintosh e Windows). Questo software permette anche ai novizi di scrivere programmi con un linguaggio semplice e intuitivo derivato da C e C++ chiamato Wiring, liberamente scaricabile e modificabile. Arduino può essere utilizzato per lo sviluppo di oggetti interattivi stand-alone ma può anche interagire, tramite collegamento, con software residenti su computer, come Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider, Vvvv. La piattaforma hardware Arduino è spesso distribuita agli hobbisti in versione pre-assemblata, acquistabile in internet o in negozi specializzati. La particolarità del progetto è che le informazioni sull'hardware e soprattutto i progetti sono disponibili per chiunque: si tratta quindi di un hardware open source, distribuito nei termini della licenza Creative Commons Attribution-ShareAlike 2.5. In questo modo, chi lo desideri può legalmente auto-costruirsi un clone di Arduino o derivarne una versione modificata, scaricando gratuitamente lo schema elettrico e l'elenco dei componenti elettronici necessari. Questa possibilità ha consentito lo sviluppo di prodotti Arduino compatibili da parte di piccole e medie aziende in tutto il mondo, e infatti oggi è possibile scegliere tra un'enorme quantità di schede Arduino compatibili. Ciò che accomuna questi prodotti inerenti elettronica sperimentale e sviluppo è il codice sorgente per l'ambiente di sviluppo integrato e la libreria residente che sono resi disponibili, e concessi in uso, secondo i termini legali di una licenza libera, GPLv2. Grazie alla base software comune, ideata dai creatori del progetto, per la comunità Arduino è stato possibile sviluppare programmi per connettere a questo hardware più o meno qualsiasi oggetto elettronico, computer, sensori, display o attuatori. Dopo anni di sperimentazione è oggi possibile fruire di un database di informazioni vastissimo. Il team di Arduino è composto da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, e David Mellis. Il progetto prese avvio in Italia a Ivrea nel 2005, con lo scopo di rendere disponibile, a progetti di Interaction design realizzati da studenti, un dispositivo per il controllo che fosse più economico rispetto ai sistemi di prototipazione allora disponibili. I progettisti riuscirono a creare una piattaforma di semplice utilizzo ma che, al tempo stesso, permetteva una significativa riduzione dei costi rispetto ad altri prodotti disponibili sul mercato. A ottobre 2008 in tutto il mondo erano già stati venduti più di 50.000 esemplari di Arduino.

 

Arduino Duemilanove con i connettori di I/O digitale (in alto) e analogico (in basso) collegati a una breadboard.

 

Hardware.
L'hardware originale Arduino è interamente realizzato in Italia dalla Smart Projects, mentre i cloni della scheda possono essere realizzati da chiunque in qualsiasi parte del mondo. Una scheda Arduino tipica consiste in un microcontrollore a 8-bit AVR prodotto dalla Atmel, con l'aggiunta di componenti complementari per facilitarne l'incorporazione in altri circuiti. In queste schede sono usati chip della serie megaAVR - nello specifico i modelli ATmega8, ATmega168, ATmega328, ATmega1280 e ATmega2560. Molte schede includono un regolatore lineare di tensione a 5 volt e un oscillatore a cristallo a 16 MHz, sebbene alcune implementazioni, come ad esempio la piccola LilyPad, abbiano un clock di 8 MHz e facciano a meno dello stabilizzatore di tensione.

 

L'Arduino Uno.



La programmazione del microcontroller.
Inoltre, in alcuni casi, il microcontroller della scheda è pre-programmato con un bootloader che semplifica il caricamento dei programmi sulla memoria flash incorporata nel chip. A livello concettuale, tutte le schede sono programmate attraverso una porta seriale RS-232, ma il modo in cui questa funzionalità è implementata nell'hardware varia da versione a versione. Le schede seriali Arduino contengono un semplice circuito inverter che permette la conversione tra il livello della RS-232 e il livello dei segnali TTL. Le versioni attuali di Arduino sono gestite via USB: la versione Uno, utilizza un microcontrollore Atmega8U2 programmato come convertitore USB-seriale mentre le precedenti versioni Diecimila e Duemilanove usavano chip adattatori USB-seriale, come gli FT232 di FTDI. Alcune varianti, come la Arduino Mini e la versione non ufficiale Boarduino, usano una scheda o un cavo adattatore USB-seriale staccabile.

 

L'Arduino Diecimila.



Funzionalità di input/output.
Per implementare il comportamento interattivo, Arduino è fornita di funzionalità di input/output (I/O), grazie alle quali essa riceve i segnali raccolti da sensori esterni. In base a tali valori, il comportamento della scheda è gestito dal microcontroller, in base alle decisioni determinate dal particolare programma in esecuzione in quel momento sulla scheda. L'interazione con l'esterno avviene attraverso attuatori pilotati dal programma attraverso i canali di output in dotazione.

 

Retro della scheda Arduino Duemilanove.



Connettori I/O.
A tale scopo, Arduino è dotata di molti dei connettori di input/output per microcontroller in uso su altri circuiti. Tutti i pin di I/O sono collocati sulla parte superiore della scheda, mediante connettori femmina da 0,1". Inoltre, sono disponibili commercialmente molte schede applicative plug-in, note come "shields". Le schede Barebones e Boarduino, due cloni compatibili con la Arduino, sono dotate di connettori maschio sul lato inferiore del circuito in modo da poter essere connesse a una breadboard senza necessità di effettuare saldature.

 

Versione flessibile di Arduino LilyPad, per applicazioni su tessuti.



I/O digitale.
La Arduino Uno, ad esempio, che ha soppiantato la Duemilanove, offre 14 connettori per l'I/O digitale (numerati da 0 a 13). La direzione di funzionamento, input o output, è decisa dallo sketch programmato sull'IDE. Sei dei canali I/O possono produrre segnali Pulse-width modulation (PWM). Attraverso i segnali PWM è possibile, ad esempio, regolare l'intensità di luminosità di un LED o la velocità di rotazione di un motorino elettrico. L'hardware di tre dei pin di I/O (9, 10 e 11) implementa la possibilità di gestirli direttamente attraverso la funzione analogWrite(), che permette di controllare la PWM del segnale in uscita in maniera efficiente, senza dover eseguire linee di codice appositamente predisposte. La funzione accetta due parametri, il primo dei quali è il pin pilotato mentre il secondo rappresenta l'intensità della modulazione (espressa su una scala da 0 a 255): così, ad esempio, analogWrite(9, 128) attiverà un led collegato al pin 9 al 50% della sua luminosità.

I/O analogico.
Sempre sulla Uno, sono presenti altri 6 connettori specificamente dedicati a ingressi di segnali analogici (collegati quindi ad una ADC), cioè valori di tensione letti da sensori esterni i cui valori, fino a un massimo di 5 Volt, sono convertiti in 1024 livelli discreti (da 0 a 1023). Questi 6 connettori possono essere riprogrammati (sempre dal codice dello sketch sull'IDE) per funzionare come normali entrate/uscite digitali.

Alimentazione elettrica.
L'alimentazione della scheda può avvenire attraverso la porta USB del computer, o attraverso la maggior parte degli alimentatori USB, oppure attraverso un adattatore in corrente continua a 9 volt, con connettore cilindrico (diametro 2,1 mm e positivo centrale). In quest'ultimo caso, la scheda commuta automaticamente sull'alimentazione esterna quando il connettore dell'alimentatore esterno è inserito, mentre commuta autonomamente sull'alimentazione USB in caso di disconnessione del connettore. La Arduino-NG e la Arduino Diecimila, versioni meno recenti, necessitano di essere commutate a mano, azionando uno switch ubicato tra la porta USB e l'ingresso dell'alimentazione esterna.

Schede Arduino compatibili.
L'enorme quantità e l'estrema variabilità d'uso e di componenti rendono difficile definire univocamente una scheda Arduino compatibile. Solitamente, contiene un microcontroller a 8 16 o 32 bit AVR, PIC o ARM, con clock variabile tra gli 1 e 96 MHz. Molte schede incorporano componenti aggiuntivi pensati per i più svariati utilizzi.

La programmazione del microcontrollore.
La programmazione può avvenire tramite il protocollo ISP e un'altra scheda Arduino utilizzata come programmatore, tramite la usb (in alcuni casi il microcontrollore contiene usb hardware) oppure grazie a un programmatore esterno dedicato.

Software.
L'ambiente di sviluppo integrato (IDE) di Arduino è un'applicazione multipiattaforma scritta in Java, ed è derivata dall'IDE creato per il linguaggio di programmazione Processing e per il progetto Wiring. È concepita per iniziare alla programmazione artisti e altri neofiti, che siano a digiuno di pratica nello sviluppo di software. Per permettere la stesura del codice sorgente, l'IDE include un editore di testo dotato inoltre di alcune particolarità, come il syntax highlighting, il controllo delle parentesi, e l'indentazione automatica. L'editor è inoltre in grado di compilare e lanciare il programma eseguibile in una sola passata e con un solo click. In genere non vi è bisogno di creare dei Makefile o far girare programmi dalla riga di comando.

 

Screenshot dell'IDE di Arduino, che mostra un semplice codice di esempio.



Derivati.
Benché gli schemi hardware e il sorgente software siano resi disponibili con licenze copyleft, il nome Arduino e il logo sono marchi registrati e possono essere usati solo dietro permesso. Il documento che esprime la politica d'uso del nome "Arduino" mette l'accento su come il progetto sia aperto a incorporare lavori altrui nel prodotto ufficiale. Quale conseguenza di queste convenzioni sulla protezione del nome, un gruppo di utilizzatori ha effettuato un "fork" (nel senso esteso del termine) dell'Arduino Diecimila, distribuendo una scheda equivalente chiamata "Freeduino"; il nome volutamente non è registrato ed è quindi liberamente utilizzabile.

Fonte: http://it.wikipedia.org

 

In occasione della Maker Faire, evento in corso di svolgimento a Roma che riunisce inventori e creativi di tutta Europa, è il palcoscenico che Intel ha scelto per il lancio di una scheda, battezzata "Galileo", che consente di elaborare prototipi hardware.

Grazie alla presenza di un processore Quark X1000 (CPU Pentium single-core) ed alle svariate interfacce supportate (PCI Express, USB - configurabile in modalità "host" o "device" -, Ethernet, SD, ACPI, UART, seriali RS-232, porta JTAG e flash NOR a 8 MB programmabile), Galileo si propone come uno strumento in grado di contribuire allo sviluppo dell' "Internet delle cose" ossia di consentire la messa a punto di oggetti interattivi, capaci di reagire a determinati eventi e di comunicare attraverso la Rete.

L'annuncio è stato reso da Brian Krzanich, il nuovo CEO di Intel che, per l'appunto, vanta un passato di inventore. Galileo è frutto di una collaborazione con Arduino, la piattaforma opensource di prototipazione elettronica che è stata realizzata in Italia e più precisamente presso l'Interaction Design Institute, istituto di formazione post-dottorale con sede a Ivrea fondato da Telecom Italia ed Olivetti.

Intel Galileo sarà quindi pienamente compatibile con Arduino tanto che sarà possibile il riutilizzo dei progetti (sketches) già sviluppati per la piattaforma italiana. La nuova scheda porta con sé l'hardware Intel che va quindi a spostarsi con le librerie software di Arduino (operanti su kernel Linux).

Stando a quanto rivelato da Intel, Galileo dovrebbe essere messa in commercio a partire da fine novembre. Viste le sue caratteristiche, utilissime anche negli ambienti didattici e formativi, Intel ha in programma di distribuire, nei prossimi 18 mesi, 50.000 campioni della scheda a 1.000 università di tutto il mondo.

Fonte: http://www.ilsoftware.it

 

 

Microchip.jpg