Paso 6: Un examen dibujo
- Copyright (c) 2009 qs
*
- Análisis de píxeles horizontales y verticales
*
- Fila de la matriz de LED: 1-5; col: 1-6
- Mapa de PORTB == D8:D12 espiga [fila + 7]: + v
- PORTD == D2:D7 pin [8-col]; Toma de tierra
- Nuestra producción: col::D2:D7 - ve (bajo) mientras row::D8:D13 + ve
*/
int delayTime = 80; incrementos de 1 MS antes de siguiente LED
cambiar de 1 a 100 y ver que pasa
int delayStep;
int ledPin, col, fila;
void setup() / / ejecuta una vez, cuando comienza el bosquejo
{
para (ledPin = 2; ledPin < = 12; ledPin ++) / / estándar de configuración para la LMP
{pinMode (ledPin, salida); / / pone el pin digital como salida
digitalWrite (ledPin, (ledPin < = 7)); y todos OFF
}
}
void loop() / / ejecuta una y otra vez
/ * Mapa PORTB == D8:D13
- PORTD == D0:D7
- Nuestra producción: col::D7:D2
- (8-col) - ve (bajo)
- mientras row::D8:D13 + ve
- (fila + 7) + ve (alto)
*/
{
para (fila = 1; fila < = 5; fila ++) {/ / Vertical: de izquierda a derecha
digitalWrite(row+7,HIGH); Activar la fila completa
para (col = 1; col < = 6; col ++) {/ / un pixel por col
digitalWrite(8-col,LOW); consigue encendido
Delay(delayTime); por un momento
digitalWrite(8-col,HIGH); a continuación, OFF
} / / antes de la siguiente
digitalWrite (filas + 7, bajo); Hemos terminado con esta fila
}
para (col = 6; col > = 1; col--) {/ / subiendo de derecha a izquierda
digitalWrite(8-col,LOW); Un atajo: dejar col habilitado
para (fila = 5; fila > = 1; fila--) {}
digitalWrite(row+7,HIGH); Encender 1 píxel
Delay(delayTime); Espere un momento
digitalWrite(row+7,LOW); luego se apaga...
}
digitalWrite(8-col,HIGH); terminado con esta columna
}
}