En el siguiente laboratorio se pretende Controlar con el Arduino un secuencia de 8 LEDS, con un LED encendido moviéndose
de izquierda a derecha en forma automática, usando el valor de los dos
Potenciómetros
para controlar el tiempo de encendido y el tiempo de apagado.
MATERIALES QUE SE USARON
1 arduino
8 leds
1 cable usb
1 protoboard
15 cables utp
8 resistencias
2 Potenciometro 10K
IMAGENES EN TIEMPO REAL
VIDEO DEL ENSAMBLAJE COMPLETO
CODIGO QUE SE USO
const int MAXLED = 8;
// arreglo de 8 LEDs, desde el pin 2 hasta el pin 9
int led[MAXLED] = {2,3,4,5,6,7,8,9};
//definen variables para los pines analogos
int pot1 = A4;
int pot2 = A3;
// se ejecuta 1 sola vez, al iniciar el programa
void setup() {
for (int i=0; i pinMode(led[i], OUTPUT);
pinMode(pot1, INPUT);
pinMode(pot2, INPUT);
}
// arreglo de 8 LEDs, desde el pin 2 hasta el pin 9
int led[MAXLED] = {2,3,4,5,6,7,8,9};
//definen variables para los pines analogos
int pot1 = A4;
int pot2 = A3;
// se ejecuta 1 sola vez, al iniciar el programa
void setup() {
for (int i=0; i
pinMode(pot1, INPUT);
pinMode(pot2, INPUT);
}
// se repite infinitamente mientras el arduino tenga corriente
void loop() {
void loop() {
// recorre desde el indice 0 hasta el 7
for (int i=0; i //lee los potenciiometros dentro del ciclo
// para que varie su velocidad en el momento
int valpot1 = analogRead(pot1);
int valpot2 = analogRead(pot2);
on(led[i], valpot1);
off(led[i], valpot2);
}
// recorre desde el indice 6 hasta el 1, para no repetir los extremos
for (int i=MAXLED-2; i>0; i–) {
//lee los potenciiometros dentro del ciclo
// para que varie su velocidad en el momento
int valpot1 = analogRead(pot1);
int valpot2 = analogRead(pot2);
on(led[i], valpot1);
off(led[i], valpot2);
}
}
for (int i=0; i
// para que varie su velocidad en el momento
int valpot1 = analogRead(pot1);
int valpot2 = analogRead(pot2);
on(led[i], valpot1);
off(led[i], valpot2);
}
// recorre desde el indice 6 hasta el 1, para no repetir los extremos
for (int i=MAXLED-2; i>0; i–) {
//lee los potenciiometros dentro del ciclo
// para que varie su velocidad en el momento
int valpot1 = analogRead(pot1);
int valpot2 = analogRead(pot2);
on(led[i], valpot1);
off(led[i], valpot2);
}
}
// métodos propios ——————————————–
void on(int led, int ms) {
digitalWrite(led, HIGH); // HIGH = +5V = prender
delay(ms); // espera en milisegundos
}
digitalWrite(led, HIGH); // HIGH = +5V = prender
delay(ms); // espera en milisegundos
}
void off(int led, int ms) {
digitalWrite(led, LOW); // LOW = 0V = apagar
delay(ms); // espera en milisegundos
}
digitalWrite(led, LOW); // LOW = 0V = apagar
delay(ms); // espera en milisegundos
}
No hay comentarios:
Publicar un comentario