Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Arduino, quando un aperitivoavvicina elettronica ed informaticaFilippo Matteo Riggiofilippo.riggio@intesys.it – Intesys S....
Sommario1.   Introduzione2.   Storia3.   Arduino in profondità4.   Semplicità5.   Il nostro progetto6.   Arduino e il mobi...
Introduzione
La mia esigenza – Perchè ho scelto Arduino.Il problemaOgni esigenza nasce sempre da un bisogno, un problema.Nel mio caso è...
Lesigenza di Massimo BanziMassimo Banzi è un ex docente dellInteraction Design Institutedi Ivrea, istituto in cui i design...
Che cosè Arduino?Arduino è una piccola scheda elettronica che permette di programmarefacilmente un microcontrollore (“proc...
Storia
Un po di storia.2001   Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.                  ...
Un po di storia.      2001    Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.1° semestre...
Un po di storia.      2001    Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.1° semestre...
Un po di storia.      2001    Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.1° semestre...
Un po di storia.      2001    Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.1° semestre...
Un po di storia.             La scheda dovrà costare circa 20 euro.             Entrano nel team David Cuartielles e David...
Un po di storia.             La scheda dovrà costare circa 20 euro.             Entrano nel team David Cuartielles e David...
Un po di storia.             La scheda dovrà costare circa 20 euro.             Entrano nel team David Cuartielles e David...
Un po di storia.             La scheda dovrà costare circa 20 euro.             Entrano nel team David Cuartielles e David...
Arduino in profondità
Caratteristiche tecnicheMicrocontrolloreATMega (168 o 328) a 16MhzAlimentazioneUSB (5 volt) o spinotto da 12V6 Pin per lal...
Modelli di ArduinoArduino in questi anni è stato migliorato. Sono uscite nuove versioni sempre basate sul progetto origina...
Estensioni di ArduinoOltre ai vari modelli della scheda, esistono dei “plugin” detti shield, che permettono di rendereArdu...
Semplicità
Sensori ed AttuatoriI sensori sono piccoli componenti elettronici che misurano grandezze naturali(temperatura, suono, lumi...
Ambiente di sviluppoLIDE è dispobibile per MacOS, Windows e Linux.Sul sito www.arduino.cc trovate anche i driver.E importa...
Fritzing!Fritzing è un software free per laprogettazione di schemi elettronici,dalla breadboard al circuito stampato.Quest...
Uno sketch di esempioIl codice per uno sketch è molto semplice, si basa su 2 funzioni principali:setup() e loop().#define ...
Un semplice esempioUn esempio della semplicità di Arduino è il display LCD.Oltre ad Arduino, abbiamo bisogno di:- display ...
Un semplice esempio (codice)La semplicità di Arduino è il suo vero punto di forza.Con poche righe di codice riusciamo a st...
Altre funzionipinMode(idPin, {INPUT || OUTPUT});      // imposta la modalità in cui deve essere un pinSerial.begin(valore)...
Il nostro progetto
Intesys TalkDa circa un anno Intesys porta avanti uniniziativa interna: i talk.I talk sono un occasione per favorire la co...
Arduino Meeting RoomDopo il talk, vista la facilità di sviluppo di progetti elettronici, si è deciso di crearequalcosa che...
Arduino Meeting RoomLa presenza delle persone all’interno dellastanza viene verificata tramite unsensore audio (microfono)...
Arduino Meeting Room – Comunicazione#include <Ethernet.h>#include <Udp.h>char inBuffer[UDP_TX_PACKET_MAX_SIZE]; // Buffer ...
Altri progetti sviluppati con ArduinoSerratura RGB   Microfono     Rilevatore di gas          Gameboy                     ...
Arduino e il mobile
Arduino e il mobileNegli ultimi anni sono nate alcune interfacciecapaci di connettere Arduino con glismartphone più diffus...
GiarduinoGiarduino è un dispositivo che permette di gestire ilproprio giardino tramite smartphone o tablet.Permette di con...
Conclusioni
ConclusioniArduino è un “ponte” tra elettronici ed informatici, che si è imposto per via del suo punto diforza, la semplic...
E per il futuro?
Gli atomi sono i nuovi bit.Internet era solo l’inizio.La collaborazione di massa, il crowdsourcing e i contenuticreati dag...
RisorseOnlinehttp://www.arduino.cc                     il sito ufficiale dove si trova quasi tutto sull’argomentohttp://sc...
Grazie per l’attenzioneFilippo Matteo Riggiofilippo.riggio@intesys.it – Intesys S.r.l.
Upcoming SlideShare
Loading in …5
×

Arduino, quando un aperitivo avvicina elettronica ed informatica.

2,023 views

Published on

  • Be the first to comment

Arduino, quando un aperitivo avvicina elettronica ed informatica.

  1. 1. Arduino, quando un aperitivoavvicina elettronica ed informaticaFilippo Matteo Riggiofilippo.riggio@intesys.it – Intesys S.r.l.
  2. 2. Sommario1. Introduzione2. Storia3. Arduino in profondità4. Semplicità5. Il nostro progetto6. Arduino e il mobile7. Conclusioni
  3. 3. Introduzione
  4. 4. La mia esigenza – Perchè ho scelto Arduino.Il problemaOgni esigenza nasce sempre da un bisogno, un problema.Nel mio caso è il desiderio di non creare solamente prodotti virtuali, ma ottenere qualcosa dipiù tangibile.Laspetto peggiore del lavoro di un programmatore è proprio quello di non creare qualcosa dimateriale e tangibile, che possa dimostrare le sue vere capacità a persone che non sonodellambiente IT.Fino a qualche anno fa non esisteva la possibilità di programmare ad alto livello alcun tipo dihardware in modo semplice.Arduino dà questa possibilità: un programmatore può creare dispositivi e programmarli. Filippo Matteo Riggio 4 filippo.riggio@intesys.it – Intesys S.r.l.
  5. 5. Lesigenza di Massimo BanziMassimo Banzi è un ex docente dellInteraction Design Institutedi Ivrea, istituto in cui i designer devono apprendere basi dielettronica per poter creare prototipi interattivi.Il problemaLa piattaforma che veniva utilizzata per creare questi prototipi(Basic Stamp) aveva una serie di difetti, i principali:- il costo elevato- il funzionamento solo con pc Windows Filippo Matteo Riggio 5 filippo.riggio@intesys.it – Intesys S.r.l.
  6. 6. Che cosè Arduino?Arduino è una piccola scheda elettronica che permette di programmarefacilmente un microcontrollore (“processore”).Per farlo ci viene in supporto un ambiente di sviluppo(IDE) creato ad hoc.Ogni software creato si chiama sketch.Ogni sketch viene caricato sulla scheda tramite l’IDE ed un cavo USB.Il progetto è completamente open-source. Filippo Matteo Riggio 6 filippo.riggio@intesys.it – Intesys S.r.l.
  7. 7. Storia
  8. 8. Un po di storia.2001 Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design. Filippo Matteo Riggio 8 filippo.riggio@intesys.it – Intesys S.r.l.
  9. 9. Un po di storia. 2001 Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.1° semestre Banzi crea Programma 2003 che usa il linguaggio JAL. 2002 Filippo Matteo Riggio 9 filippo.riggio@intesys.it – Intesys S.r.l.
  10. 10. Un po di storia. 2001 Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.1° semestre Banzi crea Programma 2003 che usa il linguaggio JAL. 20022° semestre Banzi contatta Bill Verplank e Casey Reas. 2002 Quest’ultimo consiglia Processing come linguaggio. Filippo Matteo Riggio 10 filippo.riggio@intesys.it – Intesys S.r.l.
  11. 11. Un po di storia. 2001 Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.1° semestre Banzi crea Programma 2003 che usa il linguaggio JAL. 20022° semestre Banzi contatta Bill Verplank e Casey Reas. 2002 Quest’ultimo consiglia Processing come linguaggio. 2003 H.Barragan crea Wiring, un derivato da Processing e dal C. Costo ancora alto (70/80 €). Filippo Matteo Riggio 11 filippo.riggio@intesys.it – Intesys S.r.l.
  12. 12. Un po di storia. 2001 Olivetti e Telecom avviano un master biennale all’istituto di Interaction Design.1° semestre Banzi crea Programma 2003 che usa il linguaggio JAL. 20022° semestre Banzi contatta Bill Verplank e Casey Reas. 2002 Quest’ultimo consiglia Processing come linguaggio. 2003 H.Barragan crea Wiring, un derivato da Processing e dal C. Costo ancora alto (70/80 €). 2003/04 Gianluca Martino testa la piattaforma sugli studenti con risultati soddisfacenti. Filippo Matteo Riggio 12 filippo.riggio@intesys.it – Intesys S.r.l.
  13. 13. Un po di storia. La scheda dovrà costare circa 20 euro. Entrano nel team David Cuartielles e David Mellis.01-05/2005 Massimo decide che è ora di dare un nome vero e proprio alla piattaforma: Arduino, il nome del bar dove il team si riuniva a fare l’aperitivo dopo il lavoro. Filippo Matteo Riggio 13 filippo.riggio@intesys.it – Intesys S.r.l.
  14. 14. Un po di storia. La scheda dovrà costare circa 20 euro. Entrano nel team David Cuartielles e David Mellis.01-05/2005 Massimo decide che è ora di dare un nome vero e proprio alla piattaforma: Arduino, il nome del bar dove il team si riuniva a fare l’aperitivo dopo il lavoro. 06/2005 Nel team anche Tom Igoe, che porta Arduino negli States. Filippo Matteo Riggio 14 filippo.riggio@intesys.it – Intesys S.r.l.
  15. 15. Un po di storia. La scheda dovrà costare circa 20 euro. Entrano nel team David Cuartielles e David Mellis.01-05/2005 Massimo decide che è ora di dare un nome vero e proprio alla piattaforma: Arduino, il nome del bar dove il team si riuniva a fare l’aperitivo dopo il lavoro. 06/2005 Nel team anche Tom Igoe, che porta Arduino negli States. 11/2005 Primo workshop a Londra e nascita della community. Filippo Matteo Riggio 15 filippo.riggio@intesys.it – Intesys S.r.l.
  16. 16. Un po di storia. La scheda dovrà costare circa 20 euro. Entrano nel team David Cuartielles e David Mellis.01-05/2005 Massimo decide che è ora di dare un nome vero e proprio alla piattaforma: Arduino, il nome del bar dove il team si riuniva a fare l’aperitivo dopo il lavoro. 06/2005 Nel team anche Tom Igoe, che porta Arduino negli States. 11/2005 Primo workshop a Londra e nascita della community. 10/2008 Più di 50.000 copie di Arduino vendute. Filippo Matteo Riggio 16 filippo.riggio@intesys.it – Intesys S.r.l.
  17. 17. Arduino in profondità
  18. 18. Caratteristiche tecnicheMicrocontrolloreATMega (168 o 328) a 16MhzAlimentazioneUSB (5 volt) o spinotto da 12V6 Pin per lalimentazioneInput/Output14 pin digitali6 pin analogiciFTDI USB Chip / ICSP HeaderDebug LED (13) / Data Trasfer LED (RX+TX)Memoria16 KB (ATmega168) o 32 KB (ATmega328)dei quali 2 KB usati per il bootloader Filippo Matteo Riggio 18 filippo.riggio@intesys.it – Intesys S.r.l.
  19. 19. Modelli di ArduinoArduino in questi anni è stato migliorato. Sono uscite nuove versioni sempre basate sul progetto originale. Arduino UNO Lilypad Arduino MEGA Arduino MINI Arduino BT Arduino Ethernet Arduino FIO Arduino Nano Filippo Matteo Riggio 19 filippo.riggio@intesys.it – Intesys S.r.l.
  20. 20. Estensioni di ArduinoOltre ai vari modelli della scheda, esistono dei “plugin” detti shield, che permettono di rendereArduino veramente poliedrico. Arduino Wireless Shield con SD Arduino Wireless Shield senza SD Arduino Ethernet Shield Arduino Motor Shield Arduino Proto Shield Filippo Matteo Riggio 20 filippo.riggio@intesys.it – Intesys S.r.l.
  21. 21. Semplicità
  22. 22. Sensori ed AttuatoriI sensori sono piccoli componenti elettronici che misurano grandezze naturali(temperatura, suono, luminosità,ecc.) per trasformarlo in un segnale elettrico interpretabile da Arduino.Ad esempio i sensori semplici variano la propria resistenza elettrica al variare delfenomeno fisico (aumento di temperatura, di luminosità, ecc.).Allopposto dei sensori esistono gli attuatori.Gli attuatori ricevuto un segnale elettrico, lo tramutano in un fenomeno fisico:un semplice LED, un motore elettrico, ecc.Sensore di temperatura LM35 Fotoresistenza LEDs Filippo Matteo Riggio 22 filippo.riggio@intesys.it – Intesys S.r.l.
  23. 23. Ambiente di sviluppoLIDE è dispobibile per MacOS, Windows e Linux.Sul sito www.arduino.cc trovate anche i driver.E importante ricordarsi di impostare, dal menùTools, il modello della propria scheda e su quale portaè attualmente connessa.Dopo aver scritto lo sketch, lIDE crea un eseguibileper il processore AVR ed esegue l’upload.Utile in fase di debug, lo strumento Serial Monitor,che permette di andare a leggere lo stream della porta. Filippo Matteo Riggio 23 filippo.riggio@intesys.it – Intesys S.r.l.
  24. 24. Fritzing!Fritzing è un software free per laprogettazione di schemi elettronici,dalla breadboard al circuito stampato.Questo software nasce con lo stesso spiritodi Arduino, fornendo ulteriori servizi onlinecome la community e la realizzazione delcircuito vero e proprio.E’ rivolto soprattutto ai “non-ingegneri”, chegeneralmente utilizzano software comeAutoCAD per il disegno di circuiti e prototipi.Potete scaricarlo da http://fritzing.org/ Filippo Matteo Riggio 24 filippo.riggio@intesys.it – Intesys S.r.l.
  25. 25. Uno sketch di esempioIl codice per uno sketch è molto semplice, si basa su 2 funzioni principali:setup() e loop().#define LEDPIN 13void setup() { pinMode(LEDPIN, OUTPUT); // inizializzo il pin in // modalità OUTPUT}void loop() { digitalWrite(LEDPIN, HIGH); // accendo il led delay(1000); // aspetto un secondo digitalWrite(LEDPIN, LOW); // spengo il led delay(1000); // aspetto un secondo} Filippo Matteo Riggio 25 filippo.riggio@intesys.it – Intesys S.r.l.
  26. 26. Un semplice esempioUn esempio della semplicità di Arduino è il display LCD.Oltre ad Arduino, abbiamo bisogno di:- display LCD compatibile con i driver Hitachi HD44780- potenziometro da 10 kOhm- breadboard e cavettiCome funziona lLCD?LLCD ha un suo microcontrollore interno che associaad un intero passatogli un carattere da stampare,carattere che è una matrice di 5x8 pixel(variabile da LCD a LCD).Oltre al microcontrollore interno, lLCD è dotato di alcuniregistri per la gestione di scrittura/lettura, istruzioni in coda, ecc. Filippo Matteo Riggio 26 filippo.riggio@intesys.it – Intesys S.r.l.
  27. 27. Un semplice esempio (codice)La semplicità di Arduino è il suo vero punto di forza.Con poche righe di codice riusciamo a stampare su un display LCD del testo.// includiamo la libreria, con lIDE basta andare su Sketch > Import > Library#include <LiquidCrystal.h>LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // istanziamo loggetto lcdvoid setup() { lcd.begin(16, 2); // imposto il numero di caratteri e righe lcd.print("hello, world!"); // Stampo una stringa di prova}void loop() { lcd.setCursor(0, 1); // cursore al carattere 0 della seconda riga lcd.print(millis()/1000); // numero di secondi dallinizio del ciclo} Filippo Matteo Riggio 27 filippo.riggio@intesys.it – Intesys S.r.l.
  28. 28. Altre funzionipinMode(idPin, {INPUT || OUTPUT}); // imposta la modalità in cui deve essere un pinSerial.begin(valore); // istanzia una trasmissione seriale // di n bit al secondoint sensorValue = digitalRead(idPin); // legge un valore da un pin digitale (restituisce LOW || HIGH)int sensorValue = analogRead(A0); // legge un valore da un pin analogico, // convertito da Arduino in un decimale tra 0 e 1023digitalWrite(idPin, valore); // scrive un valore (HIGH e LOW) sui pin digitaliSerial.println(sensorValue, DEC); // scrive sulla porta seriale un valoreunsigned long currentMillis = millis(); // la funzione millis restituisce il tempo trascorso // dallinizio dellesecuzione del programma Filippo Matteo Riggio 28 filippo.riggio@intesys.it – Intesys S.r.l.
  29. 29. Il nostro progetto
  30. 30. Intesys TalkDa circa un anno Intesys porta avanti uniniziativa interna: i talk.I talk sono un occasione per favorire la condivisione della conoscenza all’internodi Intesys, stimolando il confronto libero e motivante tra i dipendenti.Ogni settimana viene presentato un argomento inerente o meno al settore IT.I dipendenti possono decidere se partecipare o meno (essendo in orarioextra-lavorativo), in base all’interesse che hanno rispetto all’argomento.Alcuni di questi talk hanno avuto molta risonanza a livello interno.Sono state adottate parecchie tecnologie e sono nate idee da svilupparecome Arduino meeting room. Filippo Matteo Riggio 30 filippo.riggio@intesys.it – Intesys S.r.l.
  31. 31. Arduino Meeting RoomDopo il talk, vista la facilità di sviluppo di progetti elettronici, si è deciso di crearequalcosa che prevedeva Arduino.Pur essendo un progetto extra-lavorativo, si è deciso di sviluppare un dispositivo chefornisse qualche beneficio aziendale.Una delle esigenze aziendali prevedeva la necessità di venire a conoscenza dellapresenza o meno di persone nelle sale riunioni.Le funzionalità da sviluppare quindi erano :- percepire la presenza di persone in una stanza;- comunicare questo dato agli altri dispositivi;- segnalare visivamente questo dato sia sul dispositivo che sull’intranet aziendale. Filippo Matteo Riggio 31 filippo.riggio@intesys.it – Intesys S.r.l.
  32. 32. Arduino Meeting RoomLa presenza delle persone all’interno dellastanza viene verificata tramite unsensore audio (microfono), amplificatoe passato ad arduino.La comunicazione agli altri dispositivi eall’intranet interna viene fatta tramite unethernet shield.La visualizzazione visiva invece vienefatta tramite dei led RGB.Trovate codice e schema su github: http://github.com/gariggio/arduino/ Filippo Matteo Riggio 32 filippo.riggio@intesys.it – Intesys S.r.l.
  33. 33. Arduino Meeting Room – Comunicazione#include <Ethernet.h>#include <Udp.h>char inBuffer[UDP_TX_PACKET_MAX_SIZE]; // Buffer dei pacchetti in arrivovoid setup(){ // Start Ethernet and UDP Ethernet.begin(mac_address, ip_address); // il server si mette in waiting di connessioni Udp.begin(port); // inizializza la libreria ethernet UDP e le impostazioni di rete // [other code]}void loop(){ int packetSize = Udp.available(); // controlla se ci sono connessioni da client if (packetSize) { // il pacchetto viene scritto sul buffer (limitato nelle dimensioni) // mentre vengono restituiti IP e porta del mittente. Udp.readPacket(inBuffer, UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort); } // [other code]} Filippo Matteo Riggio 33 filippo.riggio@intesys.it – Intesys S.r.l.
  34. 34. Altri progetti sviluppati con ArduinoSerratura RGB Microfono Rilevatore di gas Gameboy Dj Controller etilometro Sismografo Drone aereo Controller per Pianoforte ad Wandering Tank barche ed aerei. acqua Filippo Matteo Riggio 34 filippo.riggio@intesys.it – Intesys S.r.l.
  35. 35. Arduino e il mobile
  36. 36. Arduino e il mobileNegli ultimi anni sono nate alcune interfacciecapaci di connettere Arduino con glismartphone più diffusi.Nel maggio 2011, Google ha presentatoADK (Android Open Accessory Development Kit),un kit di sviluppo per far comunicare losmartphone Android con Arduino tramite USB e Bluetooth.Per iOS non sono state rilasciate librerie ufficiali, ma ne esistono molte free.Il connubio tra Arduino e il mondo mobile ha fatto si che molti sviluppatori si divertisserocon la domotica, creando impianti di climatizzazione, risparmio energetico, cancelli, ecc.;controllabili tramite lo smartphone e Arduino. Un esempio è Giarduino. Filippo Matteo Riggio 36 filippo.riggio@intesys.it – Intesys S.r.l.
  37. 37. GiarduinoGiarduino è un dispositivo che permette di gestire ilproprio giardino tramite smartphone o tablet.Permette di conoscere temperatura, umidità eluminosità in tempo reale ovunque ci si trovi.Con una valvola elettrica è possibile gestireanche limpianto di irrigazione.Schemi di costruzione e codice sono reperibili online su GitHub.Esiste inoltre un servizio online che permette, tramite un codice univoco, di usare il propriogiarduino. Filippo Matteo Riggio 37 filippo.riggio@intesys.it – Intesys S.r.l.
  38. 38. Conclusioni
  39. 39. ConclusioniArduino è un “ponte” tra elettronici ed informatici, che si è imposto per via del suo punto diforza, la semplicità.E’ ormai una pietra miliare in quello che è il movimento dei makers e secondo me è la svolta diquello che è una volta era un mondo chiuso, come quello elettronico.Con Arduino siamo passati dal software open-source all’hardware open-source.Lo consiglio a tutti quelli che hanno avuto idee e non riuscivano a svilupparle a causa diconoscenze che non riuscivano a coprire questi 2 ambiti. Filippo Matteo Riggio 39 filippo.riggio@intesys.it – Intesys S.r.l.
  40. 40. E per il futuro?
  41. 41. Gli atomi sono i nuovi bit.Internet era solo l’inizio.La collaborazione di massa, il crowdsourcing e i contenuticreati dagli utenti hanno cominciato ad avere un ruolo fondamentaleanche nel mondo reale, fatto di atomi.Una novità interessante è MakerBot, una stampante 3Ddal basso costo.E’ nata anche Raspberry PI, un piccolo computer,facilmente programmabile, che sta spopolando nelle scuole elementari inglesi.Siamo ormai nell’era del Garage 2.0, dove milioni dipotenziali “inventori della domenica” stanno per diventarel’industria del futuro. Filippo Matteo Riggio 41 filippo.riggio@intesys.it – Intesys S.r.l.
  42. 42. RisorseOnlinehttp://www.arduino.cc il sito ufficiale dove si trova quasi tutto sull’argomentohttp://scuola.arduino.cc ottimi articoli e corsi dal livello base a quello avanzatohttp://arduino.cc/forum/ il forum della communityhttp://arduino.cc/playground la wiki, contenente molte voci relative a librerie, hardware e interfaccie particolariEbookArduino Cookbook O’Reilly un ottimo manuale, abbastanza completo sullargomento30 Arduino Projects for the Evil Genius un buon libro, con esempi e progetti interessantiRivisteWired ogni mese lo stesso Massimo Banzi propone un’idea da mettere in praticaIoProgrammo ogni mese pubblica piccoli progetti e spunti interessantiSoftwareFritzing Alpha un software free per la creazione degli schemi elettrici/elettronici (http://fritzing.org)Minibloq un software free che permette di programmare Arduino tramite interfaccia grafica (http://blog.minibloq.org/) Filippo Matteo Riggio 42 filippo.riggio@intesys.it – Intesys S.r.l.
  43. 43. Grazie per l’attenzioneFilippo Matteo Riggiofilippo.riggio@intesys.it – Intesys S.r.l.

×