/********************************************************************/ // First we include the libraries #include "OneWire.h" #include "DallasTemperature.h" /********************************************************************/ // Data wire is plugged into pin 2 on the Arduino #define ONE_WIRE_BUS 2 /********************************************************************/ // Setup a oneWire instance to communicate with any OneWire devices // (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); /********************************************************************/ // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); /********************************************************************/ float temp; void setup(void) { // start serial port Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo"); // Start up the library sensors.begin(); } void loop(void) { // call sensors.requestTemperatures() to issue a global temperature // request to all devices on the bus /********************************************************************/ Serial.print(" Requesting temperatures..."); sensors.requestTemperatures(); // Send the command to get temperature readings Serial.println("DONE"); /********************************************************************/ Serial.print("Temperature is: "); Serial.print(sensors.getTempCByIndex(0));temp= sensors.getTempCByIndex(0); Serial.print(" "); Serial.println(temp);// Why "byIndex"? // You can have more than one DS18B20 on the same bus. // 0 refers to the first IC on the wire if (analogRead(A0)>100) { if (temp>50) temp=100; if (temp<30) temp=0; temp=(12.5)*(temp-30); Serial.println(temp); if (temp>255) temp=255; if (temp<0) temp=0; analogWrite(6,temp); analogWrite(9,temp); analogWrite(3,255-temp); analogWrite(11,255-temp);} else {analogWrite(6,0); analogWrite(9,0); analogWrite(3,0); analogWrite(11,0);} delay(100); }