#include <LiquidCrystal_I2C.h>
#include <RTClib.h>
LiquidCrystal_I2C lcd(0x27,20,4);
RTC_DS1307 rtc;
int sec=1;
int mins=0;
int hour=0;
const float BETA=3950;
void setup(){
if(!rtc.begin()){
abort();
}
lcd.init();
lcd.backlight();
lcd.setCursor(6,1);
lcd.print("00:00:00");
lcd.setCursor(1,2);
lcd.print("Temperatura ");
tone(13,1200,50);
delay(150);
tone(13,1400,50);
}
void loop(){
DateTime now=rtc.now();
lcd.setCursor(5,0);
if(10>now.day())
{
lcd.print(' ');
lcd.print(now.day());
}else lcd.print(now.day());
lcd.print('/');
if(10>now.month()){
lcd.print(' ');
lcd.print(now.month());
}else lcd.print(now.month());
lcd.print('/');
lcd.print(now.year());
lcd.setCursor(8,1);
lcd.print(" ");
lcd.setCursor(11,1);
lcd.print(" ");
delay(500);
lcd.backlight();
lcd.setCursor(11,1);
lcd.print(":");
lcd.setCursor(8,1);
lcd.print(":");
if(10>now.second()){
lcd.setCursor(12,1);
lcd.print("0");
lcd.setCursor(13,1);
lcd.print(now.second());
}else{
lcd.setCursor(12,1);
lcd.print(now.second());
}
if(10>now.minute()){
lcd.setCursor(9,1);
lcd.print("0");
lcd.setCursor(10,1);
lcd.print(now.minute());
}else{
lcd.setCursor(9,1);
lcd.print(now.minute());
}
if(10>now.hour()){
lcd.setCursor(6,1);
lcd.print("0");
lcd.setCursor(7,1);
lcd.print(now.hour());
}else{
lcd.setCursor(6,1);
lcd.print(now.hour());
}
int analogValue=analogRead(A0);
float celsius=1/(log(1/(1023./analogValue-1))/BETA+1.0/298.15)-273.15;
int temp=(int)celsius;
if(10>temp && 0<=temp){
lcd.setCursor(14,2);
lcd.print(" ");
lcd.setCursor(16,2);
lcd.print(temp);
}else if(10<=temp){
lcd.setCursor(14,2);
lcd.print(" ");
lcd.print(temp);
}
if(0>temp && -10<temp){
lcd.setCursor(14,2);
lcd.print(" ");
lcd.setCursor(15,2);
lcd.print(temp);
}else if(-10>=temp){
lcd.setCursor(14,2);
lcd.print(temp);
}
lcd.setCursor(17,2);
lcd.print((char)223);
lcd.print("C");
delay(500);
}