Sei sulla pagina 1di 3

MATERIAL

Módulo DS3231: Es un reloj en tiempo real de alta precisión que cuenta con un oscilador
a cristal con compensación de temperatura (TCXO). La integración del oscilador a cristal
en el propio circuito integrado, en conjunto con la compensación de temperatura,
asegura la precisión a largo plazo.
El RTC mantiene registro de segundos, minutos, horas, día de la semana, fecha, mes y
año, la fecha es ajustada automáticamente a final de mes para meses con menos de 31
días, incluyendo las correcciones para año bisiesto.
El DS3231 es capaz de generar señales de reloj cuadradas de frecuencia configurable y
además cuenta con 2 alarmas programables que pueden generar interrupciones en el
microcontrolador principal en tiempos específicos.
El módulo se comunica con el microcontrolador a través del bus I2C con solamente 2
pines que pueden ser compartidos por varios dispositivos como memorias EEPROM,
expansores de IO, controladores PWM, etc.

Servomotor 9g: es un servo miniatura de reducidas dimensiones, bajo consumo y


muy económico. Estas características lo convierten en el servo ideal para prácticas
educativas de electrónica y robótica. También se usa habitualmente en sistemas de
autonivelado de impresoras RepRap.

El servo SG90 tiene un conector universal tipo “S” que encaja perfectamente en la
mayoría de los receptores de radio control incluyendo los Futaba, JR, GWS, Cirrus, Hitec
y otros. Los cables en el conector están distribuidos de la siguiente forma: Rojo =
Alimentación (+), Marrón= Alimentación (-) o tierra, Naranja= Señal PWM.
Código para sincronizar el módulo de reloj con la hora
de la computadora
#include <Wire.h> // incluye libreria para interfaz I2C
#include <RTClib.h> // incluye libreria para el manejo del modulo RTC

RTC_DS3231 rtc; // crea objeto del tipo RTC_DS3231

void setup () {
Serial.begin(9600); // inicializa comunicacion serie a 9600 bps

if (! rtc.begin()) { // si falla la inicializacion del modulo


Serial.println("Modulo RTC no encontrado !"); // muestra mensaje de error
while (1); // bucle infinito que detiene ejecucion del programa
}
rtc.adjust(DateTime(__DATE__, __TIME__)); // funcion que permite establecer
fecha y horario
// al momento de la compilacion. Comentar esta linea
} // y volver a subir para normal operacion

void loop () {
DateTime fecha = rtc.now(); // funcion que devuelve fecha y horario en
formato
// DateTime y asigna a variable fecha
Serial.print(fecha.day()); // funcion que obtiene el dia de la fecha completa
Serial.print("/"); // caracter barra como separador
Serial.print(fecha.month()); // funcion que obtiene el mes de la fecha
completa
Serial.print("/"); // caracter barra como separador
Serial.print(fecha.year()); // funcion que obtiene el año de la fecha
completa
Serial.print(" "); // caracter espacio en blanco como separador
Serial.print(fecha.hour()); // funcion que obtiene la hora de la fecha
completa
Serial.print(":"); // caracter dos puntos como separador
Serial.print(fecha.minute()); // funcion que obtiene los minutos de la fecha
completa
Serial.print(":"); // caracter dos puntos como separador
Serial.println(fecha.second()); // funcion que obtiene los segundos de la
fecha completa

delay(1000); // demora de 1 segundo


}
Diagrama de conexión módulo de reloj y Arduino

Potrebbero piacerti anche