SlideShare una empresa de Scribd logo
1 de 136
Descargar para leer sin conexión
Corso di cucina fusion
elettro-agile con Arduino




    Roma - 19 novembre 2011 – Italian agile day
                  Paolo Aliverti
1. La spesa
TInkerIng
Verb: attempt to repair or
improve something in a casual
or desultory way, often to no
useful effect.
Riparare
Migliorare
Nuovi oggetti
Physical Computing
Building interactive physical systems
by the use of software and hardware
that can sense and respond to the
analog world
esplorare
Arte
Scienza
Modelli mentali
Elettronica
Acqua!
Prototipi elettronici
2. cucinare
Spelare fili
Ingredienti
LED

      +   -
Buttons
Resistori
Strisce colorate
Breadboard
Breadboard
Breadboard
Un microcontrollore
Una community
Tool di sviluppo
Cosa
Manca?
Il software!
La ricetta - Sketch
Struttura dello Sketch
       setup

       loop
Step 1 – Simplest Timer
LED

             +      -




      al pin 13   al pin GND
Sketch
void setup() {
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  delay(5000);
}
pinMode(13, INPUT  );
            OUTPUT
pinMode(13, OUTPUT);
void setup() {
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  delay(5000);
}
digitalWrite(13, HIGH );
                 LOW
digitalWrite(13, HIGH);
digitalWrite(13, LOW);
void setup() {
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  delay(5000);
}
5000 ms = 5s
void loop() {
  digitalWrite(13, HIGH);
}
Verify
Upload
Restart? RESET!
Step 2 – usable Timer
Sketch
void setup() {
  pinMode(13, OUTPUT);
  pinMode(7, INPUT);
}
pinMode(7, INPUT);
void loop() {
   val = digitalRead(7);
  if (val == HIGH) {
    digitalWrite(13, HIGH);
    delay(5000);
  } else {
    digitalWrite(13, LOW);
  }
}
Step 3 – variable Timer
trimmer
Sketch
void loop() {

    t0 = analogRead(A0);
    …
    delay(t0);

}
Step 4 – alarm Timer
PWM – Pulse Width Modulation
analogWrite(9, [0:255]);
PWM pins (~)
tone(pin, freq, len);
3. Il Pranzo
4
iterations
5
steps
Ideazione
Preparazione
Verifica
Deploy
Evoluzione
è una
novità?
Prototipi stabili
Saldare
Prototipi più stabili




           Wiring
Circuiti Stampati
hw

Sw
 +
hw
HW




SW
Poetics of the unseen




               Sunil Vallu
Poetics of the unseen




               Sunil Vallu
4. le cucine
C
Blinking LED
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRB = _BV(PB0);
    for(;;){
      PORTB = _BV(PB0);
      _delay_ms(1000);
      PORTB = 0;
      _delay_ms(1000);
    }
    return 0;
}
Cosa
perdo?
Cosa
guadagno?
IDE
SIMULATORE
DEBUG



 (Gdb)
Unit test
http://www.nongnu.org/avr-libc/
Arduino Programmatore
AB Normal?
Dasa cable
5. buon appetito!
Paolo Aliverti
http://zmaker.wordpress.com
@zeppelinmaker
DOMANDE?

Más contenido relacionado

Destacado

Frankensteingarage Milano
Frankensteingarage MilanoFrankensteingarage Milano
Frankensteingarage MilanoPaolo Aliverti
 
IBM Watson Analytics, Big Data & Internet of Things
IBM Watson Analytics, Big Data & Internet of ThingsIBM Watson Analytics, Big Data & Internet of Things
IBM Watson Analytics, Big Data & Internet of ThingsPaolo Aliverti
 
Introduzione a Internet delle cose - fai twittare la tua caffettiera in 5 minuti
Introduzione a Internet delle cose - fai twittare la tua caffettiera in 5 minutiIntroduzione a Internet delle cose - fai twittare la tua caffettiera in 5 minuti
Introduzione a Internet delle cose - fai twittare la tua caffettiera in 5 minutiPaolo Aliverti
 
Workshop Elettronica di Base: "L'elettronica della sciura Maria"
Workshop Elettronica di Base: "L'elettronica della sciura Maria"Workshop Elettronica di Base: "L'elettronica della sciura Maria"
Workshop Elettronica di Base: "L'elettronica della sciura Maria"Paolo Aliverti
 
Internet of Things for Dummies
Internet of Things for DummiesInternet of Things for Dummies
Internet of Things for DummiesPaolo Aliverti
 

Destacado (8)

Frankensteingarage Milano
Frankensteingarage MilanoFrankensteingarage Milano
Frankensteingarage Milano
 
Heavy Arduino
Heavy ArduinoHeavy Arduino
Heavy Arduino
 
IBM Watson Analytics, Big Data & Internet of Things
IBM Watson Analytics, Big Data & Internet of ThingsIBM Watson Analytics, Big Data & Internet of Things
IBM Watson Analytics, Big Data & Internet of Things
 
Introduzione a Internet delle cose - fai twittare la tua caffettiera in 5 minuti
Introduzione a Internet delle cose - fai twittare la tua caffettiera in 5 minutiIntroduzione a Internet delle cose - fai twittare la tua caffettiera in 5 minuti
Introduzione a Internet delle cose - fai twittare la tua caffettiera in 5 minuti
 
Workshop Elettronica di Base: "L'elettronica della sciura Maria"
Workshop Elettronica di Base: "L'elettronica della sciura Maria"Workshop Elettronica di Base: "L'elettronica della sciura Maria"
Workshop Elettronica di Base: "L'elettronica della sciura Maria"
 
Internet of Things for Dummies
Internet of Things for DummiesInternet of Things for Dummies
Internet of Things for Dummies
 
Cleaning Your Cool Brand
Cleaning Your Cool BrandCleaning Your Cool Brand
Cleaning Your Cool Brand
 
Slides That Rock
Slides That RockSlides That Rock
Slides That Rock
 

Similar a Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino

Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileCommit University
 
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
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino Matteo Troìa
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoRiccardo Lemmi
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteMirco Sbrollini
 
Arduino - il mio primo sketch
Arduino - il mio primo sketchArduino - il mio primo sketch
Arduino - il mio primo sketcheugenio pombi
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Salvatore Carotenuto
 
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Luigi Francesco Cerfeda
 
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliRoberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliDemetrio Siragusa
 
Il plc linguaggi program
Il plc linguaggi programIl plc linguaggi program
Il plc linguaggi programGilda Tobia
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreMirko Mancin
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreMirko Mancin
 
Introduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: ArduinoIntroduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: ArduinoStefano Varano
 
Presentazione simon cube
Presentazione simon cubePresentazione simon cube
Presentazione simon cubeLeopoldo Dorigo
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 

Similar a Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino (20)

Workshop Arduino by Fiore Basile
Workshop Arduino by Fiore BasileWorkshop Arduino by Fiore Basile
Workshop Arduino by Fiore Basile
 
Internet delle cose
Internet delle coseInternet delle cose
Internet delle cose
 
Arduino&Raspberry
Arduino&RaspberryArduino&Raspberry
Arduino&Raspberry
 
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
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino
 
Open Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italianoOpen Hardware: Arduino, un prodotto italiano
Open Hardware: Arduino, un prodotto italiano
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
 
Arduino - il mio primo sketch
Arduino - il mio primo sketchArduino - il mio primo sketch
Arduino - il mio primo sketch
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
 
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
Workshop: Arduino for makers - Cenni di progettazione elettronica ed utilizzo...
 
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliRoberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
 
Il plc linguaggi program
Il plc linguaggi programIl plc linguaggi program
Il plc linguaggi program
 
Arduino ICT2016 [IT]
Arduino ICT2016 [IT]Arduino ICT2016 [IT]
Arduino ICT2016 [IT]
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 ore
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 
Introduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: ArduinoIntroduzione all'elettronica con i microcontrollori: Arduino
Introduzione all'elettronica con i microcontrollori: Arduino
 
Presentazione simon cube
Presentazione simon cubePresentazione simon cube
Presentazione simon cube
 
Arduino base
Arduino baseArduino base
Arduino base
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 

Más de Paolo Aliverti

Corso di prototipazione elettronica
Corso di prototipazione elettronicaCorso di prototipazione elettronica
Corso di prototipazione elettronicaPaolo Aliverti
 
Come riparare (quasi) ogni cosa
Come riparare (quasi) ogni cosaCome riparare (quasi) ogni cosa
Come riparare (quasi) ogni cosaPaolo Aliverti
 
Meccanica per Maker - Corso di Digital Fabrication presso la scuola Cova
Meccanica per Maker - Corso di Digital Fabrication presso la scuola CovaMeccanica per Maker - Corso di Digital Fabrication presso la scuola Cova
Meccanica per Maker - Corso di Digital Fabrication presso la scuola CovaPaolo Aliverti
 
Digital Fabrication, IoT e Agile Business - Be@ctive - Provincia di Lodi
Digital Fabrication, IoT e Agile Business - Be@ctive - Provincia di LodiDigital Fabrication, IoT e Agile Business - Be@ctive - Provincia di Lodi
Digital Fabrication, IoT e Agile Business - Be@ctive - Provincia di LodiPaolo Aliverti
 
Scanner 3D e Reverse Engineering
Scanner 3D e Reverse EngineeringScanner 3D e Reverse Engineering
Scanner 3D e Reverse EngineeringPaolo Aliverti
 
Scanner 3D e reverse Engineering
Scanner 3D e reverse EngineeringScanner 3D e reverse Engineering
Scanner 3D e reverse EngineeringPaolo Aliverti
 
Corso di Disegno, CAD e Design per principianti
Corso di Disegno, CAD e Design per principiantiCorso di Disegno, CAD e Design per principianti
Corso di Disegno, CAD e Design per principiantiPaolo Aliverti
 
Makeforum2014 - il disegno e i cad (per la stampa 3d)
Makeforum2014 - il disegno e i cad (per la stampa 3d)Makeforum2014 - il disegno e i cad (per la stampa 3d)
Makeforum2014 - il disegno e i cad (per la stampa 3d)Paolo Aliverti
 
Corso di stampa 3D - parte 2
Corso di stampa 3D - parte 2Corso di stampa 3D - parte 2
Corso di stampa 3D - parte 2Paolo Aliverti
 
Corso di stampa 3D - parte 1
Corso di stampa 3D - parte 1Corso di stampa 3D - parte 1
Corso di stampa 3D - parte 1Paolo Aliverti
 
IFF - Ied for Future - FabLab
IFF - Ied for Future - FabLabIFF - Ied for Future - FabLab
IFF - Ied for Future - FabLabPaolo Aliverti
 
Codemotion 2012 - Con le mani puoi... programmare
Codemotion 2012 - Con le mani puoi... programmareCodemotion 2012 - Con le mani puoi... programmare
Codemotion 2012 - Con le mani puoi... programmarePaolo Aliverti
 
Catania 2013 - !st Ten Thousand Steps Club Meeting
Catania 2013 - !st Ten Thousand Steps Club MeetingCatania 2013 - !st Ten Thousand Steps Club Meeting
Catania 2013 - !st Ten Thousand Steps Club MeetingPaolo Aliverti
 
CreaAttiva 2013 - Co-working: l'unione fa la forza
CreaAttiva 2013 - Co-working: l'unione fa la forzaCreaAttiva 2013 - Co-working: l'unione fa la forza
CreaAttiva 2013 - Co-working: l'unione fa la forzaPaolo Aliverti
 
Programmazione degli ATTiny - Il computer nella scarpa
Programmazione degli ATTiny - Il computer nella scarpaProgrammazione degli ATTiny - Il computer nella scarpa
Programmazione degli ATTiny - Il computer nella scarpaPaolo Aliverti
 
Introduzione a RaspBerry PI
Introduzione a RaspBerry PIIntroduzione a RaspBerry PI
Introduzione a RaspBerry PIPaolo Aliverti
 
Arscientia secondo dialogo
Arscientia secondo dialogoArscientia secondo dialogo
Arscientia secondo dialogoPaolo Aliverti
 
Physical Computing - Tutto intorno a te
Physical Computing - Tutto intorno a tePhysical Computing - Tutto intorno a te
Physical Computing - Tutto intorno a tePaolo Aliverti
 

Más de Paolo Aliverti (20)

Physical computing
Physical computingPhysical computing
Physical computing
 
Corso di prototipazione elettronica
Corso di prototipazione elettronicaCorso di prototipazione elettronica
Corso di prototipazione elettronica
 
Come riparare (quasi) ogni cosa
Come riparare (quasi) ogni cosaCome riparare (quasi) ogni cosa
Come riparare (quasi) ogni cosa
 
Meccanica per Maker - Corso di Digital Fabrication presso la scuola Cova
Meccanica per Maker - Corso di Digital Fabrication presso la scuola CovaMeccanica per Maker - Corso di Digital Fabrication presso la scuola Cova
Meccanica per Maker - Corso di Digital Fabrication presso la scuola Cova
 
Digital Fabrication, IoT e Agile Business - Be@ctive - Provincia di Lodi
Digital Fabrication, IoT e Agile Business - Be@ctive - Provincia di LodiDigital Fabrication, IoT e Agile Business - Be@ctive - Provincia di Lodi
Digital Fabrication, IoT e Agile Business - Be@ctive - Provincia di Lodi
 
Scanner 3D e Reverse Engineering
Scanner 3D e Reverse EngineeringScanner 3D e Reverse Engineering
Scanner 3D e Reverse Engineering
 
Scanner 3D e reverse Engineering
Scanner 3D e reverse EngineeringScanner 3D e reverse Engineering
Scanner 3D e reverse Engineering
 
Corso di Disegno, CAD e Design per principianti
Corso di Disegno, CAD e Design per principiantiCorso di Disegno, CAD e Design per principianti
Corso di Disegno, CAD e Design per principianti
 
Makeforum2014 - il disegno e i cad (per la stampa 3d)
Makeforum2014 - il disegno e i cad (per la stampa 3d)Makeforum2014 - il disegno e i cad (per la stampa 3d)
Makeforum2014 - il disegno e i cad (per la stampa 3d)
 
Corso di stampa 3D - parte 2
Corso di stampa 3D - parte 2Corso di stampa 3D - parte 2
Corso di stampa 3D - parte 2
 
Corso di stampa 3D - parte 1
Corso di stampa 3D - parte 1Corso di stampa 3D - parte 1
Corso di stampa 3D - parte 1
 
IFF - Ied for Future - FabLab
IFF - Ied for Future - FabLabIFF - Ied for Future - FabLab
IFF - Ied for Future - FabLab
 
Codemotion 2012 - Con le mani puoi... programmare
Codemotion 2012 - Con le mani puoi... programmareCodemotion 2012 - Con le mani puoi... programmare
Codemotion 2012 - Con le mani puoi... programmare
 
Catania 2013 - !st Ten Thousand Steps Club Meeting
Catania 2013 - !st Ten Thousand Steps Club MeetingCatania 2013 - !st Ten Thousand Steps Club Meeting
Catania 2013 - !st Ten Thousand Steps Club Meeting
 
CreaAttiva 2013 - Co-working: l'unione fa la forza
CreaAttiva 2013 - Co-working: l'unione fa la forzaCreaAttiva 2013 - Co-working: l'unione fa la forza
CreaAttiva 2013 - Co-working: l'unione fa la forza
 
Programmazione degli ATTiny - Il computer nella scarpa
Programmazione degli ATTiny - Il computer nella scarpaProgrammazione degli ATTiny - Il computer nella scarpa
Programmazione degli ATTiny - Il computer nella scarpa
 
Introduzione a RaspBerry PI
Introduzione a RaspBerry PIIntroduzione a RaspBerry PI
Introduzione a RaspBerry PI
 
Arscientia secondo dialogo
Arscientia secondo dialogoArscientia secondo dialogo
Arscientia secondo dialogo
 
Physical Computing - Tutto intorno a te
Physical Computing - Tutto intorno a tePhysical Computing - Tutto intorno a te
Physical Computing - Tutto intorno a te
 
Frankenstein Garage
Frankenstein GarageFrankenstein Garage
Frankenstein Garage
 

Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino