Corso di cucina fusionelettro-agile con Arduino    Roma - 19 novembre 2011 – Italian agile day                  Paolo Aliv...
1. La spesa
TInkerIngVerb: attempt to repair orimprove something in a casualor desultory way, often to nouseful effect.
Riparare
Migliorare
Nuovi oggetti
Physical ComputingBuilding interactive physical systemsby the use of software and hardwarethat can sense and respond to th...
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
CosaManca?
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 {    digitalW...
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
4iterations
5steps
Ideazione
Preparazione
Verifica
Deploy
Evoluzione
è unanovità?
Prototipi stabili
Saldare
Prototipi più stabili           Wiring
Circuiti Stampati
hwSw +hw
HWSW
Poetics of the unseen               Sunil Vallu
Poetics of the unseen               Sunil Vallu
4. le cucine
C
Blinking LEDvoid setup() {  pinMode(13, OUTPUT);}void loop() {  digitalWrite(13, HIGH);  delay(1000);  digitalWrite(13, LO...
#include <avr/io.h>#include <util/delay.h>int main(void){    DDRB = _BV(PB0);    for(;;){      PORTB = _BV(PB0);      _del...
Cosaperdo?
Cosaguadagno?
IDE
SIMULATORE
DEBUG (Gdb)
Unit test
http://www.nongnu.org/avr-libc/
Arduino Programmatore
AB Normal?
Dasa cable
5. buon appetito!
Paolo Alivertihttp://zmaker.wordpress.com@zeppelinmaker
DOMANDE?
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Upcoming SlideShare
Loading in …5
×

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

1,472 views
1,379 views

Published on

Prendete una Arduino board, alcune linee di codice, una cucchiaiata di breadboard. Spolverate con dei componenti passivi. Saldate a 200° con buono stagno. Versate in una pentola e mescolate il tutto con metodo Agile. Lasciate raffreddare per pochi secondi. Servite il vostro prototipo elettronico e lasciate di stucco i vostri clienti! Ecco la ricetta per creare rapidamente prototipi elettronici su cui sviluppare i vostri prodotti di successo. Lo sviluppo Agile si puo’ applicare anche all’elettronica senza essere grandi esperti di circuiti. Durante il workshop spiegheremo come costruire un prototipo per dimostrare il nostro approccio in un contesto diverso dal software.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,472
On SlideShare
0
From Embeds
0
Number of Embeds
506
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Corso di cucina fusionelettro-agile con Arduino Roma - 19 novembre 2011 – Italian agile day Paolo Aliverti
  2. 2. 1. La spesa
  3. 3. TInkerIngVerb: attempt to repair orimprove something in a casualor desultory way, often to nouseful effect.
  4. 4. Riparare
  5. 5. Migliorare
  6. 6. Nuovi oggetti
  7. 7. Physical ComputingBuilding interactive physical systemsby the use of software and hardwarethat can sense and respond to theanalog world
  8. 8. esplorare
  9. 9. Arte
  10. 10. Scienza
  11. 11. Modelli mentali
  12. 12. Elettronica
  13. 13. Acqua!
  14. 14. Prototipi elettronici
  15. 15. 2. cucinare
  16. 16. Spelare fili
  17. 17. Ingredienti
  18. 18. LED + -
  19. 19. Buttons
  20. 20. Resistori
  21. 21. Strisce colorate
  22. 22. Breadboard
  23. 23. Breadboard
  24. 24. Breadboard
  25. 25. Un microcontrollore
  26. 26. Una community
  27. 27. Tool di sviluppo
  28. 28. CosaManca?
  29. 29. Il software!
  30. 30. La ricetta - Sketch
  31. 31. Struttura dello Sketch setup loop
  32. 32. Step 1 – Simplest Timer
  33. 33. LED + - al pin 13 al pin GND
  34. 34. Sketch
  35. 35. void setup() { pinMode(13, OUTPUT); digitalWrite(13, LOW); delay(5000);}
  36. 36. pinMode(13, INPUT ); OUTPUT
  37. 37. pinMode(13, OUTPUT);
  38. 38. void setup() { pinMode(13, OUTPUT); digitalWrite(13, LOW); delay(5000);}
  39. 39. digitalWrite(13, HIGH ); LOW
  40. 40. digitalWrite(13, HIGH);
  41. 41. digitalWrite(13, LOW);
  42. 42. void setup() { pinMode(13, OUTPUT); digitalWrite(13, LOW); delay(5000);}
  43. 43. 5000 ms = 5s
  44. 44. void loop() { digitalWrite(13, HIGH);}
  45. 45. Verify
  46. 46. Upload
  47. 47. Restart? RESET!
  48. 48. Step 2 – usable Timer
  49. 49. Sketch
  50. 50. void setup() { pinMode(13, OUTPUT); pinMode(7, INPUT);}
  51. 51. pinMode(7, INPUT);
  52. 52. void loop() { val = digitalRead(7); if (val == HIGH) { digitalWrite(13, HIGH); delay(5000); } else { digitalWrite(13, LOW); }}
  53. 53. Step 3 – variable Timer
  54. 54. trimmer
  55. 55. Sketch
  56. 56. void loop() { t0 = analogRead(A0); … delay(t0);}
  57. 57. Step 4 – alarm Timer
  58. 58. PWM – Pulse Width Modulation
  59. 59. analogWrite(9, [0:255]);
  60. 60. PWM pins (~)
  61. 61. tone(pin, freq, len);
  62. 62. 3. Il Pranzo
  63. 63. 4iterations
  64. 64. 5steps
  65. 65. Ideazione
  66. 66. Preparazione
  67. 67. Verifica
  68. 68. Deploy
  69. 69. Evoluzione
  70. 70. è unanovità?
  71. 71. Prototipi stabili
  72. 72. Saldare
  73. 73. Prototipi più stabili Wiring
  74. 74. Circuiti Stampati
  75. 75. hwSw +hw
  76. 76. HWSW
  77. 77. Poetics of the unseen Sunil Vallu
  78. 78. Poetics of the unseen Sunil Vallu
  79. 79. 4. le cucine
  80. 80. C
  81. 81. Blinking LEDvoid setup() { pinMode(13, OUTPUT);}void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000);}
  82. 82. #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;}
  83. 83. Cosaperdo?
  84. 84. Cosaguadagno?
  85. 85. IDE
  86. 86. SIMULATORE
  87. 87. DEBUG (Gdb)
  88. 88. Unit test
  89. 89. http://www.nongnu.org/avr-libc/
  90. 90. Arduino Programmatore
  91. 91. AB Normal?
  92. 92. Dasa cable
  93. 93. 5. buon appetito!
  94. 94. Paolo Alivertihttp://zmaker.wordpress.com@zeppelinmaker
  95. 95. DOMANDE?

×