Paso 5: Proyecto 1 [pt 2]: software de controlador de pantalla de gráfico de barras LED 'alambre de 2'
Abra el archivo "_164_bas_ex.pde" dentro de la arduino IDE, su un bosquejo sencillo que sólo permite definir encendido o apagado del LED en la pantalla de gráfico de barras
Las 2 primeras líneas definen los números que vamos a usar para datos y el reloj, usar #define sobre const entero, me parece más fácil de recordar y hay ventaja a uno u otro una vez compilado
#define datos 2
#define reloj 3
el siguiente es la función de configuración nula, sólo ejecuta una vez, así que el arduino se enciende, establece el registro de desplazamiento y tiene nada más que hacer. Dentro de la función void setup configuramos los pines de reloj y datos como pines de salida, luego utilizando la función shiftOut enviamos los datos para el registro de desplazamiento
void setup()
{
pinMode (reloj, salida); hacer el reloj pin una salida
pinMode (datos, salida); hacer los datos pin una salida
shiftOut (datos, reloj, LSBFIRST, B10101010); Envíe este valor binario para el registro de desplazamiento
}
En la función de shiftOut puede ver sus argumentos
datos están el pin de datos, el reloj es el pin de reloj
LSBFIRST se refiere a qué orden su, cuando escribir fuera en notación binaria (Bxxxxxxxx) el elemento 7 º pasado el B es el menos Signifigant Bit primero, este se alimenta en primera por lo que termina en la última salida una vez que todos los 8 bits son alimentados en
B10101010 es el valor binario que se envía para el registro de desplazamiento, y se enciende cada luz extraña, intenta jugar con diferentes valores para activar o desactivar diferentes patrones
y por último un bucle vacío vacío (porque lo necesita incluso si tu no lo utilice)
void loop() {} / / vaciar circuito por ahora
Ejemplo 2: void setup()
las primeras 8 líneas son las mismas que las primeras 8 líneas del primer ejemplo, de hecho no va a cambiar por cualquiera de los otros proyectos, así
#define datos 2
#define reloj 3
{
pinMode (reloj, salida); hacer el reloj pin una salida
pinMode (datos, salida); hacer los datos pin una salida
Pero ahora en la configuración de vacío hay un conteo de los 8 para lazo, tomar un byte vacío y desplazamiento 1 bit en un tiempo a partir de la bit de la izquierda y la derecha movimiento. Esto es al revés del primer ejemplo donde empezamos desde el bit más a la derecha e izquierda trabajó, pero usando MSBFIRST el cambio función envía los datos de la forma correcta de
También añadimos un retardo en el bucle para se ralentiza lo suficiente como para ser visible. void loop() {} / / vaciar circuito por ahora
para (int i = 0; i < 8; ++ i) //for 0 - 7 no
{
shiftOut (datos, reloj, MSBFIRST, 1 << i); poco cambio un valor alto (1) de lógica por
Delay(100); retardo de 100ms o usted no sería capaz de ver
}
}
subir el script y ahora debería ver el gráfico de barras de luz cada una luz en un momento