Caldaia con Arduino
Luigi Novi
Bruno Cocozza
Come funziona
Arduino rileva la temperatura dal sensore, e
determina se accendere o spegnere la caldaia.
Per indicare ciò sulla breadboard sono presenti 2
led di colore diverso:
Se si accende il verde indica che la caldaia è
accesa
Se si accende il rosso indica che la caldaia è
spenta
Il circuito
Il circuito è composto da:
1 Sensore di temperatura collegato ad Arduino attraverso il PIN
analogico A0, all’alimentazione 5v e al negativo GND;
2 led: il rosso collegato al PIN 8 mentre il verde al PIN 7;
2 resistenze: che servono ad evitare che i led si brucino.
Descrizione sketch 1/2
// C++ code
//
void setup() Iniziamo a dichiarare le modalità dei pin e la Serial.begin
{
Serial.begin(9600);
pinMode(8, OUTPUT); I pin 7e8 sono collegati ad un led ciò significa che Arduino
deve mandare
pinMode(7,OUTPUT); degli ordini in base alle informazioni che ha a sua
disposizione
pinMode(A0,INPUT); Il pin A0 è collegato ad Arduino però a differenza dei pin 7 e
8 che
sarebbero i led il pin A0 è il sensore di temperatura che
deve comunicare
un informazione ad Arduino in questo caso la
temperatura rilevata
}
Descrizione sketch 2/2
void loop()
float temp; dichiariamo la variabile
int val_ADC = analogRead(0); la variabile val_ ADC assumerà il valore che rileverà il nostro sensore di
però manderà l’informazione sottoforma di corrente
temp = ((val_ADC * 0.00488) - 0.5) / 0.01 ; Questo algoritmo ci permette di trasformare il valore della corrente trasmessa ad Arduino in gradi celsius
Serial.println(temp); questa riga scrive il valore convertito della temperatura sul monitor seriale
delay(1000); è il lasso di tempo presente fra ogni scritta
if (temp <= 30) il costrutto if ci permette di attuare una selezione nel nostro caso dovremmo verificare che la è
temperatura sia sufficientemente bassa per accendere la caldaia
digitalWrite(7,HIGH); se la temperatura è minore o uguale ai 30 gradi accendi il la caldaia ( led verde)
digitalWrite(8,LOW);
Else se la condizione non è soddisfatta (temp >30)
{
digitalWrite(7,LOW); spegni la caldaia ( led rosso)
digitalWrite(8,HIGH);