#include <LiquidCrystal.h>
#include <DallasTemperature.h>
#include <OneWire.h>
#define ONE_S 1000
LiquidCrystal lcd(12,11,10,9,8,7);
OneWire ds(2);
uint8_t circle[8] = {
0b01100,
0b10010,
0b10010,
0b01100,
0b00000,
0b00000,
0b00000,
0b00000,
};
void setup() {
lcd.begin(16, 2);
lcd.createChar(3, circle);
pinMode(2, INPUT);
}
void loop() {
static uint32_t timer = millis();
byte data[2];
ds.reset();
ds.write(0xCC);
ds.write(0x44);
if((millis() - timer) >= ONE_S){
timer = millis();
ds.reset();
ds.write(0xCC);
ds.write(0xBE);
data[0] = ds.read();
data[1] = ds.read();
float temperature = ((data[1] << 8) | data[0]) * 0.5;
lcd.setCursor(0,0);
lcd.print("Temperature:");
lcd.setCursor(0,1);
lcd.print(temperature);
lcd.print(" C\x03 ");
}
}
Loading
ds18b20
ds18b20