E' un'introduzione iniziale al mondo della Physical Computing tramite Arduino. Il talk spiega i principi base di funzionamento del dispositivo ed è corredato da un prototipo finale per la domotica.
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Physical Computing Costruire dei sistemi fisici interattivi tramite l'uso di software e di hardware in grado di percepire e rispondere al mondo “analogico” Può essere visto come un framework creativo Progetti che usano sensori e microcontrollori per tradurre l'input analogico ad un sistema software
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Arduino Sviluppato in Italia dal team Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis. Framework open-source per la creazione rapida di prototipi Licenza Creative Commons Attribution-ShareAlike 3.0 Dispone di una base software comune che permette di interfacciarsi a qualsiasi oggetto elettronico quale computer, sensore, display o attuatore Ha una grande community
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Campi di applicazione Domotica Agricoltura Controllo accessi Robotica amatoriale Dispositivi di allarme Stazioni meteo Sistemi di controllo, anche remoti (esclusi quelli real time) Dispositivi wireless Dispositivi con accesso LAN Utilizzo per scopi didattici e sperimentali
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Funzionamento (2) PIN digitale Input ed Output a scelta Assume un valore booleano {HIGH, LOW} (acceso o spento) Attiva o disattiva un dispositivo PIN analogico Input oppure Output Può assumere una gamma di valori [0, 255] Permette la lettura di valori continui (sensori di temperatura) oppure regola l'intensità luminosa (LED RGB)
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Programmazione arduino Basato su un linguaggio open source (Wiring) analogo al linguaggio C / C++ seppur è stato notevolmente semplificato Vasta gamma di librerie, incluse quelle ausiliarie per l'utilizzo degli shield collegati L'ambiente di sviluppo integrato è multipiattaforma (Linux, OSX, Windows) Tutta la parte software è rilasciata sotto licenza GPL o LGPL Arduino viene programmato con un attacco seriale oppure via USB se la board la include
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Programmazione arduino (2) Derivato da Processing Raccoglie i programmi sviluppati in sketchbook Compila lo sketch e lo carica nella board arduino Prevede un serial monitor per monitorare gli impulsi seriali trasmessi e ricevuti
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Programmazione arduino (3) Dichiarazioni globali da riutilizzare nel programma (MAC address, IP, intensità LED RGB, ecc...) Inizializzazione dei PIN ed attivazione degli shield connessi (viene abilitata la connessione di rete) Ciclo principale di esecuzione che contiene il programma vero e proprio
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Android Device Kit (ADK) Kit di sviluppo impiegato per lo sviluppo di applicazioni Android in grado di interagire con un dispositivo Arduino-compatibile E' disponibile per le versioni Android successive al 3.1 (tablet) e 2.3.4 (smartphone)
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Home automation Uso della logica impiegata nella domotica tradizionale + Uso delle potenzialità di Arduino + Uso delle capacità dei nuovi dispositivi (smartphone, tablet) = Home automation o anche Domotica open source
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org Home automation (2) Esempio presentato: Pannello di controllo al cui interno sono presenti 3 relè in grado di pilotare una ventola e due lampadine con relativi LED di stato Batteria da 12V per alimentare i dispositivi esterni Arduino Ethernet con POE Tablet Android Honeycomb 3.2.1 che, tramite applicazione, pilota la ventola e le due lampadine
2011 GNU/Linux User Group Perugia – www.perugiagnulug.org GRAZIE PER L'ATTENZIONE! Sito di riferimento: http://www.arduino.cc Feedback: http://tinyurl.com/arduinold2011 Slide: http://tinyurl.com/arduinold2011slide