Control de 20 Led de 5 pines de Arduino usando Charlieplexing (7 / 8 paso)

Paso 7: Codificación, un mejor ejemplo.


Mientras voy en bicicleta a través LED es una buena indicación que funciona, es algo aburrido...

El croquis adjunto muestra cómo puede configurar el código para mostrar los marcos específicos (donde cada fotograma se define como un montón de luces LED que está encendido o apagado).

La primera diferencia es que se reorganizan las variables en mi matriz de LED para asemejarse a la disposición en mi protoboard. Por desgracia, hay no hay truco aquí. Es solo prueba y error. Ver la secuencia de luces LED y dos a la vez para tratar de ordenar intercambiar.

Sin embargo, la principal diferencia es el método de visualización (cuadro de int [5], int duración). La mayor parte de es bastante evidente. Hay un montón de bucle para obtener todos los valores relevantes de los diferentes arreglos de discos, pero la única parte que suele ser confuso es aquí:
Si (marco [y] & (0b1000 >> x)) {}
luz c [y] [x];

Esencialmente esto está utilizando un AND bit a bit en un byte de Bitshifted para determinar si una columna en el cuadro es en. Cuando cambio a la derecha, 1 en 0B1000 se moverá a la derecha, así que lo que está haciendo es:
Asuma X = 0 y marco [y] = 0b0101:
0b1000 >> 0 es 0B1000
haciendo un AND bit a bit en
0B1000 y
0B0101
terminas con 0B0000 que significa que ningún LED se encenderá.
Si luego vas X = 1 y marco [y] = 0b0101:
0b1000 >> 1 es 0B0100
haciendo un AND bit a bit en
0B0100 y
0B0101
terminas con 0B0100 que significa enciende el segundo LED (y sólo el segundo LED) en fila Y.

Esencialmente, es un poco inteligente de las matemáticas para hacer el código más limpio. Usted puede leer más acerca de bit a bit matemáticas aquí:
http://www.Arduino.CC/Playground/Code/BitMath

El video muestra como cuando se ve.

Artículos Relacionados

Cómo conducir una gran cantidad de LEDs de unos pines del microcontrolador.

Cómo conducir una gran cantidad de LEDs de unos pines del microcontrolador.

Con el hecho de que muchos pines del microcontrolador tienen tres Estados (+ V, GND, o"alta impedancia", coche N*(N-1) LEDs de pines N. Así que el pequeño 8microcontrolador de PIN como un PIC12Fxxx o un ATtiny11 puede conducir 20 LEDs ensus cinc
Control de un LED en Internet a través de Arduino con Teleduino

Control de un LED en Internet a través de Arduino con Teleduino

hay algo sobre cómo hacer un brillo del LED a través de un Arduino. ¿Qué podría hacer incluso más? ¿Por qué hacer eso LED resplandor de cualquier parte del mundo a través de internet? Ahora nos estamos hablando!Este proceso se hace realmente simple c
Control remoto grande Led matriz Artnet frambuesa Pi

Control remoto grande Led matriz Artnet frambuesa Pi

Queremos hacer una matriz grande wifi led. El proyecto uso 200 WS2801 leds y una frambuesa Pi como un 'cerebro' de la ópera.Comenzamos a hacer la estructura de madera de la matriz y después vamos a hacer un cerebro. Una frambuesa Pi con OLA de frambu
Control de color de un LED franja de luz un Arduino y un iPhone BLE

Control de color de un LED franja de luz un Arduino y un iPhone BLE

Este tutorial le mostrará cómo controlar una tira de luz LED RGB analógica a través de un Arduino y un dispositivo iOS. Utilizará la aplicación de espectáculo de luces que permite establecer un único color o crear un espectáculo de luces con una secu
Control de un LED con su IPhone

Control de un LED con su IPhone

En este Instructable mostrará cómo hacer tu propia app usando Xcode en tu ordenador Mac y, a continuación, cómo utilizar la aplicación para controlar un LED a través de un arduino.Paso 1: materiales Placa de Arduino UnoArduino Ethernet ShieldLEDResis
Espectrómetro/LEDs usando Charlieplexed LED

Espectrómetro/LEDs usando Charlieplexed LED

En este instructable construimos una matriz de LED que luego puede ser controlados con un Arduino o cualquier otro AVR basado en microcontrolador, o frambuesa Pi, o lo que quiera. Simplemente estamos construyendo la herramienta aquí y se puede aplica
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
Conducción LED RGB tiras de un Arduino

Conducción LED RGB tiras de un Arduino

Se acerca la Navidad y te estarás preguntando cómo hacer coloridas y brillantes con un Arduino y una tira de LED RGB. Por lo menos, era exactamente lo que hice hace un año y no fue capaz de encontrar cualquier instrucción clara y sencilla en cualquie
Control de nada y ahorrar energía con Arduino

Control de nada y ahorrar energía con Arduino

Usé esto para mi problema muy específico, pero podría ser utilizado para cualquier cosa realmente.El problema:Mayoría de los oradores no es inteligente, y así que tienes que darles vuelta apagado manualmente, especialmente el altavoces tipo monitor s
Control de Arduino usando PHP

Control de Arduino usando PHP

Recientemente he visto un montón de problemas con respecto a PHP y Arduino. Muchas personas no saben acerca de hechos como un arduino necesita un 2 segundo retraso de (!) antes de pueda recibir mensajes a través de la serie. Hay algunos otros hechos
Reloj Digital de Arduino (con Charlieplexing LEDs, Displays de 7 segmentos)

Reloj Digital de Arduino (con Charlieplexing LEDs, Displays de 7 segmentos)

este es mi segundo instructable. Acabo de tener un estado de ánimo de hacer un reloj digital. Pero quería hacer un proceso de aprendizaje. Ya tuve un sanguino podría haber fácilmente utilizado eso Atmega644 chip. hubiera sido más que suficiente.  Per
Pong de LED 8 x 8 con Arduino

Pong de LED 8 x 8 con Arduino

Por Justin Ou, tecnólogo creativo (pasante)Este juego clásico Pong fue creado utilizando un Arduino conectado a una matriz de LED 8 x 8. Las paletas de ping-pong son controladas mediante un joystick y el juego termina cuando la bola va más allá de la
Inalámbrico de Control de Arduino usando el BeagleBone negro o frambuesa Pi

Inalámbrico de Control de Arduino usando el BeagleBone negro o frambuesa Pi

IntroducciónSi han estado buscando una manera fácil y barata integrar sin cables un Arduino y un BeagleBone negro (BBB) o mirada de frambuesa Pi (RPi) no más, este tutorial le mostrará cómo!Lo que se necesitaUn microcontrolador BeagleBone negro con l
Woooshing LED - animación girar por arduino

Woooshing LED - animación girar por arduino

este proyecto permite dibujar en el aire letras, símbolos u otras formas - como te gusta. Controlada por Arduino, los 7 leds simple parpadeo y apagado - creando la ilusión de texto flotante en el aire. Esta combinación de componentes simples con un ú