Paso 1: código de
Aquí está el código para el sistema. Revise los comentarios en el código para obtener más información. He intentado hacer que todo lo de importancia comentar, pero por favor, pregunte si hay algo que no tiene sentido. El formato funciona en el software de Arduino o con una fuente de ancho fijo./**************************************
* Programa: pista v2.0 *
***************************************
* Descripción: *
* 6 leds de los puertos PWM de flash *
* secuencia con un fundido después. *
* Nivel de brillo ajustable y *
* ' longitud de la cola'. *
* Flash al inicio para comprobar todos los LEDs *
* están operando. *
***************************************
* Usage: *
* Variable 'comparar' decide la cola *
* longitud, el número más grande = más grande cola. *
* ' maxbri' establece el máximo *
* brillo de los LEDs, el más bajo *
* es más rápido el ciclo *
* operar así que la más grande 'dly' *
* hay que mantener la misma *
* tasa de secuencia. *
**************************************/
LED 1 byte = 9; números de puertos LED
led2 bytes = 10; todo sobre puertos PWM
led3 bytes = 11;
led4 bytes = 6;
led5 bytes = 5;
led6 bytes = 3;
byte led1bri = 0; variables de brillo LED
byte led2bri = 0;
byte led3bri = 0;
byte led4bri = 0;
byte led5bri = 0;
byte led6bri = 0;
compara byte = 90; nivel de brillo antes de próxima activación led
maxbri bytes = 128; brillo máximo del LED. Comparar debe ser inferior a continuación, maxbri!
dly byte = 2; demora para frenar la rutina, el maxbri inferior del
dly mayor hay que mantener la misma velocidad de movimiento
void setup()
{
pinMode (led1, salida); Dirección de pin de configuración
pinMode (led2, salida);
pinMode (led3, salida);
pinMode (led4, salida);
pinMode (led5, salida);
pinMode (led6, salida);
Flash todos los leds para probar el funcionamiento
digitalWrite (LED 1, HIGH); prenden todos los leds
digitalWrite (led2, HIGH);
digitalWrite (LED 3, alto);
digitalWrite (led4, HIGH);
digitalWrite (led5, HIGH);
digitalWrite (led6, HIGH);
Delay(1000); pausa de 1 segundo
para (led1bri = 255; led1bri > 0; led1bri--)
{
analogWrite (led1, led1bri); se desvanecen todos los leds al mismo tiempo
analogWrite (led2, led1bri);
analogWrite (led3, led1bri);
analogWrite (led4, led1bri);
analogWrite (led5, led1bri);
analogWrite (led6, led1bri);
delayMicroseconds(750); corto retardo para descolorarse rápido
}
digitalWrite (LED 1, bajo); conjunto todos los leds
digitalWrite (led2, LOW);
digitalWrite (LED 3, bajo);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
digitalWrite (led6, LOW);
Delay(500);
led1bri = maxbri; led1 alto brillo
}
void loop()
{
rutina principal, llamativo llamativo!
Si (led1bri > 0) {led1bri--;} ledxbri de //decrement si no fuera ya
Si (led2bri > 0) {led2bri--;}
Si (led3bri > 0) {led3bri--;}
Si (led4bri > 0) {led4bri--;}
Si (led5bri > 0) {led5bri--;}
Si (led6bri > 0) {led6bri--;}
Si (led1bri == compara) {led2bri = maxbri;} //if anterior condujo en conjunto brillo
Si (led2bri == compara) {led3bri = maxbri;} corriente //set llevó brillo a
Si (led3bri == compara) {led4bri = maxbri;} //maximum en maxbri
Si (led4bri == compara) {led5bri = maxbri;}
Si (led5bri == compara) {led6bri = maxbri;}
Si (led6bri == compara) {led1bri = maxbri;}
analogWrite (led1, led1bri); salida a los leds
analogWrite (led2, led2bri);
analogWrite (led3, led3bri);
analogWrite (led4, led4bri);
analogWrite (led5, led5bri);
analogWrite (led6, led6bri);
Delay(dLY); hacer una pausa antes de volver a empezar
}