Arduino: interaction design e non solo


È un prodotto orgogliosamente MADE IN ITALY, eppure sembra che in Italia sia poco conosciuto (così dice Google…). Sto parlando di Arduino, una piattaforma (hardware + software) totalmente open source per la realizzazione di prototipi di Interaction Design.

arduino_on_mac_small.jpg

Arduino è stato ideato e realizzato da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David A. Mellis. Progettato attorno ad un microcontrollore Atmel ATmega168, dispone di 14 porte I/O digitali, 6 ingressi analogici, una porta seriale a livello TTL ed è programmabile attraverso una porta USB che provvede anche ad alimentarne la scheda quando connessa al computer (senza la necessità, dunque, di disporre di un programmatore per MCU ATmega). Il software per il piccolo Arduino può contare su appena 16KB di Flash (anzi, 14 per la precisione) per i "programmi utente", 1KB di RAM e ben 512B (si cinquecentododici byte) di persistenza per i dati. Malgrado l’aspetto lillipuziano, Arduino è estremamente flessibile e la facilità di utilizzo lo rende lo strumento ideale per i laboratori di Interaction Design, in cui gli allievi non devono possedere specifiche competenze di programmazione o componentistica elettronica, ma sono totalmente orientati alla trasformazione di scenari di interazione in prototipi funzionanti. In tal senso, dunque, l’importante è avere uno strumento che traduca le idee in realtà! Arduino fa proprio al caso!

ardino_usb_small.jpg

Arduino deriva dai progetti Wiring e Processing, dai quali eredita rispettivamente parte del linguaggio di programmazione (simile al C) e l’ambiente di sviluppo.

Venduto a poche decine di euro, consente di realizzare in modulo facile ed economico prototipi di oggetti interattivi, in grado di acquisire dati attravero i più disparati sensori (accelerometri, fotoresistenze, sensori di temperatura, GPS, igrometri…) e comandare dispositivi quali motori (tradizionali, servo e step), display LCD o buzzer. La Rete è di esempi di applicazioni, sarebbe impossibile elencarli tutti qui! Apposite schede di espansione consentono l’interfacciamento ai moduli XBee Maxstream (ora Digi) per la rete ZigBee.

arduino_xbee_small.jpg

La variante Bluetooth sostituisce la porta USB basata sul driver FTDI con un modulo RFCOMM server che consente sia la programmazione remota che la connessione wireless alla scheda.

arduino_bluetooth_small.jpg

Quasi spontaneo pensare fare un paragone con i Sun SPOT, ma sarebbe totalmente fuori luogo.

arduino_sunspot_small.jpg

La complessità dei Sun SPOT li rende degli oggetti quasi insuperabili e adatti a qualsiasi contesto applicativo, anche computazionalmente complesso. Lo stesso dicasi per le capacità di interfacciamento con periferiche. D’altro canto, però Arduino è estremamente economico e consente sperimentazione a bassissimo costo (a patto, ovviamente, di non voler pretendere troppo dal suo kilobyte di RAM!).

Pù che guardarli sotto l’ottica della competizione, sarebbe interessante, invece, valutarne una possibile interoperabilità, utilizzando i Sun SPOT per i compiti più gravosi dal punto di vista della logica e dell’elaborazione dei dati rilevati dai sensori, delegando ad Arduino "il lavoro sporco di interfacciamento con questi ultimi", grazie anche al fatto che, essendo così economico, può essere utilizzato a cuor leggero anche laddove c’è il rischio di un crash hardware (se si rompesse un Sun SPOT… sarebbero dolori!).

Per chi volesse saperne di più:

http://www.arduino.cc

8 pensieri su “Arduino: interaction design e non solo

Lascia un commento