Programmazione degli ATTiny - Il computer nella scarpa
-
Upload
paolo-aliverti -
Category
Self Improvement
-
view
368 -
download
0
description
Transcript of Programmazione degli ATTiny - Il computer nella scarpa
Arduino: verso l'infinito e oltre
Il computer nella scarpa
http://www.zeppelinmaker.it
Questa sera vi racconto una storia... C'era una volta un re direte voi...Nel 200x Neil Gx si inventa un corso per fabbricazione personale
Apre un laboratorio in cui è possibile fare quello che spiega nel corso
Cosa si fa nel laboratorio: [vedi libro]
Il laboratorio cresce e diventa il Center x bit & atoms
C'era una volta un re...
Neil Gershenfeld
La teoria
La pratica
FabLab
Elettronica
Physical Computing
Il computer nella scarpa
Macchina di Turing
Elaboratore
Cosa ci serve questa sera?
Un programmatore
Un computer da scarpa
Breadboard
Componenti
Tool di sviluppo
Sketch
Struttura dello Sketch
setup
loop
Trasformare Arduino in un programmatore di computer da scarpa
Avviamo arduino (il tool)
Installiamo la patch
Dove?
Crea una nuova cartella “hardware”
Copia qui il contenuto dello zip
Restart Arduino (tool)
Cosa funziona? pinMode() digitalWrite() digitalRead() analogRead() analogWrite() delay() shiftOut() pulseIn() millis() micros() delayMicroseconds()
Spelare fili
Collegamenti
Collegamenti
+ -
LED
Resistori
Strisce colorate
Attiny 85
Lab 1 - Hello World
Lab 1 - Hello World
Sketch
Verify
Upload
int pin = 0;
0
pin
int pin = 0;
void setup() { pinMode(pin, OUTPUT);
}
void setup() { pinMode(pin, OUTPUT);
}
void setup() { pinMode(pin, );
}
INPUTOUTPUT
void setup() { pinMode(0, OUTPUT);
}
void loop() { digitalWrite(pin, HIGH); delay(100);digitalWrite(pin, LOW); delay(500);
}
void loop() { digitalWrite(pin, HIGH); delay(100);digitalWrite(pin, LOW); delay(500);
}
void loop() { digitalWrite(pin, HIGH); delay(5000);digitalWrite(pin, LOW); delay(5000);
}
1000 ms = 1s
Esercizio
Prova tutte le usciteDell'Attiny
Attiny 85 - Pin
Lab 2 – Fading Led
PWM – Pulse Width Modulation
Attiny 85 - PWM
Sketch
analogWrite(pin, 0);
analogWrite(pin, 127);
analogWrite(pin, 250);
int i = 0;int led = 0;
void loop() { for (i = 0; i < 255; i++) { analogWrite(led, i); delay(10); } for (i = 255; i > 0; i--) { analogWrite(led, i); delay(10); }}
analogWrite(led, numero);
digitalWrite(led, HIGH/LOW);
0 : 255
void loop() { for (i = 0; i < 255; i++) { analogWrite(led, i); delay(10); } for (i = 255; i > 0; i--) { analogWrite(led, i); delay(10); }}