diff --git a/code.ino b/code.ino new file mode 100644 index 0000000..637179f --- /dev/null +++ b/code.ino @@ -0,0 +1,65 @@ +#include +#include +#define ONE_WIRE_BUS 2 +OneWire oneWire(ONE_WIRE_BUS); +DallasTemperature sensors(&oneWire); +DeviceAddress insideThermometer; + +void setup(void) +{ + Serial.begin(9600); + Serial.println("Dallas Temperature IC Control Library Demo"); + Serial.print("Locating devices..."); + sensors.begin(); + Serial.print("Found "); + Serial.print(sensors.getDeviceCount(), DEC); + Serial.println(" devices."); + Serial.print("Parasite power is: "); + if (sensors.isParasitePowerMode()) Serial.println("ON"); + else Serial.println("OFF"); + + + if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Unable to find address for Device 0"); + + + Serial.print("Device 0 Address: "); + printAddress(insideThermometer); + Serial.println(); + sensors.setResolution(insideThermometer, 9); + + Serial.print("Device 0 Resolution: "); + Serial.print(sensors.getResolution(insideThermometer), DEC); + Serial.println(); +} +void printTemperature(DeviceAddress deviceAddress) +{ + + float tempC = sensors.getTempC(deviceAddress); + if(tempC == DEVICE_DISCONNECTED_C) + { + Serial.println("Error: Could not read temperature data"); + return; + } + Serial.print("Temp C: "); + Serial.print(tempC); + Serial.print(" Temp F: "); + Serial.println(DallasTemperature::toFahrenheit(tempC)); // Converts tempC to Fahrenheit +} + +void loop(void) +{ + + Serial.print("Requesting temperatures..."); + sensors.requestTemperatures(); // Send the command to get temperatures + Serial.println("DONE"); + + printTemperature(insideThermometer); // Use a simple function to print out the data +} +void printAddress(DeviceAddress deviceAddress) +{ + for (uint8_t i = 0; i < 8; i++) + { + if (deviceAddress[i] < 16) Serial.print("0"); + Serial.print(deviceAddress[i], HEX); + } +} \ No newline at end of file