TheSUN, Arduino powered reloj de pared de diseño (4 / 6 paso)

Paso 4: código

Ahora puede cargar el sketch de Arduino. You´re también es capaz de conectar el LED tiras ahora. Don´t conectar el módulo de BT! Primero queremos mirar el código, usted debe saber donde se pueden modificar varias cosas...

Descargar el IDE de Arduino y las bibliotecas.
IDE de Arduino, AdafruitNeoPixel, tiempo, DS1307RTC

Instalar el IDE y las bibliotecas en la carpeta de la biblioteca.
Abra el archivo adjunto de INO y subirlo a tu arduino. El código descrito aquí es lo mismo pero con otros comentarios! Si lo has hecho todo bien, ahora puede ver el "bootanimation". Es posible configurar el tiempo en el serialmonitor. Sólo tienes que escribir por ejemplo. (10:33).

No dude en jugar con el código...

Aquí mal darle una breve descripción del código (configuración sin RTC!)

DEFINICIONES:

#define pasador //Hour 6 LED tira
#define MINPIN 5 //Singelminute LED
#define NUMPIXELS 12 //Number de píxeles por hora
#define MINNUMPIXELS 4 //Number de píxeles por minuto
#define BAUDRATE 115200 / / Baudrate, debe coincidir con la velocidad de transmisión del módulo BT
#define utch ' //start BYTE de TimeSync

ajuste del horario int = 0; bandera para almacenar si el tiempo se estableció después del arranque
int delayval = 20; demora para la animación de desvanecimiento
int clocktimer = 10000; actualización de tiempo
timebright int = 250; brillo de hora tira
int mtimebright = 50; brillo de singelmin
inicializar el int = 0; bandera para llamar a la función clearpixels después del arranque
int hora;
int oldahour = 0; Almacene horas de Prev.
int trencito;
int oldamin = 0; almacena el minuto anterior para actualizar
int segundo;
día int;
int amonth;
int ayear;
mmin int;
tmElements_t tm;

Configuración de las matrices de LED de NeoPixel 2 (nombre = tipo (número de píxeles, que PIN, formato RGB o GRB, FREQ); Consulte la guía de Adafruit para obtener más información.

Pixeles Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel minpixels = Adafruit_NeoPixel (MINNUMPIXELS, MINPIN, NEO_RGB + NEO_KHZ800);

CONFIGURACIÓN:

void setup() {}

Serial.Begin(BAUDRATE);
Wire.Begin();
Initialice las tiras, todo OFF
pixels.Begin();
minpixels.Begin();
pixels.Show();
minpixels.Show();

Hacer una pequeña animación
Serial.println("Sunrise");
Sunrise();
Delay(1000);
Serial.println("Sunset");
Sunset();
pixels.Show();
Serial.println("Ready");
}

BUCLE:

void loop() {}
Busque timesync
mientras que (Serial.available() > 0) {}
char c = Serial.read();
if(c == UTCH) //if hay un @ en línea, leer los bytes que viene / ints
{
readtime();
}
}
initialice los LEDs, animación de claros

if(Initialize == 0) {}
clearpixels();
inicializar = 1;
}

hora = hour();

trencito = minute();
Si (timeset == 1 || timeset == 0) / / aquí se puede comprobar si se establece el tiempo, puede detener el programa aquí si Timeset = falso, basta con retirar "|| ajuste del horario == 0"!

{

Si (oldamin < trencito || oldahour < hora) //check si ha cambiado el tiempo. TRUE = refresh -> set todo para apagado, ver nuevo tiempo
{
clearpixels();
ClockDisplay();
}
}
}

Mostrar el reloj:

void ClockDisplay()
{

oldahour = hora;

oldamin = trencito;
int xhour, xmin;

Si (hora > = 12) {}
xhour = hora-12; Contamos solamente con 12 LEDs para la visualización de 24h
}
Else {}
xhour = hora;
}
escala en pasos de 5 minutos
xmin = (trencito / 5);
if(oldamin < aminute)
{
oldamin = trencito;
clearpixels();
}
tomar el resto del división dor singelmin LED
mMin = (trencito % 5); Modulo Operador ej. 24% 5 = 4! muy útil:-P
pixels.setBrightness(timebright);
pixels.setPixelColor (xmin, píxeles. Color(5,125,255)); puede cambiar los colores aquí! jugar!
pixels.setPixelColor (xhour, píxeles. Color(255,50,0));
pixels.Show();

Mostrar los minutos de singel
para (int m = 0; m

minpixels.setBrightness(mtimebright);
minpixels.setPixelColor (m, píxeles. Color(255,255,0));
minpixels.Show();
}
}

Leer y procesar la información de la serie

void readtime() / / si ya tenemos los principales "los próximos datos y almacenar el tiempo para el tiempo Lib
{

hora = Serial.parseInt();
trencito = Serial.parseInt();
segundo = Serial.parseInt();
día = Serial.parseInt();
amonth = Serial.parseInt();
ayear = Serial.parseInt();
Serial.println("TIMESET");
Serial.Print(ahour);
Serial.Print(":");
Serial.println(aminute);
setTime(ahour,aminute,asecond,aday,amonth,ayear);
}

¡Borrar todo!

void clearpixels() / / conjunto de cada píxel en off para actualizar la pantalla
{

pixels.Begin();
minpixels.Begin();
para (i=0;ipixels.setPixelColor int (i, píxeles. Color(0,0,0));
minpixels.setPixelColor (i, píxeles. Color(0,0,0));
pixels.Show();
minpixels.Show();
}
}

Artículos Relacionados

Arduino Powered reloj binario

Arduino Powered reloj binario

este instructable le ayudará a construir un reloj binario de Arduino.  La idea orignial de este instructable fue diseñado por Daniel Andrade.  Mi instructable utiliza componentes de montaje superficial, pero puede ser fácilmente adaptado para a travé
Game'n Arduino Powered' reloj despertador

Game'n Arduino Powered' reloj despertador

he subido algunas instrucciones sobre cómo construir un reloj de alarma basado enArduino que también puede ser utilizado como un termómetro, un acelerómetro-poweredJuego de serpiente y tiene mensajes secretos en: http://arduino.komakino.ch
Top Ten originales relojes de pared

Top Ten originales relojes de pared

1 reloj de pared Pop Quiz de matemáticas y CienciasEste precioso reloj nuevo parece haber sido escrita a mano por ese profesor de matemáticas mal que tuvimos que soportar. Cada hora está marcada por un problema de matemáticas simple. Resolverlo y res
Orientada a solar, reloj de Arduino-Powered

Orientada a solar, reloj de Arduino-Powered

esto es un reloj diseñado para mantener la hora exacta (independiente de atómico o GPS), Mostrar la salida local del sol, el mediodía solar y puesta de sol y también sí mismo ajustar horario de verano.Quería el reloj para ser fácil de usar y flexible
Reloj de pared de LED binario puro con Arduino

Reloj de pared de LED binario puro con Arduino

Mi reloj de pared binario está inspirado en muchos relojes binarios, que he encontrado en InstructablesEnlaces:Reloj de LilyPad Arduino:Reloj binario:Además de algunos otros instructables reloj binario.Pero...Lo que me pareció carente de ellos era la
Reloj de pared de Arduino DCF77 maestro

Reloj de pared de Arduino DCF77 maestro

Reloj de pared de Arduino maestro.Tiempo en la pantalla en grande 1"(26mm) displays 7 segmentos con secundaria pantalla de información LCD 4 x 20. El reloj se puede utilizar independiente o proporciona los siguientes pulsos para relojes auxiliares 1
Reloj de LED Arduino powered

Reloj de LED Arduino powered

Un divertido y sencillo reloj LED, que te dará la hora a la media hora más cercana utilizando LEDs solo-color. Piezas necesarias son las siguientes:Arduino NanoTablero de 400 puntos de amarreCable de cintaDS1307 RTC IC32,768 kHz cristal(12) 10mm LEDs
Vúmetro analógico y el reloj (Arduino Powered)

Vúmetro analógico y el reloj (Arduino Powered)

este proyecto trae el viejo tiempo Analog VU Meter, con la funcionalidad añadida de un reloj de aspecto aseado! Cuando apagas tu música los metros swing automáticamente en modo de reloj. Detrás de todo está el Arduino popular y fácil de usar.Esta es
Reloj de pared del anillo arco iris

Reloj de pared del anillo arco iris

No sé lo que se trata de relojes y los relojes, pero parece que cada segundo proyectos es una forma de los dos. Este proyecto sigue a lo largo de los pasos también. He hecho relojes más pequeños antes, pero nada de la escala de un reloj de pared típi
Reloj de pared digital usando Atmega-8 y RTC

Reloj de pared digital usando Atmega-8 y RTC

Reloj es una de las cosas más esenciales del asimiento de casa. Hay varios tipos de relojes como buenos viejos relojes de péndulo, relojes analógicos y los relojes de Digital moderno ahora tendencias.Relojes digitales tiene muchas ventajas sobre los
Un controlado inalámbricamente, tablero de mensajes Arduino-Powered

Un controlado inalámbricamente, tablero de mensajes Arduino-Powered

usted mismo construir un tablero de mensajes controlados de forma inalámbrica, Arduino powered!Aquí es un proyecto fácil que crea una tabla de forma inalámbrica programable del mensaje. Utiliza los módulos XBee para un enlace serial inalámbrico entre
Arduino Powered Gainclone (amplificador)

Arduino Powered Gainclone (amplificador)

para aquellos de ustedes que no saben y no lo hice hasta hace poco, un Gainclone es un amplificador que es un 'clon' del original diseño de un amplificador de 47 laboratorios llamados un Gaincard y está basado en amplificadores de único chip de Natio
Reloj de pared

Reloj de pared

Hola chicos, hoy vamos a aprender algunas habilidades de diseño para hacer impresionantes relojes de pared. En este proyecto utilizar InkScape para el diseño de nuestro reloj de pared y utilizará una máquina de corte láser para cortar.Nota: Este proy
Reloj de pared LED

Reloj de pared LED

Esto es simplemente una manera simple de decorar de nuevo tu reloj de pared con materiales básicos alrededor de la casa.Paso 1: Materiales necesarios Antiguo reloj de paredLuces LED - sombrero de paja blanco LedBatería de 9V + ClipBonos de Alteco col