martes, 11 de diciembre de 2012

LABORATORIO # 3


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);
  
}
// se repite infinitamente mientras el arduino tenga corriente
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);
  }
}
// métodos propios ——————————————–
void on(int led, int ms) {
  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
}

DIAGREAMA DEL LABORATORIO




ESQUEMA DEL LABORATORIO





No hay comentarios:

Publicar un comentario