int T = 0;
int R = 0;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWireBus(2);
DallasTemperature sensors(&oneWireBus);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
sensors.begin();
pinMode(A0, INPUT_PULLUP);
pinMode(A1, INPUT_PULLUP);
}
void loop() {
sensors.requestTemperatures();
T = sensors.getTempCByIndex(0);
lcd.setCursor(0, 0);
lcd.print("Temperature:");
lcd.setCursor(12, 0);
lcd.print((String(T) + String("C")));
if (T < 100 & T > 9) {
lcd.setCursor(15, 0);
lcd.print(" ");
}
if (T < 10 & T > -1) {
lcd.setCursor(14, 0);
lcd.print(" ");
}
if (T < -9 & T > -99) {
lcd.setCursor(16, 0);
lcd.print(" ");
}
if (T < 0 & T > -10) {
lcd.setCursor(15, 0);
lcd.print(" ");
}
if (digitalRead(A0) == 0) {
if (T > 99) {
R = R + 4;
}
if (T < -9 & T > -99) {
R = R + 5;
}
lcd.setCursor(R, 1);
lcd.print(T);
delay(300);
}
if (digitalRead(A1) == 0) {
lcd.setCursor(0, 1);
lcd.print(" ");
R = 0;
}
Serial.println(R);
}
Loading
ds18b20
ds18b20