workshop su arduino

136
Workshop su Arduino http://www.zeppelinmaker.it

Upload: paolo-aliverti

Post on 12-Jan-2015

320 views

Category:

Self Improvement


1 download

DESCRIPTION

Dispense del workshop su Arduino.

TRANSCRIPT

Page 1: Workshop su Arduino

Workshop su Arduinohttp://www.zeppelinmaker.it

Page 2: Workshop su Arduino

Prototipi elettronici

Page 3: Workshop su Arduino

Breadboard

Page 4: Workshop su Arduino

Saldare

Page 5: Workshop su Arduino

Prototipi più stabili

Page 6: Workshop su Arduino

Prototipi più stabiliWiring

Page 7: Workshop su Arduino
Page 8: Workshop su Arduino

Una scheda

Page 9: Workshop su Arduino
Page 10: Workshop su Arduino

Una community

Page 11: Workshop su Arduino

Tool di sviluppo

Page 12: Workshop su Arduino

Sketch

Page 13: Workshop su Arduino

Struttura dello Sketch

setup

loop

Page 14: Workshop su Arduino

+ -

LED

Page 15: Workshop su Arduino

Lab 1 - Hello World

Page 16: Workshop su Arduino

+ -

LED

al pin 13 al pin GND

Page 17: Workshop su Arduino
Page 18: Workshop su Arduino

Sketch

Page 19: Workshop su Arduino

Verify

Page 20: Workshop su Arduino

Upload

Page 21: Workshop su Arduino
Page 22: Workshop su Arduino

PIN e alimentazioni

Page 23: Workshop su Arduino

PIN e alimentazioni

Page 24: Workshop su Arduino

PIN e alimentazioni

Page 25: Workshop su Arduino

PIN e alimentazioni

Page 26: Workshop su Arduino

PIN e alimentazioni

Page 27: Workshop su Arduino

Menate da Ingegnere

Page 28: Workshop su Arduino

Devo dire sempre quando finisce una riga

;

Page 29: Workshop su Arduino

Ci vuole ordineSi fa ordine con

{}

Page 30: Workshop su Arduino

Maiuscole e Minuscolo sono importanti!

A != a

Page 31: Workshop su Arduino

I commenti lunghi, su più righe sono racchiusi da

/* e*/

Page 32: Workshop su Arduino

Note e commenti sono precedute da

//

// è una nota

Page 33: Workshop su Arduino

setup(){

}

sketch

Page 34: Workshop su Arduino
Page 35: Workshop su Arduino

Devo dire come si devono comportare i rubinetti e i pozzetti

Page 36: Workshop su Arduino

void setup() { pinMode(13, OUTPUT);

}

Page 37: Workshop su Arduino

void setup() { pinMode(13, );

}

INPUTOUTPUT

Page 38: Workshop su Arduino

void setup() { pinMode(13, OUTPUT);

}

Page 39: Workshop su Arduino

loop(){

}

sketch

Page 40: Workshop su Arduino

void loop() { digitalWrite(13, HIGH); delay(5000);digitalWrite(13, LOW); delay(5000);

}

Page 41: Workshop su Arduino

void loop() { digitalWrite(13, HIGH); delay(5000);digitalWrite(13, LOW); delay(5000);

}

Page 42: Workshop su Arduino

1 / 0

Page 43: Workshop su Arduino

ON / OFF

Page 44: Workshop su Arduino

5v / 0v

Page 45: Workshop su Arduino

HIGH / LOW

Page 46: Workshop su Arduino

void loop() { digitalWrite(13, HIGH); delay(5000);digitalWrite(13, LOW); delay(5000);

}

Page 47: Workshop su Arduino

digitalWrite(13, HIGH);

Page 48: Workshop su Arduino

digitalWrite(13, LOW);

Page 49: Workshop su Arduino

void loop() { digitalWrite(13, HIGH); delay(5000);digitalWrite(13, LOW); delay(5000);

}

Page 50: Workshop su Arduino

5000 ms = 5s

Page 51: Workshop su Arduino

Modifichiamo i tempi...

Esercizio

Page 52: Workshop su Arduino

Lab 2 - Timer

Page 53: Workshop su Arduino

Sketch

Page 54: Workshop su Arduino

Restart?

Page 55: Workshop su Arduino

PIN e alimentazioni

Page 56: Workshop su Arduino

Restart? RESET!

Page 57: Workshop su Arduino

Lab – PWM

Page 58: Workshop su Arduino

PWM – Pulse Width Modulation

Page 59: Workshop su Arduino
Page 60: Workshop su Arduino

AnalogWrite()

Non produce valori continui, ma solo PWM

Page 61: Workshop su Arduino

void setup() { pinMode(11, OUTPUT);}

void loop() {analogWrite(9, 10);

}

Page 62: Workshop su Arduino

analogWrite(9, numero);

digitalWrite(9, HIGH/LOW);

0 : 255

Page 63: Workshop su Arduino

Cos'è?

int i = 0;

Page 64: Workshop su Arduino

Una “Variabile”

Page 65: Workshop su Arduino

Cassetto che contiene delle cose

Page 66: Workshop su Arduino
Page 67: Workshop su Arduino

Le cose:

calzinimagliette

posateint

Page 68: Workshop su Arduino

Nomi di cassetti:

Cassetto dei calziniCassetto delle posate

volumei

Page 69: Workshop su Arduino

Nomi di cassetti:

int volume;calzini “cassetto dei calzini”;

Page 70: Workshop su Arduino

int è un tipo di cassetto adatto per contenere

numeri

int volume = 100;

Page 71: Workshop su Arduino

Dove posso mettere i cassetti?

Page 72: Workshop su Arduino

Setup(){int a = 0;

}

int b = 10;

Page 73: Workshop su Arduino

Setup(){ a = 100;

}

int a = 0;

Page 74: Workshop su Arduino

Lab – Push Button

Page 75: Workshop su Arduino

Breadboard

Page 76: Workshop su Arduino

Buttons

Page 77: Workshop su Arduino
Page 78: Workshop su Arduino
Page 79: Workshop su Arduino
Page 80: Workshop su Arduino
Page 81: Workshop su Arduino
Page 82: Workshop su Arduino

Collegamento

Page 83: Workshop su Arduino

Collegamento

Page 84: Workshop su Arduino

Sketch

Page 85: Workshop su Arduino

int val = 0;

Page 86: Workshop su Arduino

void setup() { pinMode(13, OUTPUT);

pinMode(7, INPUT); }

Page 87: Workshop su Arduino

val = digitalRead(7);

HIGHLOW

val

Page 88: Workshop su Arduino

void loop() { val = digitalRead(7);

if (val == HIGH) { digitalWrite(13, HIGH); delay(5000); } else { digitalWrite(13, LOW); }}

Page 89: Workshop su Arduino
Page 90: Workshop su Arduino

Lab – Termistore

Page 91: Workshop su Arduino

PIN e alimentazioni

Page 92: Workshop su Arduino

Collegamento

Page 93: Workshop su Arduino

Collegamento

Page 94: Workshop su Arduino

Termistore – Circuito

Page 95: Workshop su Arduino

Sketch

void setup() {Serial.begin(9600);

}

void loop() {Serial.println(analogRead(A0));

}

Page 96: Workshop su Arduino
Page 97: Workshop su Arduino
Page 98: Workshop su Arduino

analogRead(A0);

0 – 1023

A0 A1 A2 A3 A4 A5

Page 99: Workshop su Arduino

5v / 1024 = 0.0049v

1 step = 4.9mV

Page 100: Workshop su Arduino

Lab - termostato caldaia

Page 101: Workshop su Arduino

Termostato – Circuito

Page 102: Workshop su Arduino

Sketchvoid setup() {

pinMode(13, OUTPUT);}

void loop() {If ( analogRead(A0) > 500 ) {

digitalWrite(13, HIGH);} else {

digitalWrite(13, LOW);}

}

Page 103: Workshop su Arduino

Lab – Guardiamo dentro

Page 104: Workshop su Arduino
Page 105: Workshop su Arduino

void setup() {

Serial.begin(9600); Serial.println("Hello Computer"); }

Page 106: Workshop su Arduino
Page 107: Workshop su Arduino
Page 108: Workshop su Arduino

digitalReadanalogReaddigitalWriteanalogWrite

Page 109: Workshop su Arduino

Extra

Page 110: Workshop su Arduino

Lab – Sweep

Page 111: Workshop su Arduino

Sketch

Page 112: Workshop su Arduino

int i = 0;

Page 113: Workshop su Arduino

void setup() { pinMode(9, OUTPUT);}

Page 114: Workshop su Arduino

void loop() { for (i = 0; i < 255; i++) { analogWrite(9, i); delay(10); } for (i = 255; i > 0; i--) { analogWrite(9, i); delay(10); }}

Page 115: Workshop su Arduino

void loop() { for (i = 0; i < 255; i++) { analogWrite(9, i); delay(10); } for (i = 255; i > 0; i--) { analogWrite(9, i); delay(10); }}

Page 116: Workshop su Arduino

trimmer

Page 117: Workshop su Arduino
Page 118: Workshop su Arduino
Page 119: Workshop su Arduino
Page 120: Workshop su Arduino

Sketch

Page 121: Workshop su Arduino

void loop() {

durata = analogRead(A0); ...}

Page 122: Workshop su Arduino
Page 123: Workshop su Arduino

Letture

Page 124: Workshop su Arduino
Page 125: Workshop su Arduino
Page 126: Workshop su Arduino
Page 127: Workshop su Arduino
Page 128: Workshop su Arduino
Page 129: Workshop su Arduino
Page 130: Workshop su Arduino
Page 131: Workshop su Arduino
Page 132: Workshop su Arduino
Page 133: Workshop su Arduino
Page 134: Workshop su Arduino

http://blog.minibloq.org/

Page 135: Workshop su Arduino

Materiali

Led – alta intensità o brillanteButton/switchTrimmer 22k o 4M7Res x2 100k o 10k

Breadboard

PcArduinoCavoSoftware (arduino + jdk + ftdi)

Page 136: Workshop su Arduino

http://www.zeppelinmaker.it

[email protected]