miércoles, 24 de septiembre de 2014

LABORATORIO # 3

DESCRIPCION DEL LABORATORIO :


Controlar 8 leds desde el arduino, un led encendido que se mueve en forma continua de izquierda a derecha, via una interfaz grafica en Processing/Control P% para controlar el tiempo de encendido y el tiempo de apagado.


MATERIALES:

- Arduino
- Protoboard
- 8 leds 
- 8 Resistencias
- Cable UTP
- Cables


DIAGRAMA EN FRITZING




 MONTAJE:

 

 

 





 VIDEO: 



CODIGO EN ARDUINO:

 

    //Codigo Arduino
    //lAB 3
    //Leandro Narvaez Ordoñez
    //Usc
    //Version 1.0
     int valor=0;
    #define MAX 9
    int led[MAX]={
      2, 3 , 4, 5, 6, 7, 8, 9,10};
    int t_off=500;
    int t_on=100;
    void setup(){
      Serial.begin(9600);
      for(int pin=0; pin<=MAX;pin++){
        pinMode(led[pin], OUTPUT);
       
      }
    }
    void loop(){
      if (Serial.available()>0){
        valor=Serial.read();
        if (valor=='O'){
        t_on=Serial.parseInt();
        }
        if (valor=='F'){
        t_off=Serial.parseInt();
        }
      }
     for (int pin =0; pin <= MAX; pin++){
        prender(led[pin], t_on);
        apagar(led[pin], t_off);
      }
       for (int pin =MAX; pin >= 0; pin--){
        prender(led[pin], t_on);
        apagar(led[pin], t_off);
      }
    }
    void prender(int le, int tem){
      digitalWrite(le, HIGH);
      delay(tem);
    }
    void apagar(int le, int tem){
      digitalWrite(le, LOW);
      delay(tem);
    }

 

CODIGO EN PROCESING:

    //Codigo Processing
    //lAB 3
    //Leandro Narvaez Ordoñez
    //Usc
    //Version 1.0
    import controlP5.*;
    import processing.serial.*;
    // Creamos las variables para ControlP5, el Slider y el puerto Serial
    ControlP5 cp5;
    Knob knobA;
    Knob knobB;
    Serial serial;
    // Solo se ejecuta una vez, al iniciar el Sketch
    void setup() {
      // Tamaño de la Ventana
      size(800, 500);
      // Creamos el objeto de ControlP5
      cp5 = new ControlP5(this);
      // Creamos el objeto Slider  
      knobA = cp5.addKnob("O", 0, 255, 128, 40, 40, 300);
      knobB = cp5.addKnob("F", 0, 255, 128, 400, 40, 300);
      // Creamos el objeto del puerto Serial
      serial = new Serial(this, Serial.list()[0], 9600);
    }
    // Se ejecuta N frames por segundo
    void draw() {
      // En este caso no debe dibujar nada
    }
    // Cuando ocurra un evento, aquí lo procesamos
    void controlEvent(ControlEvent evento) {
      // Obtenemos el nombre y el valor del evento
      String nombre = evento.getController().getName();
      int valor = int(evento.getController().getValue());
      // Envíamos el valor al Arduino a través del Serial
      serial.write("O"+valor);
      serial.write("F"+valor);
      // Imprimimos en la consola, para ver que todo va Ok
      println(nombre + ":" + valor);
    }

 












No hay comentarios:

Publicar un comentario