Programmazione degli ATTiny - Il computer nella scarpa

Post on 29-Jun-2015

368 views 0 download

description

Slide del workshop di programmazione del chip ATTiny come sostituto di arduino. Il chip ATTiny, di costo contenuto e di piccole dimensioni può stare in una scarpa (!) e può aiutarci nella realizzazione di progetti di Physical Computing

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); }}

http://www.zeppelinmaker.it

paolo.aliverti@gmail.com