Hacer un calendario Tzolkin Maya (5 / 5 paso)

Paso 5: Código de Arduino

Finalmente, el código que utiliza un chip RTC para ajustar la hora en el tablero, luego calcula la fecha juliana y de eso resulta que en las dos rotaciones del Tzolkin el día cae. Luego escribe la secuencia de bits correspondientes a los registros de cambio. Este es mi primer programa de Arduino y apoyó mucho en las fuentes de referencias y el recetario de Arduino para poner juntos.

Código:

/ * Gracias a las siguientes fuentes para partes de este código y recursos:

Biblioteca de tiempo de juegos: http://www.arduino.cc/playground/Code/Time

Chip RTC: https://www.sparkfun.com/products/99

cálculo de los días: http://arduino.cc/forum/index.php?topic=94925.0

Definición: La fecha Julian (JD) es una cuenta continua de días a partir de 01 de enero de 4713.

*/

#include < Time.h > //include las bibliotecas requeridas para el cálculo del tiempo

#include < Wire.h >

#include < DS1307RTC.h > / / una biblioteca básica de DS1307 que devuelve la hora como un time_t

int dataPin = 2; definir pines para el registro de desplazamiento

clockPin int = 3;

int latchPin = 4;

int seqtzn1 [] = {128,64,32,16,8,4,2,1,0,0,0,0,0}; //arrays controlar los LEDs

int seqtzn2 [] = {0,0,0,0,0,0,0,0,128,64,32,16,8};

int seqtzds1 [] = {128,64,32,16,8,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0};

int seqtzds2 [] = {0,0,0,0,0,0,0,0,128,64,32,16,8,4,2,1,0,0,0,0};

int seqtzds3 [] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,32,16};

void setup()

{

Serial.Begin(9600); configurar la comunicación serial a la computadora

pinMode (dataPin, salida); modos de juego pin

pinMode (latchPin, salida);

pinMode (clockPin, salida);

setSyncProvider(RTC.get);   la función para obtener la hora del RTC

if(timeStatus()! = ajuste del horario)

Serial.println ("no se puede sincronizar con el RTC");

otra cosa

Serial.println ("RTC ha establecido la hora del sistema");

}

void loop()

{

calcular Julian Date y los dos números del Tzolkin usando funciones de abajo

jd largo = JulianDate();

tzn int = TzolkinNumber(jd);

Las TZD int = TzolkinDaysign(jd);

Serial.println(JD);

Serial.println(TZN);

Serial.println(tzds);

enviar datos a los registros

digitalWrite (latchPin, bajo); cierre de tracción baja comience a enviar datos

shiftOut (dataPin, clockPin, LSBFIRST, seqtzds3[tzds]);

shiftOut (dataPin, clockPin, LSBFIRST, seqtzds2[tzds]);

shiftOut (dataPin, clockPin, LSBFIRST, seqtzds1[tzds]);

shiftOut (dataPin, clockPin, LSBFIRST, seqtzn2[tzn]); enviar los datos

shiftOut (dataPin, clockPin, LSBFIRST, seqtzn1[tzn]);

digitalWrite (latchPin, HIGH); cierre de tracción alta dejar de enviar datos

Delay(300000); esperar un tiempo antes de repetir

}

cálculo de Julian fecha jd

largo JulianDate() {}

time_t t = now(); almacenar el tiempo actual en la variable de tiempo t

int todayDay = day(t);           el día por el tiempo dado t

int todayMonth = month(t);         el mes por el tiempo dado t

int todayYear = year(t);          el año para el tiempo dado t

largos siglos = todayYear/100;

salto largo = siglos/4;

leapDays largo = 2 - siglos + saltos;         Nota es negativa!!

yearDays largo = 365.25 * (todayYear + 4716);     días hasta 1 ene este año

monthDays largo = 30.6001* (todayMonth + 1);    días hasta 1 mes

resultar largo = leapDays + todayDay + monthDays + yearDays-1524.5;

volver a resultado;

}

cálculo de los dos números del Tzolkin que dan posición en rotación de Tzolkin

int TzolkinNumber (jd largo) {}

int resultado = (jd - 2456214) % 13; el número de días del Tzolkin se calcula como 0 a 12

volver a resultado;

}

int TzolkinDaysign (jd largo) {}

int resultado = (jd - 2456203) % 20;  calcular signo de día Tzolkin 0 a 19 de 10.3.12 y número de orden 0 de wikipedia

volver a resultado;

}

Artículos Relacionados

Hacer un calendario de Adviento de caramelo

Hacer un calendario de Adviento de caramelo

Video enlace en caso de que lo anterior no funciona: https://www.youtube.com/watch?v=a9TSn-COjx4Las vacaciones están rápidamente acercándose, así que aquí está un rápido proyecto para proporcionarle una forma deliciosa de cuenta atrás día a día hasta
Cómo hacer un calendario en Photoshop

Cómo hacer un calendario en Photoshop

Hi. En este tutorial mostrará usted cómo hacer un calendario en Photoshop. Este proyecto podría tomar algún tiempo pero va a ser la pena. Yo hará un año calendario que muestra todo el año en una sola página.Contenido:Creación de proyecto y creación d
Cómo hacer un calendario de Dogvent

Cómo hacer un calendario de Dogvent

Con la Navidad a la vuelta de la esquina, es hora de preparar un calendario de Adviento muy especial para el perro (o mascota) especial en tu vida. Después de todo, es la temporada para dar ;)Paso 1: Los ingredientesReunir tus cosas! Se requiereTu fo
Cómo hacer un calendario Visual para hacer Junta

Cómo hacer un calendario Visual para hacer Junta

un calendario Visual es diferente a un calendario que muestra los días del mes. Tiene fotos para mostrar visualmente las cosas "Que hacer" para ayudar a comunicarse con las personas con disminución de destrezas o habilidades cognitivas. Clases d
Cómo hacer un calendario de nieve de enero reutilizable

Cómo hacer un calendario de nieve de enero reutilizable

este es un calendario hecho desde cero que se puede volver a utilizar cada año. Aquí es cómo hacerlo.Paso 1: Usando Microsoft Word Para este paso necesita tener Microsoft Word, Google Docs o Microsoft Word Starter. Utilicé Microsoft Word Starter. En
Hacer calendario perpetuo del calendario del año pasado

Hacer calendario perpetuo del calendario del año pasado

feliz nuevo año!¿Ahora que ya es un año nuevo, se de la basura ese viejo calendario?No hay necesidad, cuando usted puede hacer un calendario perpetuo de ella!Simplemente gire el disco de"días" para alinearse con los días!Paso 1: Herramientas y m
Cómo hacer un reloj calendario mezclar en lote

Cómo hacer un reloj calendario mezclar en lote

Hola hay chicos! Hoy, estoy mostrándole cómo hacer un calendario y un reloj en un código, espero que disfrute!PD: sé que esto es muy básico, pero pienso que es para gente muy nueva lote de codificación, así que por favor, respeta a los demás en los c
Hacer su propio calendario personalizado y pizarra

Hacer su propio calendario personalizado y pizarra

Algunos calendarios darán a partir de la semana con el domingo, algunos a partir del lunes y así sucesivamente. Me gustaria tener mi frente de fin de semana y el centro para mí ver y luego el resto de la semana puede aparecer en su lugar después del
Entender y aprender la interfaz de Maya

Entender y aprender la interfaz de Maya

Maya es una de las herramientas más poderosas para hacer 3D modelado, animación, rendering, iluminación, dinámica, scripting y más. Mayoría de las personas tardan años en descubrir capacidades y poder de Maya. He estado usando Maya desde el año 2005,
Calendario de Adviento de cajón de cerveza

Calendario de Adviento de cajón de cerveza

En Alemania celebran la Navidad el 24 de diciembre. Tradicionalmente tiene un Adviento calendario con 24 trata para cada uno de esos días. Un cajón de cerveza de cervezas de 0,33 l contiene 24 botellas.¿Coincidencia? Creo que no!Hacer un calendario d
Calendario de Adviento 2 DIY del pobre

Calendario de Adviento 2 DIY del pobre

Coincide con... botella fecha... pegar... pintura... y están listos :))No es tarde para hacer uno de estos ;)Paso 1: Ver el video primeroSi usted está interesado en Cómo hice estos cheques el video ;)Paso 2: Proyecto 1 #1 Para el primer proyecto 24 c
Guirnalda de Adviento calendario Banner

Guirnalda de Adviento calendario Banner

Este es un divertido y fácil de hacer el calendario de Adviento que puede llenarse con objetos más grandes y puede ser modificado para requisitos particulares a su gusto.Paso 1: materiales Cinta (8-12 pies)Bolsas de regalo de vacacionesTijerasSacador
Calendario de Adviento de tren de juguete

Calendario de Adviento de tren de juguete

Para aquellos de ustedes que han visto mi instructables otros, me encanta la Navidad, mi familia y reciclaje de madera vieja. Mi esposa también ama los trenes en Navidad y quería un calendario de Adviento. Intentado integrar los dos y hacer un calend
Pintar el calendario de escritorio Chip

Pintar el calendario de escritorio Chip

Cada año cuando los quioscos calendario comienzan a aparecer empiezohacer hincapié en asegurar que puedo encontrar un divertido calendario de pared. Si soy proactiva generalmente tengo algo que disfruto mirando a lo largo del año. Hace algunos años,