Haga un preciso reloj de Arduino usando solamente un alambre - sin hardware externo es necesario!

Cómo hacer un reloj de Arduino - sin usar osciladores externos o fichas del reloj:

(más de mis proyectos en nuestro sitio web de investigación - haga clic en la parte superior logo de arduino de la página de inicio)

Se necesita:

Una placa Arduino (cualquier sabor funciona bien) y el software
1 LED
1 puente de alambre

(Ejemplo de cableado al día debajo de...)

Soy un ingeniero de 20 años y acabo de descubrir la plataforma Arduino hace unos meses.  Ni que decir caí en amor con él y ahora estoy enganchado a proyectos.  Para la Navidad este año, quería hacer algunos regalos muy sincero, uno de tipo para mis padres.  Para mi madre, era sin duda un ' uno-de ' reloj de diseño.  No estaba preocupado por mantener el horario de verano o años bisiestos - mantener simplemente con precisión el día de la semana y el tiempo.

¿Cómo generar los pulsos de reloj en una manera única, pero precisa aunque?  Seguro que podría utilizar un reloj incrustado Fantasia IC o el oscilador de 32.768 cristal común, pero quería algo diferente al resto.  Que empecé a usar un temporizador 555 para generar una onda cuadrada de 100Hz constante.  Esto funcionó bastante bien pero perdía aproximadamente 1 segundo por hora.  No hay problema - acabo de escribir un algoritmo para corregir la falta segunda en software.  Yo estaba feliz.  Entonces descubrí que aunque no era totalmente fiable temporizador interno de Arduino para cronometraje, las salidas analógicas PWM tenía una onda cuadrada muy estable de 490Hz.  El ciclo de trabajo se determina por el valor escrito el pin análogo.  (ej.: 0 es cero voltios, 127 es un ciclo de deber del 50%, 255 es una lógica alta/5V).

Decidí probar la salida PWM analógica por cable directamente al pin de interrupción 2 y funcionó muy bien!  Además, mantuvo perfectamente con reloj en tiempo real de mi computadora al segundo sin necesidad de compensación de software.  Yo he estado funcionando durante días y continúa para llevar a cabo tal como yo esperaba... todo con un alambre y algo de código.

El regalo final tendrá Eagle CAD personalizada PCB para la alimentación y la lógica, alojados en una caja de plexiglás.  El tema todo es hielo azul LED de iluminación para simular un reloj analógico.  Mientras que el recinto tiene un blanco en azul pantalla LCD muestra el día, hora y temperatura, un cable serial se conecta desde el cuadro de proyecto al reloj real.  Utilizando un contador de década de 12 bits, un servo y un montón de LED azul yo soy iluminación la hora apropiada segmentos en un reloj analógico de diseño personalizado frente impreso en plexiglás.  El servo está montado en el centro de la esfera del reloj y ha montado una armadura conectada un LED a la luz los minutos tras el cristal.  (cada minuto el servo gira 6 grados, iluminando el minuto apropiado).  Espero tenerlo terminado pronto y hará un video del producto final... Espero que ella lo ama!!

Simple cableado diagrama y demostración de código de Arduino para hacer tu propio reloj utilizando este método.  También un enlace al laboratorio de circuito que muestra cómo utilizar el temporizador 555 @ 100Hz método si lo desea.

Código y enlaces...

Circuito del oscilador Temporizador 555 (si desea probar este método)
https://www.circuitlab.com/Circuit/b575r9/555-100Hz-Oscillator/

Reloj código de demostración:

/ * Demo simple reloj interno: por Joseph Unik aka Relic1974
Utiliza la salida PWM analógica de 490Hz con un ciclo de deber del 50% para
tiempo de la subsistencia muy exacta;)  Conecte un LED al pin 13 a
reloj segundos pestañeo.  Conecte un puente del pin analógico 0
al Pin Digital 2 (interrupción 0). Salida de minutos a serial
monitor.  http://www.planetxresearch.com 'Arduino' logo
para más proyectos y trucos...


(No dude en utilizar este código para expandirse en un completamente funcional
reloj u otro proyecto bajo licencia Creative Commons ;)
*/

int clockInt = 0;            pin digital 2 ahora es interrupción 0
masterClock int = 0;         cuenta las señales de reloj borde de levantamiento
int segundos = 0;             variable
int minutos = 0;             variable
int ledPin = 13;

void setup()
{
attachInterrupt (clockInt, clockCounter, RISING);
clockInt es la interrupción, cuando se llama a función de clockCounter
invoca en un borde de reloj de aumento
analogReference(DEFAULT);
pinMode (ledPin, salida);
Serial.Begin(57600);
analogWrite (0, 127);   Esto inicia nuestro PWM 'reloj' con un ciclo de trabajo 50%
}

void clockCounter() / / llamado por interrupción
{
masterClock ++;        con cada subida de reloj añadir 1 a masterclock cuenta
if(masterClock == 489) / 490 Hz alcanzó
{
segundos ++;          después de un ciclo de 490Hz añadir 1 segundo ;)
masterClock = 0;     Después se llega a 1 segundo
tono (13, 100, 500);  uso de tono a pulso LED sin llamada retraso ;)
}
retorno;
}

void loop()
{
if(seconds == 60) / / ahora conociendo tiempo REAL de mantenimiento
{
minutos ++;          incremento de minutos por 1
segundos = 0;         restablecer la variable segundos
Serial.Print ("minutos =");
Serial.println(minutes);
}
}

Demo de mi proyecto en los trabajos aquí

Artículos Relacionados

Reloj de Arduino usando reloj estándar

Reloj de Arduino usando reloj estándar

es un reloj relativamente simple de construir, el hardware necesario y conectar todos los cables. La complejidad reside en el software, que convenientemente he incluido como parte de este instructable :)Este instructable muestra un par de cosas:* Man
Haga un preciso reloj digital retro!

Haga un preciso reloj digital retro!

Hace un tiempo CASIO comenzó a producir uno de los primeros relojes digitales. Compré uno de ellos y como él mucho. Mi hija de 3 años así... Para hacerla feliz decidí bordar una réplica del reloj.Después de una discusión con un amigo llegamos a la co
Solar Powered reloj de Arduino!

Solar Powered reloj de Arduino!

Recientemente me he interesado en la energía solar y sus aplicaciones. Con los avances en la tecnología de panel solar, paneles solares se han convertido en mucho más eficientes y baratos al mismo tiempo. Sin embargo, son todavía un poco caros, por l
Reloj de Arduino

Reloj de Arduino

Ahmed Mohamed hizo un reloj despertador que fue confundido con una bomba. Policías no le creyeron cuando él les dijo que no era una bomba, pero un reloj de alarma. En mi clase, sentíamos que asunción fue injusta y para mostrar nuestro apoyo creado re
Agregar un error de Video o marca de agua usando solamente el Windows Movie Maker!

Agregar un error de Video o marca de agua usando solamente el Windows Movie Maker!

Este Instructable le explicará paso a paso cómo agregar un Bug o marca de agua usando solamente el Windows Movie Maker! No hay software para comprar! El cable canales utilizan un bug o marca de agua para el ID de su canal, pero recientemente abusan d
TimeDuino - 7 segmento de reloj de Arduino (no hay registros de cambio necesitados!)

TimeDuino - 7 segmento de reloj de Arduino (no hay registros de cambio necesitados!)

Hey todos los asistentes instructable! Este es mi primer proyecto. Sí, sé las palabras generalmente el estereotipo actitud de "Esto no va a ser un buen proyecto", pero llevo esperando mucho tiempo para un proyecto que merece posiblemente rompien
Reloj de Arduino (con LCD y Motor paso a paso)

Reloj de Arduino (con LCD y Motor paso a paso)

Este instructable fue creado en cumplimiento de la exigencia de proyecto de la Makecourse de la Universidad de South Florida (www.makecourse.com)Este instructable proporcionará información sobre:1. reloj vivienda / otras piezas2. Descripción del circ
Control de Arduino usando app android

Control de Arduino usando app android

En este instructables voy a explicar cómo controlar los pernos del IO de arduino usando una aplicación para android, que voy a escribir aquí.La comunicación será a través de ethernet y usaremos la solicitud GET para activar el IO.Vamos a empezar!Paso
Reloj de Arduino con un motor de corriente continua (una aguja)

Reloj de Arduino con un motor de corriente continua (una aguja)

Hola,Estaba tratando de hacer un reloj con arduino con un solo motor pero no era posible con el método estándar como tiene que haber al menos dos agujasHoras y minutos, así que intenté algo nuevo. En este reloj hay seis divisiones en una hora en luga
Termómetro de Arduino usando el Sensor de temperatura LM35

Termómetro de Arduino usando el Sensor de temperatura LM35

Termómetro de Arduino usando el Sensor de temperatura LM35 es una muy simple de implementar Arduino basado en proyecto. Su inició un proyecto perfecto si usted es un principiante y acaba prácticamente pruebas proyectos de Arduino.En este proyecto nos
Cómo crear una medusa traje usando solamente cartón

Cómo crear una medusa traje usando solamente cartón

cómo crear una medusa traje usando solamente cartónPaso 1: introducciónEl propósito de este proyecto de la escuela es construir un traje de temática marina usando solamente cartón y paquete de planos de construcción. Tengo que construir una medusa tr
Como leer una tarjeta de arduino usando LabVIEW

Como leer una tarjeta de arduino usando LabVIEW

Este video muestra como leer una tarjeta de Arduino usando LabVIEW. LabVIEW tiene una gran interfaz que hace fácil guardar los datos de una tarjeta de Arduino. Uno de los mayores desafíos cuando se utiliza una tarjeta de Arduino que es endiabladament
Reloj binario de Arduino usando LED Matrix

Reloj binario de Arduino usando LED Matrix

Este sitio tiene muchos puestos finas que describe la construcción de los relojes binarios. Soy tremendamente inestable, sin embargo y tienen dificultad para cualquier soldadura. Por lo tanto quería hacer mío de una matriz de 8 x 8 LED MAX7219-contro
Reloj en tiempo real de Arduino usando el Ds1302

Reloj en tiempo real de Arduino usando el Ds1302

Esta semana he decidido que quiero construir un reloj. Quiero un reloj quesiempre el momento adecuado para que eso necesito un componente que puede hacer que algunas investigaciones y encontré el ds1302.Paso 1: Ver el videoHice un video en YouTube do