jueves, 25 de septiembre de 2014

LABORATORIO # 4

DESCRIPCION DEL LABORATORIO:

En este laboratorio controlaremos  un Led RGB desde el Arduino, vía PWM con 3 potenciometros, uno para cada color.

 


MATERIALES :


- Arduino 
- Cable UTP
- Protoboard
- Led RGB
- 3 Pótenciometros
- 3 Resistencias
- Cables

   

DIAGRAMA EN FRITZING:

 


 

MONTAJE:

 

 

 









VIDEO:

 

 

  CODIGO:

    #define PR A0 n puerto analogo (A0)
    #define PG A1
    #define PB A2
    int rojo = 11;
    int verde = 10;
    int azul = 9;
    void setup ()
    {
     
      pinMode (rojo, OUTPUT);
      pinMode (verde, OUTPUT);
      pinMode (azul, OUTPUT);
     
      pinMode (PR, INPUT);
      pinMode (PG, INPUT);
      pinMode (PB, INPUT);
      Serial.begin (9600);
    }
    void loop ()
    {
      int R = analogRead(PR);
      int i = map(R,0,1023,0,255);
      int G = analogRead(PG);
      int i1 = map(G,0,1023,0,255);
      int B = analogRead(PB);
      int i2 = map(B,0,1023,0,255);
      analogWrite (azul,i2);
      analogWrite (rojo,i);
      analogWrite (verde,i1);
     }


 


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);
    }

 












lunes, 22 de septiembre de 2014

LABORATORIO # 2

DESCRIPCION DEL LABORATORIO:



Controlar 8 Leds desde el Arduino, un Led encendido que se mueve en forma continua de izquierda a derecha, usando los valores de dos potenciometros para controlar los tiempos que el Led permanece encendido y apagado. 




MATERIALES:

 

- Protoboard
- Arduino Uno     
- 8 Leds
- 8 Resistencias
- Cable UTP
- 2 Potenciometros
- Cables




DIAGRAMA EN FRITZING :

 

 





MONTAJE :







































LABORATORIO # 1


DESCRIPCIÓN DEL LABORATORIO :


Conectar 8 leds desde el arduino , un led encendido que se mueva en forma continua de izquierda a derecha por un potenciometro que regulara la secuencia de los leds segun la posicion del potenciometro,  programado desde arduino.



MATERIALES :


- Protoboard

- Arduino Uno

- Cable UTP

- Resistencias

- Leds

- Potenciometro

- Cables



DIAGRAMA EN FRITZING:














MONTAJE:
























VIDEO FUNCIONAMIENTO:






CODIGO ARDUINO:



    #define maxleds 8
    #define pot A0
    int led[maxleds] = {2,3,4,5,6,7,8,9};
    void setup ()
    {
      Serial.begin(9600);
      for (int i=0;i<maxleds;i++)
      pinMode(led[i],OUTPUT);
    }
    void loop()
    {
      int valor = analogRead(pot);
      int i=map(valor, 0, 1023, 0, 8);
      prender(led[i],100);
      apagar(led[i],100);
      Serial.print(i);
    }
    void prender(int i, int t)
    {
      digitalWrite(i, HIGH);//led esta encendido 5s
      delay(t);
    }
    void apagar(int i, int t)
    {
      digitalWrite(i, LOW);//led esta encendido 5s
      delay(t);
    }