#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
RTC_DS1307 rtc;
float t1, t2, t3, t4;
void setup () {
Serial.begin(115200);
lcd.init();
lcd.backlight();
if (! rtc.begin()) {
Serial.println("RTC não identificado!");
Serial.flush();
abort();
}
}
void loop () {
DateTime now = rtc.now();
lcd.setCursor(0,0);
lcd.print("Sensores Temperatura");
lcd.setCursor(0,1);
lcd.print("Hora atual: ");
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
const float BETA = 3950; // Deve corresponder ao coeficiente beta do termistor
int t1_analogico = analogRead(A0);
t1 = 1 / (log(1 / (1023. / t1_analogico - 1)) / BETA + 1.0 / 298.15) - 273.15;
int t2_analogico = analogRead(A1);
t2 = 1 / (log(1 / (1023. / t2_analogico - 1)) / BETA + 1.0 / 298.15) - 273.15;
int t3_analogico = analogRead(A2);
t3 = 1 / (log(1 / (1023. / t3_analogico - 1)) / BETA + 1.0 / 298.15) - 273.15;
int t4_analogico = analogRead(A3);
t4 = 1 / (log(1 / (1023. / t4_analogico - 1)) / BETA + 1.0 / 298.15) - 273.15;
lcd.setCursor(0,2);
lcd.print("T1: ");
lcd.print(t1, 2);
lcd.setCursor(0,3);
lcd.print("T2: ");
lcd.print(t2, 2);
lcd.setCursor(11,2);
lcd.print("T3: ");
lcd.print(t3, 2);
lcd.setCursor(11,3);
lcd.print("T4: ");
lcd.print(t4, 2);
delay(1000);
}