Advertisement
Guest User

arduino dallas temperature lcd multiple sensors

a guest
Dec 24th, 2016
435
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. // Include the libraries we need
  2. #include <OneWire.h>
  3. #include <DallasTemperature.h>
  4. #include <LiquidCrystal.h>
  5.  
  6. OneWire oneWire(10);
  7. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  8. DallasTemperature sensors(&oneWire);
  9. DeviceAddress outside, inside, cat;
  10.  
  11. void setup(void){
  12.   Serial.begin(9600);
  13.   sensors.begin();
  14.   Serial.print("Found ");
  15.   Serial.print(sensors.getDeviceCount(), DEC);
  16.   Serial.println(" devices.");
  17.  
  18.   if (!sensors.getAddress(outside, 0)) Serial.println("Unable addr Device 0");
  19.   if (!sensors.getAddress(inside, 1)) Serial.println("Unable addr Device 1");
  20.   if (!sensors.getAddress(cat, 2)) Serial.println("Unable addr Device 2");
  21.  
  22.   //sensors.setResolution(cat, 12);
  23. }
  24.  
  25. // function to print a device address
  26. void printAddress(DeviceAddress deviceAddress){
  27.   for (uint8_t i = 0; i < 8; i++){
  28.     if (deviceAddress[i] < 16) Serial.print("0");
  29.     Serial.print(deviceAddress[i], HEX);
  30.   }
  31. }
  32.  
  33. void loop(void){
  34.  
  35.   sensors.requestTemperatures();
  36.   lcd.begin(16, 2);
  37.  
  38.   lcd.setCursor(0, 1);
  39.   lcd.print((float)lrint(sensors.getTempC(outside) * 10) / 10, 1);
  40.  
  41.   lcd.setCursor(6, 1);
  42.   lcd.print((float)lrint(sensors.getTempC(inside) * 10) / 10, 1);
  43.  
  44.   lcd.setCursor(12, 0);
  45.   lcd.print((float)lrint(sensors.getTempC(cat) * 10) / 10, 1);
  46.  
  47.   delay(3000);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement