El cubo de LED Arduino!! ¿ (5 / 7 paso)

Paso 5: Programación de tiempo!

He encontrado este impresionante programa aquí:

http://www.stationinthemetro.com/index.php/Archives/2008/01/19/makedc-LED-Cube-Workshop/

Te ahorrará un viaje y el código postal aquí. Esta carga hasta arduino mediante el entorno de arduino que se pueden bajar en arduino.cc (una web).

Basado en ledcube.c de hacer: podcast de fin de semana de 07 de septiembre de 2007
http://blog.Makezine.com/Archive/2007/09/make_a_pocket_led_cube_we.html

Animación personalizada programada por Mark Boszko, http://stationinthemetro.com
*/

#include < avr/pgmspace.h > / / permite el uso de PROGMEM para almacenar patrones de flash

#define CUBESIZE 3
#define PLANESIZE CUBESIZE * CUBESIZE
#define PLANETIME 3333 / / tiempo de cada plano se muestra en nosotros -> refresco de 100 Hz
#define TIMECONST 20 / / multiplica DisplayTime para obtener ms - = ¿por qué no 100?

Tabla de patrón de LED en PROGMEM - la última columna es tiempo de visualización en unidades de 100ms
TODO esto podría ser mucho más compacto, pero no con la representación del patrón binario
prog_uchar PROGMEM PatternTable [] = {}
parpadea el encendido y apagado
B111 B111, B111, B111, B111, B111, B111, B111, B111, 5,
B000 B000, B000, B000, B000, B000, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 5,
B000 B000, B000, B000, B000, B000, B000, B000, B000, 1,
cada LED de destello en secuencia:
Izquierda -> la columna de la derecha, luego arriba -> fila inferior, luego superior -> plano inferior
B100, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B010 B000, B000, B000, B000, B000, B000, B000, B000, 1,
B001 B000, B000, B000, B000, B000, B000, B000, B000, 1,
B000 B100, B000, B000, B000, B000, B000, B000, B000, 1,
B000, B010, B000, B000, B000, B000, B000, B000, B000, 1,
B000 B001, B000, B000, B000, B000, B000, B000, B000, 1,
B000 B000, B100, B000, B000, B000, B000, B000, B000, 1,
B000 B000, B010, B000, B000, B000, B000, B000, B000, 1,
B000 B000, B001, B000, B000, B000, B000, B000, B000, 1,
B000 B000, B000, B100, B000, B000, B000, B000, B000, 1,
B000 B000, B000, B010, B000, B000, B000, B000, B000, 1,
B000 B000, B000, B001, B000, B000, B000, B000, B000, 1,
B000 B000, B000, B000, B100, B000, B000, B000, B000, 1,
B000 B000, B000, B000, B010, B000, B000, B000, B000, 1,
B000 B000, B000, B000, B001, B000, B000, B000, B000, 1,
B000 B000, B000, B000, B000, B100, B000, B000, B000, 1,
B000 B000, B000, B000, B000, B010, B000, B000, B000, 1,
B000 B000, B000, B000, B000, B001, B000, B000, B000, 1,
B000 B000, B000, B000, B000, B000, B100, B000, B000, 1,
B000 B000, B000, B000, B000, B000, B010, B000, B000, 1,
B000 B000, B000, B000, B000, B000, B001, B000, B000, 1,
B000 B000, B000, B000, B000, B000, B000, B100, B000, 1,
B000 B000, B000, B000, B000, B000, B000, B010, B000, 1,
B000 B000, B000, B000, B000, B000, B000, B001, B000, 1,
B000 B000, B000, B000, B000, B000, B000, B000, B100, 1,
B000 B000, B000, B000, B000, B000, B000, B000, B010, 1,
B000 B000, B000, B000, B000, B000, B000, B000, B001, 10,

Un pequeño cubo - divertido cubo grande
B000 B000, B000, B000, B011, B011, B000, B011, B011, 10,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 10,
B000 B000, B000, B000, B011, B011, B000, B011, B011, 5,
B000 B000, B000, B000, B000, B000, B000, B000, B001, 2,
B000 B000, B000, B000, B011, B011, B000, B011, B011, 2,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 2,
B000 B000, B000, B000, B011, B011, B000, B011, B011, 2,
B000 B000, B000, B000, B000, B000, B000, B000, B001, 2,
B000 B000, B000, B000, B011, B011, B000, B011, B011, 2,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000 B000, B000, B000, B011, B011, B000, B011, B011, 1,
B000 B000, B000, B000, B000, B000, B000, B000, B001, 1,
B000 B000, B000, B000, B011, B011, B000, B011, B011, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B110, B110, B000, B110, B110, B000, B000, B000, B000, 1,
B100, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B110, B110, B000, B110, B110, B000, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000 B000, B000, B000, B011, B011, B000, B011, B011, 1,
B000 B000, B000, B000, B000, B000, B000, B000, B001, 1,
B000 B000, B000, B000, B011, B011, B000, B011, B011, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B110, B110, B000, B110, B110, B000, B000, B000, B000, 1,
B100, B000, B000, B000, B000, B000, B000, B000, B000, 1,
B110, B110, B000, B110, B110, B000, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000 B011 B011, B000, B011, B011, B000, B000, B000, 1,
B000 B000, B001, B000, B000, B000, B000, B000, B000, 1,
B000 B011 B011, B000, B011, B011, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000 B000, B000, B110, B110, B000, B110, B110, B000, 1,
B000 B000, B000, B000, B000, B000, B100, B000, B000, 1,
B000 B000, B000, B110, B110, B000, B110, B110, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000 B011 B011, B000, B011, B011, B000, B000, B000, 1,
B000 B000, B001, B000, B000, B000, B000, B000, B000, 1,
B000 B011 B011, B000, B011, B011, B000, B000, B000, 1,
B111 B111, B111, B111, B111, B111, B111, B111, B111, 1,
B000 B000, B000, B110, B110, B000, B110, B110, B000, 1,
B000 B000, B000, B000, B000, B000, B100, B000, B000, 1,
B000 B000, B000, B110, B110, B000, B110, B110, B000, 1,

Paño de diagonal, comenzando en el centro
B111 B111, B111, B111, B111, B111, B111, B111, B111, 5,
B111 B111, B111, B111, B111, B111, B111, B101, B111, 1,
B111 B111, B111, B111, B101, B111, B111, B101, B111, 1,
B111 B111, B111, B111, B101, B111, B111, B100, B111, 1,
B111, B101, B111, B111, B100, B111, B111, B100, B110, 1,
B111, B101, B111, B111, B100, B111, B111, B100, B110, 1,
B111 B011 B111, B111, B100, B110, B111, B100, B100, 1,
B111, B100, B110, B111, B100, B100, B111, B100, B000, 1,
B111, B100, B100, B111, B100, B000, B111, B000, B000, 1,
B111, B100, B000, B111, B000, B000, B011, B000, B000, 1,
B111 B000, B000, B011, B000, B000, B001, B001, B000, 1,

2-LED diaginal amplia raya que orbita el cubo
B011 B000, B000, B001, B001, B000, B000, B001, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B011, 1,
B000 B001, B001, B000, B000, B011, B000, B000, B110, 1,
B000 B000 B011, B000, B000, B110, B000, B100, B100, 1,
B000 B000, B110, B000, B100, B100, B100, B100, B000, 1,
B000 B100, B100, B100, B100, B000, B110, B000, B000, 1,
B100, B100, B000, B110, B000, B000, B011, B000, B000, 1,
B110 B000, B000, B011, B000, B000, B001, B001, B000, 1,

Ahora, con centro flashies, sabor
B011 B000, B000, B001, B001, B000, B000, B011, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B011, 1,
B000 B001, B001, B000, B000, B011, B000, B010, B110, 1,
B000 B000 B011, B000, B000, B110, B000, B100, B100, 1,
B000 B000, B110, B000, B100, B100, B100, B110, B000, 1,
B000 B100, B100, B100, B100, B000, B110, B000, B000, 1,
B100, B100, B000, B110, B000, B000, B011, B010, B000, 1,
B110 B000, B000, B011, B000, B000, B001, B001, B000, 1,
B011 B000, B000, B001, B011, B000, B000, B001, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B011, 1,
B000 B001, B001, B000, B010, B011, B000, B000, B110, 1,
B000 B000 B011, B000, B000, B110, B000, B100, B100, 1,
B000 B000, B110, B000, B110, B100, B100, B100, B000, 1,
B000 B100, B100, B100, B100, B000, B110, B000, B000, 1,
B100, B100, B000, B110, B010, B000, B011, B000, B000, 1,
B110 B000, B000, B011, B000, B000, B001, B001, B000, 1,
B011 B010, B000, B001, B001, B000, B000, B001, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B011, 1,
B000 B011, B001, B000, B000, B011, B000, B000, B110, 1,
B000 B000 B011, B000, B000, B110, B000, B100, B100, 1,
B000, B010, B110, B000, B100, B100, B100, B100, B000, 1,
B000 B100, B100, B100, B100, B000, B110, B000, B000, 1,
B100, B110, B000, B110, B000, B000, B011, B000, B000, 1,
B110 B000, B000, B011, B000, B000, B001, B001, B000, 1,

Terminando
B001 B001, B000, B000, B001, B001, B000, B000, B001, 1,
B001 B001, B000, B000, B001, B001, B000, B000, B001, 1,
B000 B001, B001, B000, B000, B001, B000, B000, B001, 1,
B000 B000, B001, B000, B000, B001, B000, B000, B001, 1,
B000 B000, B000, B000, B000, B001, B000, B000, B001, 1,
B000 B000, B000, B000, B000, B000, B000, B000, B001, 5,
B000 B000, B000, B000, B000, B000, B000, B000, B000, 3,
B000 B000, B000, B000, B000, B000, B000, B000, B001, 5,
B000 B000, B000, B000, B000, B000, B000, B000, B000, 3,
B000 B000, B000, B000, B000, B000, B000, B000, B001, 5,
B000 B000, B000, B000, B000, B000, B000, B000, B000, 3,

se trata de un elemento ficticio para el final de la tabla (duración = 0)
B000 B000, B000, B000, B000, B000, B000, B000, B000, 0
};

/*
** Definición de pines de matriz facilita cambiar cómo se cablea el cubo
** Ajustar números aquí hasta que parpadean en orden - L a R, T a B
** Nota que entradas analógicas 0-5 también son salidas digitales 14-19.
** Pin DigitalOut0 (serial RX) y AnalogIn5 se dejan abierta para futuras aplicaciones
*/

int LEDPin [] = {16, 3, 1, 15, 4, 6, 14, 5, 7};
int [] PlanePin = {19, 18, 17};

inicialización de
void setup()
{
int pin; contador de bucle
configura pines del LED como salida (activo alto)
para (pin = 0; pin < PLANESIZE; pin ++) {}
pinMode (LEDPin [pin], salida);
}
configurar pines plano como salidas (activo bajo)
para (pin = 0; pin < CUBESIZE; pin ++) {}
pinMode (PlanePin [pin], salida);
}
}

muestra patrón en mesa hasta DisplayTime es cero (y repetir)
void loop()
{
declarar variables
byte PatternBuf [PLANESIZE]; guarda el patrón actual de PatternTable
int PatternIdx;
byte DisplayTime; tiempo * 100ms para mostrar configuración
EndTime largo sin firmar;
plano de int. contador de bucle para actualización de cubo
int patbufidx; índices que byte del buffer patrón
int ledrow; cuenta con LEDs en bucle de actualización
int ledcol; cuenta con LEDs en bucle de actualización
int ledpin; cuenta con LEDs en bucle de actualización

Inicializar PatternIdx al principio de la tabla patrón
PatternIdx = 0;
lazo sobre las entradas de tabla de patrón - mientras DisplayTime > 0
{}
Lee el patrón de PROGMEM y guardar en array
memcpy_P (PatternBuf, PatternTable + PatternIdx, PLANESIZE);
PatternIdx += PLANESIZE;
leer DisplayTime del índice PROGMEM y el incremento de
DisplayTime = pgm_read_byte_near (PatternTable + PatternIdx ++);
calcular EndTime del actual tiempo (ms) y DisplayTime
EndTime = millis() + ((unsigned long) DisplayTime) * TIMECONST;

bucle mientras DisplayTime > tiempo 0 y actual < EndTime
mientras que (millis() < EndTime) {}
patbufidx = 0; reiniciar contador de índice al principio del buffer
lazo sobre planos
para (plano = 0; plano < CUBESIZE; plano ++) {}
Apague el plano anterior
Si (plano == 0) {}
digitalWrite (PlanePin [CUBESIZE-1], alto);
} else {}
digitalWrite (PlanePin [plano-1], alto);
}

datos actuales de patrón plano de carga en puertos
ledPin = 0;
para (ledrow = 0; ledrow < CUBESIZE; ledrow ++) {}
para (ledcol = 0; ledcol < CUBESIZE; ledcol ++) {}
digitalWrite (LEDPin [ledpin ++], PatternBuf [patbufidx] & (1 << ledcol));
}
patbufidx ++;
}

encender el avión actual
digitalWrite (PlanePin [avión], LOW);
retrasar PLANETIME nos
delayMicroseconds (PLANETIME);
} / / avión
} / / mientras < EndTime
} mientras (DisplayTime > 0); leer patrones hasta el momento = 0 que indica el final
}
{6 comentarios y Léelos a continuación o añadir uno}

Artículos Relacionados

Haciendo un cubo de LED Arduino 3 X 3 en menos de 30 minutos

Haciendo un cubo de LED Arduino 3 X 3 en menos de 30 minutos

Bueno, hoy voy a mostrarte cómo hacer un cubo de LED arduino 3 X 3. Hice uno ayer y he tratado de simplificar el procedimiento para que todos puedan entender. Por lo tanto, menos hablar y más demostración.Paso 1: requisitos Estos son los artículos qu
El 4 x 4 x 4 cubo del LED (Arduino)

El 4 x 4 x 4 cubo del LED (Arduino)

en este instructable le mostraré cómo hacer un 4 x 4 x 4 cubo del LED que será controlado por un Arduino Demulionove. ahora sí que podríamos decir"que Arduino tiene sólo 14 pines I/O bien también los pines analógicos 6 puede utilizarse como pernos de
3 x 3 x 3 cubo del LED Arduino-UNO

3 x 3 x 3 cubo del LED Arduino-UNO

¿Es interés para hacer tu propio 3 x 3 x 3 cubo del LED???Es usted principiante no importaQue sigues los pasos correctos. Es simple y fácil.Permítame mostrarle cómo!!!!!!Paso 1: Qué necesitas1 uno de x Arduino27 x LED (usar 3 colores, 9 de cada color
Cubo de LED Arduino 4 x 4 x 4

Cubo de LED Arduino 4 x 4 x 4

Resumen:Este instructable cubrirá el proceso de construcción de un 4 x 4 x 4 cubo del LED. Utilizaré un Arduino para controlar los LEDs.  Puesto que el Arduino (Freeduino) tiene un total de 20 pines (incluyendo los pines analógicos) no necesitaremos
5 x 5 cubo del LED (Arduino Uno)

5 x 5 cubo del LED (Arduino Uno)

Esta es una explicación paso a paso de cómo construir un cubo de LED de 5 x 5 con un arduino. Hice este proyecto para mi clase de electrónica licenciatura y me tomó cerca de 2 semanas para completar.Nota: Al parecer, algunos de los links para el códi
CUBO de LED Arduino 5 x 5 x 5

CUBO de LED Arduino 5 x 5 x 5

5 x 5 x 5 LED cubo Arduino Uno, usando solo 3 pines del Arduino, cambio 6 registros 595NPaso 1:EsquemaPaso 2: Arduino Uno125 x Leds6 x 74HC595N5 x BC337resistencias del ohmio 5 x 10Protoboard 290 tiepointsProtoboard 810 tiepointsprototipo del tablero
Cubo de LED Arduino

Cubo de LED Arduino

Este proyecto requiere algunos conocimientos de soldadura, pero su fácil y perfecto para principiantes de Arduino.Paso 1: partes piezas que utilicé:* arduino UNO* PCB board* 64 x LEDs difusas* alambres de cable ethernet* 20 x clavijas macho para Ardu
Luz nocturna Funky bricolaje: El 4 x 4 x 4 cubo del LED

Luz nocturna Funky bricolaje: El 4 x 4 x 4 cubo del LED

esto era en realidad un proyecto que hice. Mi propia versión del popular cubo de LED. De todos modos, si tienes mucho tiempo y usted está lo suficientemente loco para hacer este simple aspecto aún proyecto de luz nocturna complicada, puede optar por
BRICOLAJE | 3 x 3 x 3 cubo del LED para Arduino Nano +

BRICOLAJE | 3 x 3 x 3 cubo del LED para Arduino Nano +

Hi todo el mundo!Mi nombre es RGBFreak y he creado un canal en YouTube hace poco.Me encanta el bricolaje y me gusta sobre todo LED, por lo que decidí hacer mi propia 3 x 3 x 3 cubo del LED!Usted necesitará los siguientes elementos para hacer este cub
4 x 4 x 4 interactivo-cubo del LED con Arduino

4 x 4 x 4 interactivo-cubo del LED con Arduino

para explicar mi 4 x 4 x 4 cubo del LED interactivo publicado antes, un poco más claro, voy a intentar hacer mi primer paso por paso instructable.Este 4 x 4 x 4 cube es interactivo usando la esquina de cuatro LEDs LEDs y sensores que reaccionan a la
Cubo del LED con Arduino y PCB personalizado

Cubo del LED con Arduino y PCB personalizado

este instructivo detalla el diseño y construcción de proceso para un 5 x 5 x 5 cubo del LED, controladas con un Arduino, que reside en un tablero de circuito impreso personalizado.Videos, fotos e información adicional pueden encontrarse en mi sitio w
5 x 5 x 5 cubo del LED funcionar con Arduino Uno

5 x 5 x 5 cubo del LED funcionar con Arduino Uno

Hola amigos, esta es mi opinión sobre un 5 x 5 x 5 cubo del LED, permite comenzar.Lo primero que debemos hacer es conseguir todos nuestros suministros.Vamos a necesitar...:125 LEDs (Asegúrese de que son rojo o amarillo o el arduino no será capaz de e
3 x 3 x 3 cubo del LED con Arduino Lib

3 x 3 x 3 cubo del LED con Arduino Lib

hay otros Instructables sobre la construcción de cubos de LED, éste es diferente por varias razones:1. se construye con un bajo número de componentes estándares y ganchos directamente a Arduino.2. una clara, fácil de reproducir circuito diagrama está
Cubo de LED de media pulgada: Arduino había controlado 3 x 3 x 3 con LEDs SMD!

Cubo de LED de media pulgada: Arduino había controlado 3 x 3 x 3 con LEDs SMD!

Tomando la tarea comenzó con mí pensando 'bueno, podría hacer un cubo de LED más pequeños mediante LEDs SMD".   Sí, la idea era soldar los LEDs de montaje superficial en el espacio!    Y sí lo hice (sigue siendo la pregunta "Por qué").  Vid