sábado, 17 de agosto de 2013

LABORATORIO 3

DESCRIPCIÓN

En este laboratorio se controlaran el tiempo de apagado y el tiempo de encendido de los leds con dos potenciomentros, por medio del arduino duemilanove que es el que interpretara la señal analógica de entrada proveniente de los potenciometros. todo esto  es a una función del arduino llamada analogRead, que es la encargada de leer los datos del potenciometro, ademas usamos la función map para simplificar el valor obtenido que es desde 0 hasta 1023, con el map los valores quedaran de 0 a 7, de esta forma sera mucho mas facil controlar en cambio de los leds.


MATERIALES

  1. 8 diodos led
  2. kit de desarrollo arduino duominalove
  3. 8 resistencias de 220 ohnmios
  4. 2 potenciometro de 1k ohnmios
  5. DIAGRAMAS



    los diagramas fueron desarrollados con el programa de diseño de circuitos llamado fritzing

    DIAGRAMA DE MONTAJE EN PROTOBOARD  




  6. DIAGRAMA ESQUEMATICO

    DIAGRAMA PCB PARA MONTAJE EN TARJETA PERFORADA



    FOTOS DEL PROCESO DE MONTAJE


    foto1


     foto 2

    foto 3

     foto 4

     foto 5

    CÓDIGO

    const int MAXLED = 8;
    int led[MAXLED] = {2,3,4,5,6,7,8,9};
    int potenciometro1 = A0;
    int potenciometro2 = A1;

    void setup() {
      for (int i=0; i<MAXLED; i++)
        pinMode(led[i], OUTPUT);
        pinMode(potenciometro1, INPUT);
        pinMode(potenciometro2, INPUT);
    }


    void loop() {
      
       
      for (int i=0; i<MAXLED; i++) {
      int  valorpotenciometro1 = analogRead(potenciometro1);
      int  valorpotenciometro2 = analogRead(potenciometro2);
        prender(led[i], valorpotenciometro1);
        apagar(led[i], valorpotenciometro2);
      }
      
      for (int i=MAXLED-2; i>0; i--) {
      int  valorpotenciometro1 = analogRead(potenciometro1);
      int  valorpotenciometro2 = analogRead(potenciometro2);
        prender(led[i], valorpotenciometro1);
        apagar(led[i], valorpotenciometro2);
      }
      
      
    }


    void prender(int led, int ms) {
      digitalWrite(led, HIGH);
      delay(ms);
    }

    void apagar(int led, int ms) {
      digitalWrite(led, LOW);
      delay(ms); 
    }






No hay comentarios:

Publicar un comentario