#include // OneWire DS18S20, DS18B20, DS1822 Temperature Example // // http://www.pjrc.com/teensy/td_libs_OneWire.html // // The DallasTemperature library can do all this work for you! // http://milesburton.com/Dallas_Temperature_Control_Library OneWire ds(0); // on pin 10 (a 4.7K resistor is necessary) int relay = 1; int threshold = 480; //320=equals 20 degrees 30=480 int temp; void setup(void) { pinMode(relay, OUTPUT); } void loop(void) { //digitalWrite(relay, HIGH); byte i; byte present = 0; byte type_s; byte data[12]; byte addr[8]; if ( !ds.search(addr)) { ds.reset_search(); delay(250); return; } ds.reset(); ds.select(addr); ds.write(0x44, 1); // start conversion, with parasite power on at the end delay(1000); // maybe 750ms is enough, maybe not // we might do a ds.depower() here, but the reset will take care of it. present = ds.reset(); ds.select(addr); ds.write(0xBE); // Read Scratchpad for ( i = 0; i < 9; i++) { // we need 9 bytes data[i] = ds.read(); } temp=(data[1]*256)+data[0]; if (temp>threshold) { digitalWrite(relay, HIGH); } else { digitalWrite(relay, LOW); } delay(30000); }