123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #include <OneWire.h>
- #include <DallasTemperature.h>
- OneWire one_wire_network(2);
- DallasTemperature sensors(&one_wire_network);
- const uint8_t sensors_max_count = 8;
- uint8_t sensors_count;
- DeviceAddress sensors_addrs[sensors_max_count];
- // typedef uint8_t DeviceAddress[8];
- void printAddress(DeviceAddress addr)
- {
- Serial.print("0x");
- for(int i=0; i<8; i++) {
- if(addr[i] < 16) Serial.print('0');
- Serial.print(addr[i], HEX);
- }
- }
- void setup()
- {
- Serial.begin(9600);
- Serial.println("a buhh");
- Serial.println("dallas-temperature-interface 1.0.0");
-
- sensors.begin();
- sensors_count = 0;
- for(uint8_t i=0; i<sensors.getDeviceCount(); i++) {
- Serial.print("address ");
- Serial.print(i);
- Serial.print(' ');
- if(sensors.getAddress(sensors_addrs[sensors_count], i)) {
- printAddress(sensors_addrs[sensors_count]);
- Serial.println();
- sensors_count++;
- } else {
- Serial.println('n/a');
- }
- }
-
- for(uint8_t i=0; i<sensors_count; i++) {
- Serial.print("resolution ");
- printAddress(sensors_addrs[i]);
- Serial.print(' ');
- Serial.println(sensors.getResolution(sensors_addrs[i]), DEC);
- }
- }
- void loop()
- {
- unsigned long request_millis = millis();
- sensors.requestTemperatures();
- for(uint8_t i=0; i<sensors_count; i++) {
- Serial.print("temperature ");
- Serial.print(request_millis);
- Serial.print(' ');
- printAddress(sensors_addrs[i]);
- Serial.print(' ');
- float temp = sensors.getTempC(sensors_addrs[i]);
- if(abs(temp - DEVICE_DISCONNECTED_C) < 0.1) {
- Serial.println("disconnected");
- } else {
- Serial.println(temp);
- }
- }
- }
|