Reloj GPS

A partir del curso 2019/20 contamos con las materia de Robótica como optativa en 3º y 4º de ESO.
Como proyecto final este curso no hemos propuesto diseñar y construir un reloj de gran formato (140 cm. de diámetro) ultrapreciso (1 segundo cada 300 millones de años) para instalarlo en el patio del instituto, Para conseguir esta precisión el reloj se sincronizará a través de la red de satélites GPS con el reloj atómico del Observatorio Naval de Estados Unidos en Colorado, a su vez su control, puesta en hora y programación se realizará a través de internet. Este proyecto nos permitirá aplicar todas las tecnologías que estudiamos en el proyecto STEAM-IESPV (diseño, fabricación, mecánica, electrónica, programación,…)

Simulación del reloj en su ubicación
Aquí falta un reloj
Reconociendo el terreno y tomando medidas
El mecanismo (don motores paso a paso con reducción por correa dentada
Nuestro diseño para la esfera

El pasado día 11 pusimos en marcha el nuevo reloj en el patio del Instituto. Este reloj ha sido diseñado y construido íntegramente en horario extraescolar por los alumnos del programa Proyect@ del IES Pedro de Valdivia dirigidos por el profesor y responsable TIC Pepe Pineda. Está también recogido como objetivo de nuestro programa CITE-STEAM dentro del que se ha desarrollado el circuito electrónico y el programa informático que controla el reloj.

RELOJ RTC

El reloj RTC o Real Time Clock es uno de los componentes que utilizamos para que el reloj funcione. Su papel consiste en marcar el año, mes, día y hora lo más exacto posible. Estos dispositivos electrónicos, tienen una fuente de alimentación, ya que si se le corta la corriente tiene que seguir con su funcionamiento, es decir, seguir marcando la hora.

Están formados por un resonador de cristal, con los circuitos necesarios para contabilizar de manera correcta el paso del tiempo. También, su electrónica cuenta con medidores sexagesimal, que es el que usamos todos, para leer horas, días, meses y años.

Estos dispositivos son muy utilizados en la electrónica para dar la hora en smartphones, ordenadores, tabletas, etc.

El código que utiliza este dispositivo es el siguiente:

#include <Wire.h>
#include "RTClib.h"

// RTC_DS1307 rtc;
RTC_DS3231 rtc;

String daysOfTheWeek[7] = { "Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" };
String monthsNames[12] = { "Enero", "Febrero", "Marzo", "Abril", "Mayo",  "Junio", "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre" };

void setup() {
   Serial.begin(9600);
   delay(1000); 

   if (!rtc.begin()) {
      Serial.println(F("Couldn't find RTC"));
      while (1);
   }

   // Si se ha perdido la corriente, fijar fecha y hora
   if (rtc.lostPower()) {
      // Fijar a fecha y hora de compilacion
      rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
      
      // Fijar a fecha y hora específica. En el ejemplo, 21 de Enero de 2016 a las 03:00:00
      // rtc.adjust(DateTime(2016, 1, 21, 3, 0, 0));
   }
}

void printDate(DateTime date)
{
   Serial.print(date.year(), DEC);
   Serial.print('/');
   Serial.print(date.month(), DEC);
   Serial.print('/');
   Serial.print(date.day(), DEC);
   Serial.print(" (");
   Serial.print(daysOfTheWeek[date.dayOfTheWeek()]);
   Serial.print(") ");
   Serial.print(date.hour(), DEC);
   Serial.print(':');
   Serial.print(date.minute(), DEC);
   Serial.print(':');
   Serial.print(date.second(), DEC);
   Serial.println();
}

void loop() {
   // Obtener fecha actual y mostrar por Serial
   DateTime now = rtc.now();
   printDate(now);

   delay(3000);
}

Como podemos ver, que primero se tiene que identificar los días y meses con las funciones, String Days of the week [7] y String Monthnames [12].

Los Serial.begin es la comunicación que se mantiene entre el ordenador, el arduino y el Reloj RTC, con ello, hay que determinar que cantidad de información se transfiere que es el número que viene al lado.

Luego con el SerialPrint lo que hace es que registra y muestra los datos que se mandan a través de los Serial.Begin en el monitor serie.

Al final de esto, DateTime now es el tiempo que el reloj rtc está marcando.

Motores Paso a Paso y Drivers

El motor paso a paso es un motor de corriente continua sin escobillas en el que la rotación se divide en un cierto número de pasos resultantes de la estructura del motor. Normalmente, una revolución completa del eje de 360° se divide en 200 pasos, lo que significa que se realiza una sola carrera del eje cada 1,8º

Los motores que hemos utilizado en este caso son los Nema 17, están preparados para trabajar como motores de CNC o Impresora 3D