jueves, 13 de marzo de 2014

LABORATORIO # 4

1.Descripción del Laboratorio
Controlar un LED RGB desde el Arduino, vía PWM con 3 potenciómetros, uno para cada color.
2.Elementos Utilizados
v1 Computador
v1 Protoboard
v1 Arduino UNO
v Resistencias
vLed RGB
vCableS
vSoftware “Arduino”
vSoftware “Fritzing”


3.Diagrama del Montaje

4.Diagrama Esquemático



5.Fotos del Montaje








6.Video del funcionamiento
 

7.Codigo Fuete del Arduino

  int pot1=0, pot2=1,  pot3=2;
  int ledR=11, ledG=10, ledB=9;
  
  void setup(){
pinMode(ledR,OUTPUT );
pinMode(ledG,OUTPUT );
pinMode(ledB,OUTPUT );
pinMode(pot1,INPUT );
pinMode(pot2,INPUT );
pinMode(pot3,INPUT );
 }
 void loop()
{
int valor1, valor2, valor3, i, j, k;
valor1 = analogRead(pot1);
i=map(valor1,0,1023,0,255);
analogWrite(ledR, i);
valor2 = analogRead(pot2);
j=map(valor2,0,1023,0,255);
analogWrite(ledG, j);
valor3 = analogRead(pot3);
k=map(valor3,0,1023,0,255);
analogWrite(ledB, k);
 }

LABORATORIO # 3

Control de Leds con Interfaz Grafica.

1.Descripción del Laboratorio
Controlar 8 LEDs desde el Arduino, un LED encendido que se mueve en forma continua de izquierda a derecha, vía una interfaz gráfica en Processing/ControlP5 para controlar el tiempo de encendido y el tiempo de apagado.

2.Elementos Utilizados
v1 Computador
v1 Protoboard
v1 Arduino UNO
v(8)Resistencias
v (8)Leds
vAlambre
vSoftware “Arduino”
vSoftware “Fritzing”





3.Diagrama del Montaje





4.Diagrama Esquemático


5.Fotos del Montaje






 

6.Video del funcionamiento


7.Código Fuente Arduino


#define maxleds 8
int t1=0;      
int t2=0;      
int valor=0;    
int led[maxleds] = {13,12,11,10,9,8,7,6};
 int i;        
void setup ()
{
  Serial.begin(9600);
  for (int i=0;i<maxleds;i++)
    pinMode(led[i],OUTPUT);
}
 void loop()
{
  for (int i=0;i<=maxleds;i++)
  {
    if (Serial.available()>0)
    {
      valor = Serial.read();
      if (valor == 'O')
        t1 = Serial.parseInt();
      if (valor == 'F')
        t2 = Serial.parseInt();
    }
    prender(led[i],t1);
    apagar(led[i],t2);
}
  for (int i=maxleds-1;i>=0;i--)
  {
    if (Serial.available()>0)
    {
      valor = Serial.read();
      if (valor == 'O')
        t1 = Serial.parseInt();
      if (valor == 'F')
        t2 = Serial.parseInt();
    }
    prender(led[i],t1);
    apagar(led[i],t2);
  }
}
 void prender(int i, int t)
{
  digitalWrite(i, HIGH);
  delay(t);          
}
 void apagar(int i, int t)
{
  digitalWrite(i, LOW);
  delay(t);        
}

Codigo Processing
import controlP5.*;        
import processing.serial.*;  
ControlP5 cp5;            
Slider slider1;            
Slider slider2;            
Serial serial;            
Textlabel texto1, texto2, texto3, texto4;
Textlabel texto5, texto6;


void setup()
{
serial = new Serial(this, Serial.list()[0],9600);
String puerto = Serial.list()[0];
size(750,330);            
cp5 = new ControlP5(this);


slider1 = cp5.addSlider("O",0,1000,500,40,150,300,40);
slider1.setColor(new CColor(0xFF00FF00,0xFF555555,0xFF009F00,0xFFFFFFFF,0xFFFFFFFF));
slider1.setLabelVisible(false);


slider2 = cp5.addSlider("F",0,1000,500,400,150,300,40);
slider2.setColor(new CColor(0xFF00FF00,0xFF555555,0xFF009F00,0xFFFFFFFF,0xFFFFFFFF));
slider2.setLabelVisible(false);


texto1 = cp5.addTextlabel("label")
                    .setText("LABORATORIO TRES")
                    .setPosition(210,50)
                    .setColorValue(0xffffffFF)
                    .setFont(createFont("Comic Sans MS",30))
                    ;


texto2 = cp5.addTextlabel("label1")
                    .setText("TIEMPO ENCENDIDO (ms)")
                    .setPosition(90,120)
                    .setColorValue(0xffffffFF)
                    .setFont(createFont("Comic Sans MS",15))
                    ;            


texto3 = cp5.addTextlabel("label2")
                    .setText("TIEMPO APAGADO (ms)")
                    .setPosition(460,120)
                    .setColorValue(0xffffffFF)
                    .setFont(createFont("Comic Sans MS",15))
                    ;

//nombre de estudiante
texto4 = new Textlabel(cp5,"Estudiante: Lady Garay",40,230,600,200);
texto4.setFont(createFont("verdana",15));
// programa
}

void draw()
{
background(0,0,0);
 texto4.draw(this);  
}

void controlEvent (ControlEvent evento)
{
String nombre = evento.getController().getName();
int valor = int(evento.getController().getValue());
serial.write(nombre + ":" + valor);
println(nombre + ":" + valor);    
}





LABORATORIO # 2

Control Leds con Potenciometros, tiempo encendido y Apagado.

1. Descripción 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 Potenciómetros para controlar los tiempos que el LED permanece encendido y apagado.

2. Elementos Utilizados
v 1 Computador
v 1 Protoboard
v 1 Arduino UNO
v 8 Resistencias
v 8 Leds
v Alambre
v Software “Arduino”
v Software “Fritzing”
v 2 Potenciometros







3.Diagrama del Montaje










4. Diagrama Esquemático







5. Fotos del Montaje

 





6. Video del funcionamiento


7. Código Fuente Arduino