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

Workshop su Arduino

Jan 12, 2015

Download

Self Improvement

Paolo Aliverti

Dispense del workshop su Arduino.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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]