![]() |
Diagrama de Conexiones RTC Tyni - DS1307 |
- 1 Arduino nano
- 1 LCD 16x2
- 1 Led
- 1 Potenciometro de 10K para ajustar el contraste
- 1 Resistencia de 220 Ohm
- 1 Modulo RTC DS1307
Una vez armado el circuito descargaremos los archivos del programa y copearemos la carpeta RTClib a C:\Program Files (x86)\Arduino\libraries.
Código
#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal.h>
RTC_DS1307 RTC;
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
int hora=0; // Variable donde se guardara la hora
int minutos=0; // Variable donde se guardaran los minutos
int segundos=0; // Variable donde se guardaran los segundos
int salida=3; // Salida donde se conectara el relevador
void setup () {
//Inicializamos el puerto serie, wire y el modulo RTC
Serial.begin(9600); // Se inicia la comunicacion Serial a 9600 baud
Wire.begin(); // Se inicia la libreria Wire
RTC.begin(); // Iniciamos la libreria del RTC
//Si quitamos el comentario de la linea siguiente, se ajusta la hora y la fecha con la del ordenador
RTC.adjust(DateTime(__DATE__, __TIME__));
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.write("Control Caldera Noel & Erick");
lcd.setCursor(0,1);
lcd.write(" Por Noel & Erick");
delay(10000);
lcd.clear();
pinMode(salida,OUTPUT);
}
void loop () {
DateTime now = RTC.now();
hora=(now.hour(),DEC);
minutos=(now.minute(),DEC);
segundos=(now.second(),DEC);
//Imprimimos el dia
Serial.print(now.day(), DEC);
Serial.print('/');
//Imprimimos el mes
Serial.print(now.month(), DEC);
Serial.print('/');
//Imprimimos el año
Serial.print(now.year(), DEC);
Serial.print(' ');
//Imprimimos la hora
Serial.print(now.hour(), DEC);
Serial.print(':');
//Imprimimos los minutos
Serial.print(now.minute(), DEC);
Serial.print(':');
//Imprimimos los segundos
Serial.print(now.second(), DEC);
Serial.println();
lcd.clear();
lcd.setCursor(0,1);
lcd.print(now.hour(), DEC);
lcd.setCursor(2,1);
lcd.print(":");
lcd.setCursor(3,1);
lcd.print(now.minute(), DEC);
lcd.setCursor(5,1);
lcd.print(":");
lcd.setCursor(6,1);
lcd.print(now.second(), DEC);
lcd.setCursor(5,0);
lcd.print(now.day(), DEC);
lcd.setCursor(7,0);
lcd.print("/");
lcd.setCursor(8,0);
lcd.print(now.month(), DEC);
lcd.setCursor(10,0);
lcd.print("/");
lcd.setCursor(11,0);
lcd.print(now.year(), DEC);
if (now.hour()== 23 && now.minute() ==10)
{
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Encendido");
digitalWrite(salida,HIGH);
}
if (now.hour()== 23 && now.minute() ==12)
{
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Apagado");
digitalWrite(salida,LOW);
}
delay(1000);
//Comprobamos la hora y la enviamos por el puerto serie cada 1s
}
Les dejo los links de descarga de los archivos
Link de descarga incluye la librería necesaria -- http://adf.ly/1ABCgY
Diagrama de conexiones-- http://adf.ly/1SuCQO
No hay comentarios:
Publicar un comentario