Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PROGETTO ARDUINO
Il mio progetto consiste nell’automatizzare alcune funzioni che normalmente si svolgono all’interno
di un ambiente domestico, come:
• Accensione/spegnimento di una luce;
• Apertura/chiusura di una porta;
• Misurazione della temperatura in una stanza;
Tutto ciò è possibile leggerlo su un Display LCD montato sulla facciata dell’abitazione.
COMPONENTI
1 /T = A + B ln( R ) + C [ ln( R ) ] 3
dove:
Pin 15: A (Anodo) – piedino a cui collegare una tensione positiva (nel caso del display
descritto +4,2V) che serve per la retroilluminazione del display.
Pin 16: K (Catodo) – piedino da collegare a GND per consentire la retroilluminazione.
Codice:
int Vo; void loop() {
float R1 = 10000;// valore resistenza in ohm if (blueToothSerial.available()>0){
float logR2, R2, T, Tc, Tf; comando=blueToothSerial.read();
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, if (comando == 65) {//lettera A
c3 = 2.019202697e-07; digitalWrite(13,HIGH);
int comando; lcd.clear();
SoftwareSerial blueToothSerial(0,1); lcd.setCursor(0,0);
lcd.print("Luce Accesa");
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
}else if (comando == 83) {//lettera S
digitalWrite(13,LOW);
void setup() { lcd.clear();
comando=0; lcd.setCursor(0,0);
pinMode(0,INPUT); lcd.print("Luce Spenta");
pinMode(1, OUTPUT); delay(1000);
blueToothSerial.begin(9600); }else if (comando == 67) {//lettera C
blueToothSerial.flush(); servos[8].write(0);
pinMode(13,OUTPUT); delay(1000);
servos[8].attach(8); }else if (comando == 68) {//lettera D
servos[8].write(90);
//impostiamo il numero di colonne ed il numero di delay(1000);
Giovanni Rega M64000713
righe di lcd }
lcd.begin(16, 2); else if (comando == 84) {//lettera T
// Visualizzo il messaggio sul display Vo = analogRead(ThermistorPin); //leggo il
lcd.clear(); voltaggio tra 0 e 1023
lcd.setCursor(0,0); R2 = R1 * (1023.0 / (float)Vo - 1.0);//resistenza
lcd.print("Benvenuto"); del termistore, convertendo il valore di tensione letto
} in tensione compresa tra 0-5V
logR2 = log(R2);
T = (1.0 / (c1 + c2*logR2 +
c3*logR2*logR2*logR2)); //calcolo la temperatura
con la formula di Steinhart-Hart
Tc = T - 273.15;
lcd.clear();
lcd.print("Temp = ");
lcd.print(Tc);
lcd.print(" C");
delay(1000);
}
}
delay(500);