Escolar Documentos
Profissional Documentos
Cultura Documentos
//LiquidCrystal lcd (8, 7, 6, 5, 4, 3); // los pines se definen de acuerdo a la conexión que
hagamos
LiquidCrystal_I2C lcd (0x27, 16, 2);
RTC_DS1307 RTC;
#define DS1307_ADDRESS 80 (0x50)
File myFile;
void setup ()
{
Serial.begin (9600);
RTC.begin ();
Wire.begin(); //para arduino UNO
lcd.init (); // Inicializar el LCD
lcd.backlight();//Encender la luz de fondo.
if (! RTC.isrunning())
{
Serial.print("RTC_no_detectado");
Delay (100);
}
RTC.begin(); //Inicializamos el RTC
Serial.println("Estableciendo Hora y fecha...");
RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));
Serial.println("DS1307 actualizado con la hora y fecha que se compilo este
programa:");
Serial.print("Fecha = ");
Serial.print(__DATE__);
Serial.print(" Hora = ");
Serial.println(__TIME__);
sensors.begin();
Serial.println("buscando dispositivo");
Serial.println(" dispositivo encontrado:");
Serial.print(sensors.getDeviceCount());
Serial.print("sensores");
lcd.begin(16, 2);
lcd.setCursor (2, 1); //mostrar temperatura fria en LCD
lcd.print("TF:");
lcd.setCursor (18, 1);
lcd.print("TC:"); //mostrar temperatura caliente en LCD
//while (!Serial) ; //para arduino leonardo
pinMode(ONE_WIRE_BUS,INPUT);
/*se verifica el inicio del SD
*/
Serial.print("SD ...");
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("Iniciando SD ...");
delay (500);
if(!SD.exists("datos.csv"))
{
myFile = SD.open("datos.csv", FILE_WRITE);
if (myFile)
{
myFile.println("Fecha, Hora, TF, TC");
myFile.close();
}
else
{
Serial.println("Error creando el archivo");
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("Error/archivo");
}
}
}
void loop()
{
lcd.scrollDisplayLeft();
delay(1);
/*ajustamos la resolución de los sensores DS18B20
*/
//Resolucion a 9 bits 0.50 ºC
//Resolucion a 10 bits 0.25 ºC
//Resolucion a 11 bits 0.125 ºC
//Resolucion a 12 bits 0.0625 ºC
sensors.setResolution(S1, 12);
sensors.setResolution(S2, 12);
sensors.requestTemperatures();
float TF = sensors.getTempC(S1);
float TC = sensors.getTempC(S2);
myFile.print(TF);
myFile.print(",");
myFile.println(TC);
myFile.close(); //cerramos el archivo
Serial.print(", TF=");
Serial.print(TF);
Serial.print(", TC=");
Serial.print(TC);
lcd.setCursor (22, 1);
sensors.requestTemperatures();
float TF = sensors.getTempC(S1);
lcd.print(sensors.getTempCByIndex(0));
lcd.print(" C");
lcd.setCursor(7, 1);
float TC = sensors.getTempC(S2);
lcd.print(sensors.getTempCByIndex(1));
lcd.print(" C");
Serial.print(' ');
delay(1000);
delay(1000);
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.print(' ');
lcd.setCursor(14, 0);
lcd.print(" ");
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
lcd.print(" ");
lcd.println();
delay(1);
}
else
{
Serial.println("Error al abrir el archivo");
}
delay(5000);
}