123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- //
- // FILE: UserDataWriteBatch.ino
- // AUTHOR: Rob Tillaart
- // VERSION: 0.1.0
- // PURPOSE: use of alarm field as user identification demo
- // DATE: 2019-12-23
- // URL:
- //
- // Released to the public domain
- //
- #include <OneWire.h>
- #include <DallasTemperature.h>
- #define ONE_WIRE_BUS 2
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- uint8_t deviceCount = 0;
- void printAddress(DeviceAddress deviceAddress)
- {
- for (uint8_t i = 0; i < 8; i++)
- {
- // zero pad the address if necessary
- if (deviceAddress[i] < 16) Serial.print("0");
- Serial.print(deviceAddress[i], HEX);
- }
- }
- void setup(void)
- {
- Serial.begin(115200);
- Serial.println(__FILE__);
- Serial.println("Write user ID to DS18B20\n");
- sensors.begin();
- // count devices
- deviceCount = sensors.getDeviceCount();
- Serial.print("#devices: ");
- Serial.println(deviceCount);
-
- Serial.println();
- Serial.println("current ID's");
- for (uint8_t index = 0; index < deviceCount; index++)
- {
- DeviceAddress t;
- sensors.getAddress(t, index);
- printAddress(t);
- Serial.print("\t\tID: ");
- int id = sensors.getUserData(t);
- Serial.println(id);
- }
-
- Serial.println();
- Serial.print("Enter ID for batch: ");
- int c = 0;
- int id = 0;
- while (c != '\n' && c != '\r')
- {
- c = Serial.read();
- switch(c)
- {
- case '0'...'9':
- id *= 10;
- id += (c - '0');
- break;
- default:
- break;
- }
- }
- Serial.println();
- Serial.println(id);
- Serial.println();
- Serial.println("Start labeling ...");
- for (uint8_t index = 0; index < deviceCount; index++)
- {
- Serial.print(".");
- DeviceAddress t;
- sensors.getAddress(t, index);
- sensors.setUserData(t, id);
- }
- Serial.println();
- Serial.println();
- Serial.println("Show results ...");
- for (uint8_t index = 0; index < deviceCount; index++)
- {
- DeviceAddress t;
- sensors.getAddress(t, index);
- printAddress(t);
- Serial.print("\t\tID: ");
- int id = sensors.getUserData(t);
- Serial.println(id);
- }
- Serial.println("Done ...");
- }
- void loop(void) {}
- // END OF FILE
|