Project Eight - Thermostat
The final project in our series may seem complex, but is quite simple. We use the potentiometer to allow user input of a temperature value, and using the temperature sensor – if the ambient temperature rises above the value set via the potentiometer the relay is activated.
Connect the Temperature Sensor to the Analog A0/A1 input jack, like it was in Project 7.
The Grove produces an analog voltage on its D1 output, which is connected to Arduino A0 analog input on the A0/A1 input jack.
Connect the Potentiometer to the Analog A4/A5 input jack.
The Potentiometer produces an analog voltage on its D1 output, which is connected to Arduino A4 analog input on the A4/A5 input jack. Connect the Relay to the D2/D3 input jack.
The Arduino's D2 pin sends a signal to the Relay on the D1 connector. The Relay's red light indicates whether the relay is on or off, and the relay makes a clicking sound when it switches.
Now upload the following Arduino sketch:
// Project Eight - Thermostat
//
int a,c,d;
int z=3975;
int relaypin=2;
float b, q, resistance, temperature;
void setup()
{
pinMode(relaypin, OUTPUT);
}
void loop()
{
a=analogRead(4);
b=0.0488*a;
c=int(b);
q=analogRead(0);
resistance=(float)(1023-q)*10000/q;
temperature=1/(log(resistance/10000)/z+1/298.15)-273.15;
d=int(temperature);
if (d>=c)
{
digitalWrite(relaypin, HIGH);
delay(500);
}
if (d<c)
{
digitalWrite(relaypin, LOW);
delay(500);
}
}
Try turning the potentiometer to the right and left and see if the relay turns on or off.
Tech Support
Please submit any technical issue into our forum.