Seminario tenutosi al Linux Day 2011 di Perugia.
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.
Sorgenti o spiegazioni migliori possono essere fatte su richiesta via e-mail.
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Arduino: domotica OpenSource
1. Arduino: domotica open source
Emanuele Palazzetti
Feedback: http://tinyurl.com/arduinold2011
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 1
2. 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
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 2
3. 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
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 3
4. Arduino (2)
(Arduino Uno)
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 4
5. Arduino (3)
(Arduino Uno) (Arduino Mega 2560) (Arduino Ethernet
POE)
(Arduino LilyPad)
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 5
6. Arduino (4)
(Ethernet Shield) (Color display Shield)
(GPS Shield) (GSM Shield)
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 6
7. 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
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 7
8. Funzionamento
Volt IN: 7-12V
Microcontrollore ATmega328
14 pin digitali (I/O)
6 uscite analogiche (~)
6 ingressi analogici
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 8
9. Funzionamento (2)
PIN digitale PIN analogico
Input ed Output a scelta Input oppure Output
Assume un valore booleano Può assumere una gamma di
{HIGH, LOW} (acceso o spento) valori [0, 255]
Attiva o disattiva un dispositivo Permette la lettura di valori
continui (sensori di temperatura)
oppure regola l'intensità
luminosa (LED RGB)
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 9
10. 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
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 10
11. 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
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 11
12. 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
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 12
13. Esempio
→ digitalWrite(pin, HIGH); ←
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 13
14. 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)
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 14
15. 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
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 15
16. 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
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 16
17. Home automation (3)
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 17
18. GRAZIE PER L'ATTENZIONE!
Sito di riferimento: http://www.arduino.cc
Feedback: http://tinyurl.com/arduinold2011
Slide: http://tinyurl.com/arduinold2011slide
Perugia, 22 ott 2011 GNU/Linux User Group Perugia – www.perugiagnulug.org
Emanuele Palazzetti, Arduino: domotica open source 18