workshop arduino e sensori

79
Arduino e sensori http://www.zeppelinmaker.it

Upload: paolo-aliverti

Post on 18-Dec-2014

459 views

Category:

Self Improvement


4 download

DESCRIPTION

Sono le dispense del corso/workshop su arduino e l'impiego dei sensori. Nel corso spiego come utilizzare i sensori analogici e digitali.

TRANSCRIPT

Page 1: Workshop arduino e sensori

Arduino e sensori

http://www.zeppelinmaker.it

Page 2: Workshop arduino e sensori

Analogici / Digitali(Complessi)

Page 3: Workshop arduino e sensori

Sensori

PulsanteTermistore

FotoresistenzaRilevatore di pressione

Page 4: Workshop arduino e sensori

Push Button

Page 5: Workshop arduino e sensori

Pulsanti

Page 6: Workshop arduino e sensori
Page 7: Workshop arduino e sensori
Page 8: Workshop arduino e sensori

+ -

LED

al pin 13 al pin GND

Page 9: Workshop arduino e sensori

Resistenza

Page 10: Workshop arduino e sensori

Resistenza

non ha un verso

Page 11: Workshop arduino e sensori
Page 12: Workshop arduino e sensori

Collegamento

Page 13: Workshop arduino e sensori

Collegamento

Page 14: Workshop arduino e sensori

Collegamento

Page 15: Workshop arduino e sensori
Page 16: Workshop arduino e sensori

Sketchvoid setup() {

pinMode(13, OUTPUT);pinMode(7, INPUT);

}

void loop() {If (digitalRead(7) == HIGH) {

digitalWrite(13, HIGH);} else {

digitalWrite(13, LOW);}

}

Page 17: Workshop arduino e sensori

Termistore

Page 18: Workshop arduino e sensori

Termistore - PTCCome funziona?

temperatura

resi

sten

za

Page 19: Workshop arduino e sensori

Termistore - NTCCome funziona?

temperatura

resi

sten

za

Page 20: Workshop arduino e sensori

Lab - termistore

Page 21: Workshop arduino e sensori

Collegamento

Page 22: Workshop arduino e sensori

Collegamento

Page 23: Workshop arduino e sensori
Page 24: Workshop arduino e sensori

Sketch

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

}

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

}

Page 25: Workshop arduino e sensori
Page 26: Workshop arduino e sensori
Page 27: Workshop arduino e sensori

analogRead(A0);

0 – 1023

A0 A1 A2 A3 A4 A5

Page 28: Workshop arduino e sensori

5v / 1024 = 0.0049v

1 step = 4.9mV

Page 29: Workshop arduino e sensori

Lab - termostato caldaia

Page 30: Workshop arduino e sensori

Termostato

Page 31: Workshop arduino e sensori

Sketchvoid setup() {

pinMode(13, OUTPUT);}

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

digitalWrite(13, HIGH);} else {

digitalWrite(13, LOW);}

}

Page 32: Workshop arduino e sensori

Altri sensori di temperatura

Page 33: Workshop arduino e sensori

LM36

Page 34: Workshop arduino e sensori

LM36

Page 35: Workshop arduino e sensori

LM36n : 1024 = Vs : 5v

n:1024 = Vs:5000

Ora devo convertire la tensione in una lettura di temperatura: Ts. C'è un coeff. di conversione che vale 10mV/°C

Ts=Vs10

=(5000⋅n)

1024⋅(

110

)=(500⋅n)

1024

Vs=(n⋅5000)

1024

Page 36: Workshop arduino e sensori

LM36

Page 37: Workshop arduino e sensori

Termocoppia

Page 38: Workshop arduino e sensori

Termocoppia

Page 39: Workshop arduino e sensori

Completare il termostato rendendolo regolabile

Page 40: Workshop arduino e sensori

Trimmer

Page 41: Workshop arduino e sensori

trimmer

Page 42: Workshop arduino e sensori
Page 43: Workshop arduino e sensori
Page 44: Workshop arduino e sensori
Page 45: Workshop arduino e sensori

Sketch

Page 46: Workshop arduino e sensori

void loop() {

dur = analogRead(A0); ...}

Page 47: Workshop arduino e sensori

Fotoresistenza

Page 48: Workshop arduino e sensori

FotoresistenzaCome funziona?

luce

resi

sten

za

Page 49: Workshop arduino e sensori

Collegamento

Page 50: Workshop arduino e sensori

Collegamento

Page 51: Workshop arduino e sensori
Page 52: Workshop arduino e sensori

Sketch

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

}

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

}

Page 53: Workshop arduino e sensori

Lab - led foto sensibile

Page 54: Workshop arduino e sensori

Sketchvoid setup() {

pinMode(9, OUTPUT);}

void loop() {int val = analogRead(A0);delay(500);val = map(val, 0, 1023, 255, 0);

AnalogWrite(9, val);

}

Page 55: Workshop arduino e sensori

PWM - Pulse Width Modulation

Page 56: Workshop arduino e sensori

analogWrite(9, numero);

digitalWrite(9, HIGH/LOW);

0 : 255

Page 57: Workshop arduino e sensori

map()

map ( value, fromLow, fromHigh, toLow, toHigh)

val = map(val, 0, 1023, 255, 0);

Page 58: Workshop arduino e sensori

AnalogWrite()

Non produce valori continui, ma solo PWM

Page 59: Workshop arduino e sensori

Fotodiodi / fototransistor

Page 60: Workshop arduino e sensori
Page 61: Workshop arduino e sensori

Rilevatore di pressione

Page 62: Workshop arduino e sensori
Page 63: Workshop arduino e sensori

collegamento

Page 64: Workshop arduino e sensori

collegamento

Page 65: Workshop arduino e sensori

Sketch

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

}

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

}

Page 66: Workshop arduino e sensori

Microfono

Page 67: Workshop arduino e sensori

RFPower

Page 68: Workshop arduino e sensori
Page 69: Workshop arduino e sensori

Sunil Vallu

Page 70: Workshop arduino e sensori
Page 71: Workshop arduino e sensori
Page 72: Workshop arduino e sensori
Page 73: Workshop arduino e sensori

Sensori “complessi”

Accelerometro, Giroscopio, Bussola,Gps, Internet...

Page 74: Workshop arduino e sensori

Accelerometro

Page 75: Workshop arduino e sensori

Bussola

Page 76: Workshop arduino e sensori

Orologio

Page 77: Workshop arduino e sensori

Internet?

Page 78: Workshop arduino e sensori
Page 79: Workshop arduino e sensori

http://www.zeppelinmaker.it

[email protected]