Paso 3: Crear el boceto o arduino
He usado LCD, matemáticas y biblioteca del DS1307,
Aquí está el código, supongo que usted sabe sobre cómo subir en la tabla:
=====================
/*
* LCD RS a pin digital pin 12
* LCD Enable pin a pin digital 11
* D4 LCD pin a pin digital 5
* D5 LCD pin a pin digital 4
* LCD D6 pin al pin digital 3
* LCD D7 pin al pin digital 2
* LCD R/W pin a tierra
* 10K resistencia:
* termina a + 5V y tierra
* limpiaparabrisas a pin (pin 3) del LCD VO
*/
#include < LiquidCrystal.h >
#include < DS1307.h >
#include < math.h >
Init del DS1307
Rtc DS1307 (20, 21);
Inicio la pantalla LCD
LiquidCrystal lcd (22, 24, 26, 28, 30, 31);
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
void setup()
{
Ajustar el reloj a modo run
RTC.HALT(false);
Serial.Begin(9600);
Instalación de LCD 16 x 2 caracteres
LCD.Begin (16, 2);
Las siguientes líneas pueden ser comentadas con los valores ya almacenados en el DS1307
rtc.setDOW(SATURDAY); Fijar el día de la semana al domingo
rtc.setTime (13, 21, 0); Configurar el tiempo a 12:00 (formato 24 horas)
rtc.setDate (11, 05, 2013); Establecer la fecha a 03 de octubre de 2010
Tasa de SQW/Out a 1Hz y habilitar SQW
rtc.setSQWRate(SQW_RATE_1);
rtc.enableSQW(true);
}
doble Thermister (int RawADC) {}
doble Temp;
Ver http://en.wikipedia.org/wiki/Thermistor para la explicación de la fórmula
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
Temp = Temp - 273.15; Convertir de Kelvin a Celsius
devolver a Temp;
}
void loop()
{
Mostrar el tiempo centrado en la línea superior
lcd.setCursor (4, 0);
lcd.setCursor (0, 0);
LCD.Print(RTC.getTimeStr());
Sensor de temperatura de lectura
doble temp = Thermister(analogRead(0)); Sensor de lectura
imprimir pantalla
lcd.setCursor(10,0);
LCD.Print(Temp);
LCD.Print("C/");
Pantalla abreviado día de la semana en la esquina inferior izquierda
lcd.setCursor (0, 1);
LCD.Print(RTC.getDOWStr(FORMAT_SHORT));
Mostrar la fecha en la esquina inferior derecha
lcd.setCursor (6, 1);
lcd.setCursor (3, 1);
LCD.Print(",");
lcd.setCursor (4, 1);
LCD.Print(RTC.getDateStr());
}
================