#include <OneWire.h>
OneWire ds(A0);
float dallas(OneWire& ds, byte start = false) {
int16_t temp;
do {
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
ds.read_bytes((uint8_t*) &temp, sizeof(temp));
ds.reset();
ds.write(0xCC);
ds.write(0x44, 1);
if (start) delay(1000);
} while (start--);
return (temp * 0.0625);
}
void setup() {
Serial.begin(9600);
dallas(ds, true);
}
void loop() {
float currentTemp = dallas(ds);
Serial.println(currentTemp);
}