SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Arduino, quando un aperitivo
avvicina elettronica ed informatica
Filippo Matteo Riggio

filippo.riggio@intesys.it – Intesys S.r.l.

Personal blog: http://www.good2know.it
Twitter: @FMRiggio
Sommario
1.   Introduzione
2.   Storia
3.   Arduino in profondità
4.   Semplicità
5.   Il nostro progetto
6.   Arduino e il mobile
7.   Conclusioni
Introduzione
La mia esigenza – Perchè ho scelto Arduino.
Il problema
Ogni esigenza nasce sempre da un bisogno, un problema.
Nel mio caso è il desiderio di non creare solamente prodotti virtuali, ma ottenere qualcosa di
più tangibile.
L'aspetto peggiore del lavoro di un programmatore è proprio quello di non creare qualcosa di
materiale e tangibile, che possa dimostrare le sue vere capacità a persone che non sono
dell'ambiente IT.

Fino a qualche anno fa non esisteva la possibilità di programmare ad alto livello alcun tipo di
hardware 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.
L'esigenza di Massimo Banzi
Massimo Banzi è un ex docente dell'Interaction Design Institute
di Ivrea, istituto in cui i designer devono apprendere basi di
elettronica per poter creare prototipi interattivi.

Il problema
La 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.
Che cos'è Arduino?
Arduino è una piccola scheda elettronica che permette di programmare
facilmente 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.
Storia
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.
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.
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

2° 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.
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

2° 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.
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

2° 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.
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.
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.
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.
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.
Arduino in profondità
Caratteristiche tecniche
Microcontrollore
ATMega (168 o 328) a 16Mhz

Alimentazione
USB (5 volt) o spinotto da 12V
6 Pin per l'alimentazione

Input/Output
14 pin digitali
6 pin analogici
FTDI USB Chip / ICSP Header
Debug LED (13) / Data Trasfer LED (RX+TX)

Memoria
16 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.
Modelli di Arduino
Arduino 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.
Estensioni di Arduino
Oltre ai vari modelli della scheda, esistono dei “plugin” detti shield, che permettono di rendere
Arduino 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.
Semplicità
Sensori ed Attuatori
I 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 del
fenomeno fisico (aumento di temperatura, di luminosità, ecc.).

All'opposto 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.
Ambiente di sviluppo
L'IDE è 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, l'IDE crea un eseguibile
per 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.
Fritzing!
Fritzing è un software free per la
progettazione di schemi elettronici,
dalla breadboard al circuito stampato.

Questo software nasce con lo stesso spirito
di Arduino, fornendo ulteriori servizi online
come la community e la realizzazione del
circuito vero e proprio.

E’ rivolto soprattutto ai “non-ingegneri”, che
generalmente utilizzano software come
AutoCAD 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.
Uno sketch di esempio
Il codice per uno sketch è molto semplice, si basa su 2 funzioni principali:
setup() e loop().
#define LEDPIN 13

void 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.
Un semplice esempio
Un 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 cavetti

Come funziona l'LCD?
L'LCD ha un suo microcontrollore interno che associa
ad un intero passatogli un carattere da stampare,
carattere che è una matrice di 5x8 pixel
(variabile da LCD a LCD).

Oltre al microcontrollore interno, l'LCD è dotato di alcuni
registri per la gestione di scrittura/lettura, istruzioni in coda, ecc.


                                                                                 Filippo Matteo Riggio      26
                                                               filippo.riggio@intesys.it – Intesys S.r.l.
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 l'IDE basta andare su Sketch > Import > Library
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // istanziamo l'oggetto lcd

void 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 dall'inizio del ciclo
}

                                                                      Filippo Matteo Riggio      27
                                                    filippo.riggio@intesys.it – Intesys S.r.l.
Altre funzioni
pinMode(idPin, {INPUT || OUTPUT});      // imposta la modalità in cui deve essere un pin

Serial.begin(valore);                   // istanzia una trasmissione seriale
                                        // di n bit al secondo

int 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 1023

digitalWrite(idPin, valore);            // scrive un valore (HIGH e LOW) sui pin digitali

Serial.println(sensorValue, DEC);       // scrive sulla porta seriale un valore

unsigned long currentMillis = millis(); // la funzione millis restituisce il tempo trascorso
                                        // dall'inizio dell'esecuzione del programma




                                                                             Filippo Matteo Riggio      28
                                                           filippo.riggio@intesys.it – Intesys S.r.l.
Il nostro progetto
Intesys Talk
Da circa un anno Intesys porta avanti un'iniziativa interna: i talk.

I talk sono un occasione per favorire la condivisione della conoscenza all’interno
di 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 orario
extra-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 sviluppare
come Arduino meeting room.


                                                                           Filippo Matteo Riggio      30
                                                         filippo.riggio@intesys.it – Intesys S.r.l.
Arduino Meeting Room
Dopo il talk, vista la facilità di sviluppo di progetti elettronici, si è deciso di creare
qualcosa che prevedeva Arduino.
Pur essendo un progetto extra-lavorativo, si è deciso di sviluppare un dispositivo che
fornisse qualche beneficio aziendale.

Una delle esigenze aziendali prevedeva la necessità di venire a conoscenza della
presenza 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.
Arduino Meeting Room
La presenza delle persone all’interno della
stanza viene verificata tramite un
sensore audio (microfono), amplificato
e passato ad arduino.

La comunicazione agli altri dispositivi e
all’intranet interna viene fatta tramite un
ethernet shield.

La visualizzazione visiva invece viene
fatta tramite dei led RGB.

Trovate codice e schema su github: http://github.com/FMRiggio/arduino/


                                                                                           Filippo Matteo Riggio      32
                                                                         filippo.riggio@intesys.it – Intesys S.r.l.
Arduino Meeting Room – Comunicazione
#include <Ethernet.h>
#include <Udp.h>

int ledRedPins[] = { 2, 4, 6, 8 }; // Array dei pin dei LED (terminali rossi)
int ledGreenPins[] = { 3, 5, 7, 9 }; // Array dei pin dei LED (terminali verdi)

#define IP_START 100 // Byte meno significativo dell'indirizzo IP della stanza 0

char inBuffer[UDP_TX_PACKET_MAX_SIZE]; // Buffer to hold incoming packet,
char msgBuffer[UDP_TX_PACKET_MAX_SIZE]; // String to send to other device

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MAC address della scheda Ethernet

byte ip[4] = { 192, 168, 0, IP_START }; // Indirizzo IP della scheda Ethernet

byte broadcastIp[4] = { 192, 168, 0, 255 }; // Broadcast IP (dove inviare i pacchetti UDP broadcast)

unsigned int port = 9876; // Local port to listen on

unsigned long recTime[] = { 0, 0, 0, 0 }; // Istante di ricezione dell'ultimo pacchetto UPD




                                                                                  Filippo Matteo Riggio      33
                                                                filippo.riggio@intesys.it – Intesys S.r.l.
Arduino Meeting Room – Comunicazione
void setup()
{
  // Setup digital/analog pins (INPUT/OUTPUT)
  for (int i = 0; i < 4; i++) {
    pinMode(ledRedPins[i], OUTPUT);
    pinMode(ledGreenPins[i], OUTPUT);
    showRoomStatus(i); // Visualizzazione stato iniziale dei Led (UNKNOWN)
    pinMode(dipSwitchPins[i], INPUT);
    digitalWrite(dipSwitchPins[i], HIGH); // Dip Switch in Pull up Resistor
  }

    int dipSwitchValue = dipSwitchRead(); // Lettura valore decimale impostato sul dip switch
    // I primi 2 pin del dipSwitch determinano l'identificativo numerico dato a questo Arduino
    thisRoomId = (dipSwitchValue % 4);

    // Set dell'ultimo numero dell'indirizzo IP e del MAC Address
    ip[3] = IP_START + thisRoomId;
    mac[5] = thisRoomId;

    // Start Ethernet and UDP
    Ethernet.begin(mac, ip);
    Udp.begin(port);
}

                                                                                      Filippo Matteo Riggio      34
                                                                    filippo.riggio@intesys.it – Intesys S.r.l.
Arduino Meeting Room – Comunicazione
void loop()
{
  int packetSize = Udp.available(); // Controllo se ci sono pacchetti broadcast
  if (packetSize) {
    Udp.readPacket(inBuffer, UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort); // Lettura pacchetto
    handleReceivedPacket(remoteIp, inBuffer); // salvataggio delle variabili per i controlli successivi
  }

    // Aggiorna lo stato (e i Led) delle altre stanze
    // se non si ricevono pacchetti di aggiornamento dalla rete
    checkAndUpdateStatusOfOtherRooms();

    // Aggiornamento dello stato di questa stanza (utilizzando i sensori)
    boolean statusChanged = updateStatusOfThisRoom();

    if (statusChanged || itsTimeToSendAnUpdate()) {
      // Invio aggiornamento di stato in broadcast
      String strBuffer = String(thisRoomId) + getUdpMessageStatus(roomStatus[thisRoomId]);
      strBuffer.toCharArray(msgBuffer, UDP_TX_PACKET_MAX_SIZE); // Preparo il pacchetto da inviare
      Udp.sendPacket(msgBuffer, broadcastIp, port); // Invio del pacchetto
      recTime[thisRoomId] = millis(); // Salvo l’istante di invio del pacchetto
    }
}

                                                                                    Filippo Matteo Riggio      35
                                                                  filippo.riggio@intesys.it – Intesys S.r.l.
Altri progetti sviluppati con Arduino



Serratura 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              36
                                                  filippo.riggio@intesys.it – Intesys S.r.l.
Arduino e il mobile
Arduino e il mobile
Negli ultimi anni sono nate alcune interfaccie
capaci di connettere Arduino con gli
smartphone più diffusi.
Nel maggio 2011, Google ha presentato
ADK (Android Open Accessory Development Kit),
un kit di sviluppo per far comunicare lo
smartphone 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 divertissero
con la domotica, creando impianti di climatizzazione, risparmio energetico, cancelli, ecc.;
controllabili tramite lo smartphone e Arduino. Un esempio è Giarduino.


                                                                                 Filippo Matteo Riggio      38
                                                               filippo.riggio@intesys.it – Intesys S.r.l.
Giarduino
Giarduino è un dispositivo che permette di gestire il
proprio giardino tramite smartphone o tablet.

Permette di conoscere temperatura, umidità e
luminosità in tempo reale ovunque ci si trovi.

Con una valvola elettrica è possibile gestire
anche l'impianto 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 proprio
giarduino.


                                                                                Filippo Matteo Riggio      39
                                                              filippo.riggio@intesys.it – Intesys S.r.l.
Conclusioni
Conclusioni
Arduino è un “ponte” tra elettronici ed informatici, che si è imposto per via del suo punto di
forza, la semplicità.

E’ ormai una pietra miliare in quello che è il movimento dei makers e secondo me è la svolta di
quello 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 di
conoscenze che non riuscivano a coprire questi 2 ambiti.




                                                                               Filippo Matteo Riggio      41
                                                             filippo.riggio@intesys.it – Intesys S.r.l.
E per il futuro?
Gli atomi sono i nuovi bit.
Internet era solo l’inizio.

La collaborazione di massa, il crowdsourcing e i contenuti
creati dagli utenti hanno cominciato ad avere un ruolo fondamentale
anche nel mondo reale, fatto di atomi.

Una novità interessante è MakerBot, una stampante 3D
dal 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 di
potenziali “inventori della domenica” stanno per diventare
l’industria del futuro.




                                                                                     Filippo Matteo Riggio      43
                                                                   filippo.riggio@intesys.it – Intesys S.r.l.
Risorse
Online
http://www.arduino.cc                     il sito ufficiale dove si trova quasi tutto sull’argomento
http://scuola.arduino.cc                  ottimi articoli e corsi dal livello base a quello avanzato
http://arduino.cc/forum/                  il forum della community
http://arduino.cc/playground              la wiki, contenente molte voci relative a librerie, hardware e interfaccie particolari
Ebook
Arduino Cookbook - O’Reilly               un ottimo manuale, abbastanza completo sull'argomento
30 Arduino Projects for the Evil Genius   un buon libro, con esempi e progetti interessanti
Riviste
Wired                                     ogni mese lo stesso Massimo Banzi propone un’idea da mettere in pratica
IoProgrammo                               ogni mese pubblica piccoli progetti e spunti interessanti
Software
Fritzing 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                 44
                                                                               filippo.riggio@intesys.it – Intesys S.r.l.
Grazie per l’attenzione
Filippo Matteo Riggio

filippo.riggio@intesys.it – Intesys S.r.l.

Personal blog: http://www.good2know.it
Twitter: @FMRiggio

Weitere ähnliche Inhalte

Was ist angesagt?

Fashion goes interactive by WeMake
Fashion goes interactive by WeMakeFashion goes interactive by WeMake
Fashion goes interactive by WeMakeZoe Romano
 
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a ArduinoPietro Aiuola
 
Arduino prima spiegazione
Arduino  prima spiegazioneArduino  prima spiegazione
Arduino prima spiegazioneFlaviano Fior
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphonedega1999
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Mirco Piccin
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione ArduinoAntonio Serra
 
Freedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now MilanoFreedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now Milanofreedomotic
 
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'usoRaspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'usogianlucaghettini
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshopDaniele Iori
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreMirko Mancin
 

Was ist angesagt? (20)

Arduino: domotica OpenSource
Arduino: domotica OpenSourceArduino: domotica OpenSource
Arduino: domotica OpenSource
 
Fashion goes interactive by WeMake
Fashion goes interactive by WeMakeFashion goes interactive by WeMake
Fashion goes interactive by WeMake
 
Introduzione a Arduino
Introduzione a ArduinoIntroduzione a Arduino
Introduzione a Arduino
 
Arduino prima spiegazione
Arduino  prima spiegazioneArduino  prima spiegazione
Arduino prima spiegazione
 
Conferenza Embedded - Arduino
Conferenza Embedded - ArduinoConferenza Embedded - Arduino
Conferenza Embedded - Arduino
 
Tesi Triennale
Tesi TriennaleTesi Triennale
Tesi Triennale
 
Internet delle cose
Internet delle coseInternet delle cose
Internet delle cose
 
2 e1 arduino_nuovo artigianato
2 e1 arduino_nuovo artigianato2 e1 arduino_nuovo artigianato
2 e1 arduino_nuovo artigianato
 
Arduino & Smartphone
Arduino & SmartphoneArduino & Smartphone
Arduino & Smartphone
 
Corso arduino base
Corso arduino baseCorso arduino base
Corso arduino base
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
Arduino : l'esperienza di IRES FVG - OpenSourceDay2012
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 
Freedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now MilanoFreedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now Milano
 
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'usoRaspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
 
Arduino&Raspberry
Arduino&RaspberryArduino&Raspberry
Arduino&Raspberry
 
Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshop
 
Arduino galileo edison_udoo
Arduino galileo edison_udooArduino galileo edison_udoo
Arduino galileo edison_udoo
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 
Arduino day 2017
Arduino day 2017Arduino day 2017
Arduino day 2017
 

Andere mochten auch

Arduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab VareseArduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab VareseFaberLab
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Sardegna Ricerche
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUSTOPS Italia
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Michele Maffucci
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Michele Maffucci
 
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoCorso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoMauro Alfieri
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Michele Maffucci
 
Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011Michele Maffucci
 
Programmazione in C (corso 12BHD Informatica)
Programmazione in C (corso 12BHD Informatica)Programmazione in C (corso 12BHD Informatica)
Programmazione in C (corso 12BHD Informatica)Fulvio Corno
 
Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Michele Maffucci
 
Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4Michele Maffucci
 
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Michele Maffucci
 
Starter kit del docente hi tech - v03
Starter kit del docente hi tech - v03Starter kit del docente hi tech - v03
Starter kit del docente hi tech - v03Michele Maffucci
 

Andere mochten auch (14)

Arduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab VareseArduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
Arduino, i makers e i Fablab - Mirco Piccin - Faberlab Varese
 
Workshop su Arduino
Workshop su ArduinoWorkshop su Arduino
Workshop su Arduino
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
 
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoCorso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino Genuino
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3
 
Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011
 
Programmazione in C (corso 12BHD Informatica)
Programmazione in C (corso 12BHD Informatica)Programmazione in C (corso 12BHD Informatica)
Programmazione in C (corso 12BHD Informatica)
 
Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2
 
Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4
 
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1
 
Starter kit del docente hi tech - v03
Starter kit del docente hi tech - v03Starter kit del docente hi tech - v03
Starter kit del docente hi tech - v03
 

Ähnlich wie Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo Riggio

Tesina Maturità 2012-2013
Tesina Maturità 2012-2013 Tesina Maturità 2012-2013
Tesina Maturità 2012-2013 Michele Loda
 
Visioni del futuro
Visioni del futuroVisioni del futuro
Visioni del futuroLeo Sorge
 
Internet better life
Internet better lifeInternet better life
Internet better lifeLeandro Agro'
 
Leandrò Agrò - Rinascimento=better life
Leandrò Agrò - Rinascimento=better lifeLeandrò Agrò - Rinascimento=better life
Leandrò Agrò - Rinascimento=better lifeToscanalab
 
Introduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheIntroduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheEnrico La Sala
 
Object printing for dummies [veneziacamp format]
Object printing for dummies [veneziacamp format]Object printing for dummies [veneziacamp format]
Object printing for dummies [veneziacamp format]Leo Sorge
 
WiiLD Linux Day 2010 Modica
WiiLD Linux Day 2010 ModicaWiiLD Linux Day 2010 Modica
WiiLD Linux Day 2010 ModicaBenedetto Motisi
 
Volantino Congresso 2010
Volantino Congresso 2010Volantino Congresso 2010
Volantino Congresso 2010Common Italia
 
Edilizia - Speciale "software e tecnologia"
Edilizia - Speciale "software e tecnologia"Edilizia - Speciale "software e tecnologia"
Edilizia - Speciale "software e tecnologia"Maurizio Margiotta
 
Alan tacchinelli
Alan tacchinelliAlan tacchinelli
Alan tacchinelliSMAU
 
L'impatto delle nuove tecnologie sul meeting design - The impact of new techn...
L'impatto delle nuove tecnologie sul meeting design - The impact of new techn...L'impatto delle nuove tecnologie sul meeting design - The impact of new techn...
L'impatto delle nuove tecnologie sul meeting design - The impact of new techn...Stefania Conti-Vecchi
 
Curriculum della Sisco Srl "Sistemi cognitivi" e della Media lab del 15 ottob...
Curriculum della Sisco Srl "Sistemi cognitivi" e della Media lab del 15 ottob...Curriculum della Sisco Srl "Sistemi cognitivi" e della Media lab del 15 ottob...
Curriculum della Sisco Srl "Sistemi cognitivi" e della Media lab del 15 ottob...GIOVANNI LARICCIA
 
Surfing the third_wave
Surfing the third_waveSurfing the third_wave
Surfing the third_waveLeandro Agro'
 
Le professioni dell’informatica
Le professioni dell’informaticaLe professioni dell’informatica
Le professioni dell’informaticaPivari.com
 
HTML5 cross-platform and device development: web app per tutti gli schermi
HTML5 cross-platform and device development: web app per tutti gli schermiHTML5 cross-platform and device development: web app per tutti gli schermi
HTML5 cross-platform and device development: web app per tutti gli schermimarcocasario
 
MobileDevCamp2012 - Prototipazione
MobileDevCamp2012 - PrototipazioneMobileDevCamp2012 - Prototipazione
MobileDevCamp2012 - Prototipazionemobiledevcamp
 
Impariamo a conoscere il pc
Impariamo a conoscere il pcImpariamo a conoscere il pc
Impariamo a conoscere il pcMeryweb
 

Ähnlich wie Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo Riggio (20)

Tesina Maturità 2012-2013
Tesina Maturità 2012-2013 Tesina Maturità 2012-2013
Tesina Maturità 2012-2013
 
Visioni del futuro
Visioni del futuroVisioni del futuro
Visioni del futuro
 
Internet better life
Internet better lifeInternet better life
Internet better life
 
Leandrò Agrò - Rinascimento=better life
Leandrò Agrò - Rinascimento=better lifeLeandrò Agrò - Rinascimento=better life
Leandrò Agrò - Rinascimento=better life
 
the_inner_edge_n-05
the_inner_edge_n-05the_inner_edge_n-05
the_inner_edge_n-05
 
Introduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettronicheIntroduzione all’Iot e alle schede elettroniche
Introduzione all’Iot e alle schede elettroniche
 
Tobii ceye-webSR Labs - Healthcare - Tobii C12- CEye
Tobii ceye-webSR Labs - Healthcare - Tobii C12- CEyeTobii ceye-webSR Labs - Healthcare - Tobii C12- CEye
Tobii ceye-webSR Labs - Healthcare - Tobii C12- CEye
 
Object printing for dummies [veneziacamp format]
Object printing for dummies [veneziacamp format]Object printing for dummies [veneziacamp format]
Object printing for dummies [veneziacamp format]
 
WiiLD Linux Day 2010 Modica
WiiLD Linux Day 2010 ModicaWiiLD Linux Day 2010 Modica
WiiLD Linux Day 2010 Modica
 
Volantino Congresso 2010
Volantino Congresso 2010Volantino Congresso 2010
Volantino Congresso 2010
 
Edilizia - Speciale "software e tecnologia"
Edilizia - Speciale "software e tecnologia"Edilizia - Speciale "software e tecnologia"
Edilizia - Speciale "software e tecnologia"
 
Alan tacchinelli
Alan tacchinelliAlan tacchinelli
Alan tacchinelli
 
L'impatto delle nuove tecnologie sul meeting design - The impact of new techn...
L'impatto delle nuove tecnologie sul meeting design - The impact of new techn...L'impatto delle nuove tecnologie sul meeting design - The impact of new techn...
L'impatto delle nuove tecnologie sul meeting design - The impact of new techn...
 
Curriculum della Sisco Srl "Sistemi cognitivi" e della Media lab del 15 ottob...
Curriculum della Sisco Srl "Sistemi cognitivi" e della Media lab del 15 ottob...Curriculum della Sisco Srl "Sistemi cognitivi" e della Media lab del 15 ottob...
Curriculum della Sisco Srl "Sistemi cognitivi" e della Media lab del 15 ottob...
 
Surfing the third_wave
Surfing the third_waveSurfing the third_wave
Surfing the third_wave
 
Le professioni dell’informatica
Le professioni dell’informaticaLe professioni dell’informatica
Le professioni dell’informatica
 
CVlast
CVlastCVlast
CVlast
 
HTML5 cross-platform and device development: web app per tutti gli schermi
HTML5 cross-platform and device development: web app per tutti gli schermiHTML5 cross-platform and device development: web app per tutti gli schermi
HTML5 cross-platform and device development: web app per tutti gli schermi
 
MobileDevCamp2012 - Prototipazione
MobileDevCamp2012 - PrototipazioneMobileDevCamp2012 - Prototipazione
MobileDevCamp2012 - Prototipazione
 
Impariamo a conoscere il pc
Impariamo a conoscere il pcImpariamo a conoscere il pc
Impariamo a conoscere il pc
 

Mehr von Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mehr von Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Arduino, quando un aperitivo avvicina elettronica ed informatica, by Filippo Riggio

  • 1. Arduino, quando un aperitivo avvicina elettronica ed informatica Filippo Matteo Riggio filippo.riggio@intesys.it – Intesys S.r.l. Personal blog: http://www.good2know.it Twitter: @FMRiggio
  • 2. Sommario 1. Introduzione 2. Storia 3. Arduino in profondità 4. Semplicità 5. Il nostro progetto 6. Arduino e il mobile 7. Conclusioni
  • 4. La mia esigenza – Perchè ho scelto Arduino. Il problema Ogni esigenza nasce sempre da un bisogno, un problema. Nel mio caso è il desiderio di non creare solamente prodotti virtuali, ma ottenere qualcosa di più tangibile. L'aspetto peggiore del lavoro di un programmatore è proprio quello di non creare qualcosa di materiale e tangibile, che possa dimostrare le sue vere capacità a persone che non sono dell'ambiente IT. Fino a qualche anno fa non esisteva la possibilità di programmare ad alto livello alcun tipo di hardware 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. L'esigenza di Massimo Banzi Massimo Banzi è un ex docente dell'Interaction Design Institute di Ivrea, istituto in cui i designer devono apprendere basi di elettronica per poter creare prototipi interattivi. Il problema La 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. Che cos'è Arduino? Arduino è una piccola scheda elettronica che permette di programmare facilmente 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.
  • 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. 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. 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 2° 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. 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 2° 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. 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 2° 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. 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. 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. 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. 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.
  • 18. Caratteristiche tecniche Microcontrollore ATMega (168 o 328) a 16Mhz Alimentazione USB (5 volt) o spinotto da 12V 6 Pin per l'alimentazione Input/Output 14 pin digitali 6 pin analogici FTDI USB Chip / ICSP Header Debug LED (13) / Data Trasfer LED (RX+TX) Memoria 16 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. Modelli di Arduino Arduino 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. Estensioni di Arduino Oltre ai vari modelli della scheda, esistono dei “plugin” detti shield, che permettono di rendere Arduino 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.
  • 22. Sensori ed Attuatori I 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 del fenomeno fisico (aumento di temperatura, di luminosità, ecc.). All'opposto 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. Ambiente di sviluppo L'IDE è 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, l'IDE crea un eseguibile per 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. Fritzing! Fritzing è un software free per la progettazione di schemi elettronici, dalla breadboard al circuito stampato. Questo software nasce con lo stesso spirito di Arduino, fornendo ulteriori servizi online come la community e la realizzazione del circuito vero e proprio. E’ rivolto soprattutto ai “non-ingegneri”, che generalmente utilizzano software come AutoCAD 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. Uno sketch di esempio Il codice per uno sketch è molto semplice, si basa su 2 funzioni principali: setup() e loop(). #define LEDPIN 13 void 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. Un semplice esempio Un 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 cavetti Come funziona l'LCD? L'LCD ha un suo microcontrollore interno che associa ad un intero passatogli un carattere da stampare, carattere che è una matrice di 5x8 pixel (variabile da LCD a LCD). Oltre al microcontrollore interno, l'LCD è dotato di alcuni registri per la gestione di scrittura/lettura, istruzioni in coda, ecc. Filippo Matteo Riggio 26 filippo.riggio@intesys.it – Intesys S.r.l.
  • 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 l'IDE basta andare su Sketch > Import > Library #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // istanziamo l'oggetto lcd void 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 dall'inizio del ciclo } Filippo Matteo Riggio 27 filippo.riggio@intesys.it – Intesys S.r.l.
  • 28. Altre funzioni pinMode(idPin, {INPUT || OUTPUT}); // imposta la modalità in cui deve essere un pin Serial.begin(valore); // istanzia una trasmissione seriale // di n bit al secondo int 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 1023 digitalWrite(idPin, valore); // scrive un valore (HIGH e LOW) sui pin digitali Serial.println(sensorValue, DEC); // scrive sulla porta seriale un valore unsigned long currentMillis = millis(); // la funzione millis restituisce il tempo trascorso // dall'inizio dell'esecuzione del programma Filippo Matteo Riggio 28 filippo.riggio@intesys.it – Intesys S.r.l.
  • 30. Intesys Talk Da circa un anno Intesys porta avanti un'iniziativa interna: i talk. I talk sono un occasione per favorire la condivisione della conoscenza all’interno di 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 orario extra-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 sviluppare come Arduino meeting room. Filippo Matteo Riggio 30 filippo.riggio@intesys.it – Intesys S.r.l.
  • 31. Arduino Meeting Room Dopo il talk, vista la facilità di sviluppo di progetti elettronici, si è deciso di creare qualcosa che prevedeva Arduino. Pur essendo un progetto extra-lavorativo, si è deciso di sviluppare un dispositivo che fornisse qualche beneficio aziendale. Una delle esigenze aziendali prevedeva la necessità di venire a conoscenza della presenza 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. Arduino Meeting Room La presenza delle persone all’interno della stanza viene verificata tramite un sensore audio (microfono), amplificato e passato ad arduino. La comunicazione agli altri dispositivi e all’intranet interna viene fatta tramite un ethernet shield. La visualizzazione visiva invece viene fatta tramite dei led RGB. Trovate codice e schema su github: http://github.com/FMRiggio/arduino/ Filippo Matteo Riggio 32 filippo.riggio@intesys.it – Intesys S.r.l.
  • 33. Arduino Meeting Room – Comunicazione #include <Ethernet.h> #include <Udp.h> int ledRedPins[] = { 2, 4, 6, 8 }; // Array dei pin dei LED (terminali rossi) int ledGreenPins[] = { 3, 5, 7, 9 }; // Array dei pin dei LED (terminali verdi) #define IP_START 100 // Byte meno significativo dell'indirizzo IP della stanza 0 char inBuffer[UDP_TX_PACKET_MAX_SIZE]; // Buffer to hold incoming packet, char msgBuffer[UDP_TX_PACKET_MAX_SIZE]; // String to send to other device byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MAC address della scheda Ethernet byte ip[4] = { 192, 168, 0, IP_START }; // Indirizzo IP della scheda Ethernet byte broadcastIp[4] = { 192, 168, 0, 255 }; // Broadcast IP (dove inviare i pacchetti UDP broadcast) unsigned int port = 9876; // Local port to listen on unsigned long recTime[] = { 0, 0, 0, 0 }; // Istante di ricezione dell'ultimo pacchetto UPD Filippo Matteo Riggio 33 filippo.riggio@intesys.it – Intesys S.r.l.
  • 34. Arduino Meeting Room – Comunicazione void setup() { // Setup digital/analog pins (INPUT/OUTPUT) for (int i = 0; i < 4; i++) { pinMode(ledRedPins[i], OUTPUT); pinMode(ledGreenPins[i], OUTPUT); showRoomStatus(i); // Visualizzazione stato iniziale dei Led (UNKNOWN) pinMode(dipSwitchPins[i], INPUT); digitalWrite(dipSwitchPins[i], HIGH); // Dip Switch in Pull up Resistor } int dipSwitchValue = dipSwitchRead(); // Lettura valore decimale impostato sul dip switch // I primi 2 pin del dipSwitch determinano l'identificativo numerico dato a questo Arduino thisRoomId = (dipSwitchValue % 4); // Set dell'ultimo numero dell'indirizzo IP e del MAC Address ip[3] = IP_START + thisRoomId; mac[5] = thisRoomId; // Start Ethernet and UDP Ethernet.begin(mac, ip); Udp.begin(port); } Filippo Matteo Riggio 34 filippo.riggio@intesys.it – Intesys S.r.l.
  • 35. Arduino Meeting Room – Comunicazione void loop() { int packetSize = Udp.available(); // Controllo se ci sono pacchetti broadcast if (packetSize) { Udp.readPacket(inBuffer, UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort); // Lettura pacchetto handleReceivedPacket(remoteIp, inBuffer); // salvataggio delle variabili per i controlli successivi } // Aggiorna lo stato (e i Led) delle altre stanze // se non si ricevono pacchetti di aggiornamento dalla rete checkAndUpdateStatusOfOtherRooms(); // Aggiornamento dello stato di questa stanza (utilizzando i sensori) boolean statusChanged = updateStatusOfThisRoom(); if (statusChanged || itsTimeToSendAnUpdate()) { // Invio aggiornamento di stato in broadcast String strBuffer = String(thisRoomId) + getUdpMessageStatus(roomStatus[thisRoomId]); strBuffer.toCharArray(msgBuffer, UDP_TX_PACKET_MAX_SIZE); // Preparo il pacchetto da inviare Udp.sendPacket(msgBuffer, broadcastIp, port); // Invio del pacchetto recTime[thisRoomId] = millis(); // Salvo l’istante di invio del pacchetto } } Filippo Matteo Riggio 35 filippo.riggio@intesys.it – Intesys S.r.l.
  • 36. Altri progetti sviluppati con Arduino Serratura 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 36 filippo.riggio@intesys.it – Intesys S.r.l.
  • 37. Arduino e il mobile
  • 38. Arduino e il mobile Negli ultimi anni sono nate alcune interfaccie capaci di connettere Arduino con gli smartphone più diffusi. Nel maggio 2011, Google ha presentato ADK (Android Open Accessory Development Kit), un kit di sviluppo per far comunicare lo smartphone 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 divertissero con la domotica, creando impianti di climatizzazione, risparmio energetico, cancelli, ecc.; controllabili tramite lo smartphone e Arduino. Un esempio è Giarduino. Filippo Matteo Riggio 38 filippo.riggio@intesys.it – Intesys S.r.l.
  • 39. Giarduino Giarduino è un dispositivo che permette di gestire il proprio giardino tramite smartphone o tablet. Permette di conoscere temperatura, umidità e luminosità in tempo reale ovunque ci si trovi. Con una valvola elettrica è possibile gestire anche l'impianto 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 proprio giarduino. Filippo Matteo Riggio 39 filippo.riggio@intesys.it – Intesys S.r.l.
  • 41. Conclusioni Arduino è un “ponte” tra elettronici ed informatici, che si è imposto per via del suo punto di forza, la semplicità. E’ ormai una pietra miliare in quello che è il movimento dei makers e secondo me è la svolta di quello 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 di conoscenze che non riuscivano a coprire questi 2 ambiti. Filippo Matteo Riggio 41 filippo.riggio@intesys.it – Intesys S.r.l.
  • 42. E per il futuro?
  • 43. Gli atomi sono i nuovi bit. Internet era solo l’inizio. La collaborazione di massa, il crowdsourcing e i contenuti creati dagli utenti hanno cominciato ad avere un ruolo fondamentale anche nel mondo reale, fatto di atomi. Una novità interessante è MakerBot, una stampante 3D dal 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 di potenziali “inventori della domenica” stanno per diventare l’industria del futuro. Filippo Matteo Riggio 43 filippo.riggio@intesys.it – Intesys S.r.l.
  • 44. Risorse Online http://www.arduino.cc il sito ufficiale dove si trova quasi tutto sull’argomento http://scuola.arduino.cc ottimi articoli e corsi dal livello base a quello avanzato http://arduino.cc/forum/ il forum della community http://arduino.cc/playground la wiki, contenente molte voci relative a librerie, hardware e interfaccie particolari Ebook Arduino Cookbook - O’Reilly un ottimo manuale, abbastanza completo sull'argomento 30 Arduino Projects for the Evil Genius un buon libro, con esempi e progetti interessanti Riviste Wired ogni mese lo stesso Massimo Banzi propone un’idea da mettere in pratica IoProgrammo ogni mese pubblica piccoli progetti e spunti interessanti Software Fritzing 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 44 filippo.riggio@intesys.it – Intesys S.r.l.
  • 45. Grazie per l’attenzione Filippo Matteo Riggio filippo.riggio@intesys.it – Intesys S.r.l. Personal blog: http://www.good2know.it Twitter: @FMRiggio

Hinweis der Redaktion

  1. Mi chiamo Filippo Matteo Riggio. Sono un programmatore di Intesys, un’azienda di Verona specializzata sul mondo web, applicazioni enterprise e networking.
  2. Oggi parleremo di come Arduino sia un connubio tra elettronica ed informatica, che permette a programmatori di sviluppare progetti di elettronica facilmente.
  3. Movimento dei makers
  4. Basic Stamp
  5. La storia di arduino è molto interessante…
  6. Programma 2003, hardware economico e software che gira su Mac OS x. JAL simile al pascal, abbastanza complesso.
  7. H.Barragan, studente IDI Gianluca Martino, docente IDI
  8. Gianluca Martino, docente IDI
  9. Banzi,20euro, costo medio cena Ivrea. Banzi e Cuartielles ridisegnano da zero la scheda. David Mellis porta avanti lo sviluppo dell’IDE (open source). Cuartielles e Banzi autofinanziano la produzione dei primi 600 modelli. La scheda aveva vari nomi P2005 o Wiring Lite
  10. LM35 preciso al decimo di grado.
  11. In overflow dopo max 50 giorni tornando a 0
  12. Le idee che erano venute fuori erano il “contatore” dei caffè fatti, i litri di acqua sprecata in bagno o un semaforo per la scala a chiocciola.
  13. Difficoltà principale è stata quella di trovare il sensore per rilevare la presenza all’interno della stanza. Abbiamo provato anche con un PIR(sensore di movimento ad infrarossi) ma la distanza da una parete all’altra era eccessiva.
  14. Le idee che erano venute fuori erano il “contatore” dei caffè fatti, i litri di acqua sprecata in bagno o un semaforo per la scala a chiocciola.
  15. Le idee che erano venute fuori erano il “contatore” dei caffè fatti, i litri di acqua sprecata in bagno o un semaforo per la scala a chiocciola.
  16. Le idee che erano venute fuori erano il “contatore” dei caffè fatti, i litri di acqua sprecata in bagno o un semaforo per la scala a chiocciola.