Arduino – la piattaforma elettronica Opensource

Arduino è una piattaforma elettronica opensource basata su un sistema semplificato di gestione hardware e software.

Ma cosa vuol dire tutto questo esattamente? Opensource significa che gli schemi che descrivono la piattaforma sono liberamente consultabili e replicabili. Chiunque, infatti, può creare una scheda Arduino per conto proprio comprando i giusti componenti elettronici ed assemblandoli. Ma che significa in realtà Arduino?

Il nome richiama quello del bar di Ivrea dove si riunivano i fondatori del progetto che si rifà al Re d’Italia Arduino d’Ivrea attorno all’anno mille. Questi signori, stufi di affrontare ogni volta mille problematiche nella prototipazione e lo sviluppo di hardware e di conformarsi a mille standard e sistemi di programmazione differenti si mettono e decidono di creare una nuova scheda elettronica estremamente versatile, scelgono di rilasciare gli schematici in maniera libera in modo che chiunque potesse eventualmente replicarla. Nel farlo scelgono di dotarla di un linguaggio di programmazione che si rifà al già molto linguaggio di programmazione C . Un linguaggio di alto livello così diffuso che avrebbe reso la piattaforma da subito utilizzabile all’enorme pubblico di smanettoni, programmatori e amanti dellatecnologia fino a quel momento penalizzati dall’elevata difficoltà di programmazione dei sistemi embedded per varie cause tra cui proprio la molteplicità di linguaggi con cui tali dispositivi potevano essere programmati.

Arduino dunque, abbatte le barriere all’ingresso che il mondo dell’elettronica sperimentava rispetto all’informatica e dischiude un universo di possibilità al mondo dei Makers moderni che amano cimentarsi in sperimentazione e prototipazione di dispositivi elettronici a prezzi economicamente vantaggiosi.

Con Arduino è possibile, in modo estremamente rapido, sviluppare dispositivi  che integrino oltre ai classici componenti elettronici anche sensori, servomeccanismi e dispositivi di comunicazione.

Il core della piattaforma Arduino è senza dubbio il processore AVR a 8 bit prodotto da Atmel (AVR è il nome in codice di una serie di microcontrollori RISC, acronimo di Reduced Instruction Set Computer). Fino ad oggi sono state prodotte 16 versioni di hardware, le più diffuse delle quali sono l’Arduino Uno, Arduino Mini, Arduino Nano e Arduino Mega. La velocità è di 16Mhz, anche se ne abbiamo una versione a soli 8 Mhz (la LilyPad). Le varie versioni di arduino differiscono principalmente per il numero di

I programmi per Arduino sono chiamati sketch
Esempio di sketch scritto in wiring per Arduino

connessioni, la dimensione delle componenti, il tipo di interfacce e la quantità di memoria (andiamo dai 10K dell’Arduino Diecimila ai 512K dell’Arduino 2)

Ogni Arduino è collegabile al proprio computer tramite un semplice cavo USB, una volta riconosciuto il dispositivo possiamo programmarlo come vogliamo, per farlo utilizziamo un piccolo ambiente di sviluppo utile allo scopo. Per programmare il nostro sketch (nome dato ai programmi scritti per Arduino) abbiamo

a disposizione numerose librerie grazie alle quali possiamo far interagire la scheda con altri dispositivi ( ad esempio tastiere, mouse, dispositivi bluetooth, wifi etc.). Il linguaggio di programmazione utilizzato per programmare la piattaforma vera e propria si chiama Wiring. E’ basato su Processing, un linguaggio che consente di sviluppare giochi, animazioni e contenuti interattivi, molto usato in campo artistico.

Leap Motion: VR a mani nude

Leap Motion – la realtà virtuale a mani nude

Se vi è piaciuto il film “Minority Report”, dove un fantastico Tom Cruise utilizzava con agilità una lavagna luminosa tramite i gesti della mano, ecco, sappiate che oggi tutto questo è possibile con una spesa di poco inferiore ai 100€. Vi sto parlando di Leap Motion, un dispositivo unico nel suo genere che vi farà muovere finestre, spostare oggetti tridimensionali e immergere nella realtà virtuale in modo considerevolmente fluido e soprattutto figo!

Leap motion è un dispositivo hardware messo sul mercato dalla californiana Leap Motion Inc e acquistabile su Amazon per una sessantina di dollari (si arriva a 100 € se consideriamo le spese di spedizione e sdoganamento ).
Si tratta di uno scanner ad infrarossi a basso costo unito ad un software brevettato di analisi e tracciamento specializzato nel catturare e rappresentare in coordinate tridimensionali i movimenti delle dita, della mano e dell’avambraccio. La tecnologia di Leap Motion è stata sviluppata nel 2008 mentre il co-founder David Holz stava studiando come dottorando in matematica nell’Università del North Carolina. Nel 2011 ottengono fondi per quasi 13 milioni di dollari e nel 2013 un secondo round da 30 milioni. Nel marzo del 2014 la compagnia è riuscita a piazzare sul mercato oltre mezzo milione di unità.

Tramite il sensore Leap Motion è possibile interagire con il proprio computer in maniera del tutto innovativa e naturale.
Le funzionalità ottenibili sono molteplici: si va dall’interazione con il proprio sistema operativo, Windows o MacOS, fino all’interazione con modelli tridimensionali virtuali.
E’ stato creato uno store apposito dove gli sviluppatori possono mettere a disposizione della comunità le proprie creazioni. Tra le applicazioni degne di nota ne segnalo una molto interessante in cui è possibile pilotare una navicella spaziale con la propria mano proprio come facevamo da bambini oppure un’altra in cui è possibile scolpire un blocco di materiale virtuale con le proprie mani.
C’è la possibilità di abbinare il sensore ad un visore per realtà virtuale ed inserire all’interno del contesto virtuale le proprie mani senza più bisogno di utilizzare dei guanti cablati (come quelli del film “Il tagliaerbe” per intenderci).

Esistono inoltre una varietà di librerie e plugin (ad esempio per Unity e dispositivi Mobili) che permettono di sviluppare interessanti applicazioni mobile, di realtà aumentata e nei più disparati settori industriali dove viene fatto largo uso di interfacce a realtà virtuali tridimensionali.

Leap Motion ha stretto partnership con big players come Asus e HP che puntano a creare notebooks “all-in-one” che diano all’utente la possibilità di interagire in modo più naturale ed efficace.
La tecnologia alla base del dispositivo è molto semplice e soprattutto economica, si tratta di tre Led ad infrarossi per l’illuminazione dell’area sensibile accostati a due telecamere (sempre ad infrarossi) per la visione stereoscopica collegate al computer tramite la porta usb. Il vero motore del sistema è realizzato tramite complesse trasformate matematiche appositamente ottimizzate che si occupano di processare le immagini in tempo reale e di estrapolare le coordinate tridimensionali da porre nello spazio virtuale del computer su cui il dispositivo opera. Vengono rappresentate le coordinate e la direzione delle singole falangi della mano, così come del palmo e dell’avambraccio.
Il “cono di luce” entro cui è possibile catturare il movimento delle mani si estende orizzontalmente per circa 50-70 cm e verticalmente per circa 50 cm. La precisione con cui viene catturato e rappresentato il movimento è sorprendentemente accurata sia nel tempo che nello spazio. Parliamo di 200 frame per secondo e un errore di meno di un millimetro (0,7 millimetri per l’esattezza).

Dopo aver comprato (qui) ed effettivamente provato personalmente questo dispositivo posso sicuramente dire che possiede ottime potenzialità ma va sicuramente migliorato in alcuni suoi aspetti. Sicuramente tra gli aspetti da migliorare troviamo il raggio di azione (per ora limitato ad una relativamente piccola area oltre la quale il modello comincia a dare qualche problema). Anche l’algoritmo di riconoscimento della mano potrebbe risultare migliorato in quanto alcune posizioni della mano, in cui le dita sono poco visibili perché accavallate ( ad esempio quando la mano viene posta “di taglio”) potrebbero essere inferite in modo più accurato. C’è da considerare anche che l’uso prolungato del dispositivo costringe l’utente a tenere il braccio sollevato, sospeso a mezz’aria, il che sicuramente all’inizio può essere divertente, ma vi assicuro che finito il divertimento inizierete a soffrirne, si dovrebbero quantomeno appoggiare i gomiti sul tavolo e normalmente una corretta postura alla scrivania o al computer non lo prevede in quanto siamo usi poggiare gli avambracci per usare mouse e tastiera.

Lo strumento rimane comunque valido per tutte le attività che richiedono interazioni con modelli 3d in quanto vengono riconosciute correttamente ed efficacemente molti gesti naturali come lo swipe (nelle 4 direzioni) con una combinazione qualunque di dita, il tapping (anche questo con qualunque dito di entrambe le mani) ed il movimento circolare di dita e palmi. Viene anche riconosciuto il verso del palmo della mano, alto o basso, il che permette a livello tridimensionale di combinare delle ottime esperienze (far aprire menu, piuttosto che scatenare altre azioni). Infine vi comunico che, da sviluppatore, possono essere definite una quantità di gesti personalizzati tramite gli applicativi e dunque l’esperienza d’uso ha sicuramente molti margini di adattabilità e godibilità in futuro, specialmente se integrata con sistemi di realtà aumentata e realtà virtuale (dai Google Cardboard abbinati ai comuni smartphone Android fino ai più costosi Oculus Rift ). Infine, se siete abbastanza curiosi e smanettoni vi invito a visualizzare i video di persone che utilizzano il Leap Motion insieme ad Arduino per muovere una mano robotica!