Anuncios

jueves, 28 de marzo de 2013

laboratorio #6




En este laboratorio  vamos a controlar  1 LEDS (RGB), para controlar la intensidad de cada color
con proccesing.

Elementos utilizados:
- Placa Arduino One
- 1 LED RGB
- 3 Resistencias   220 Ohmios
-1 protoboar




Diagrama protoboar






Diagrama esquema












Codigo Arduino


int ledR = 11;
int ledG = 10;
int ledB = 9;

int valor;

void setup() {                
  pinMode(ledR, OUTPUT);
  pinMode(ledG, OUTPUT);
  pinMode(ledB, OUTPUT);
  Serial.begin(9600);

}
void loop() {



  while (Serial.available() < 1);
  char letra = Serial.read();
  while (Serial.available() < 1);
  valor = 255-Serial.read();

  if (letra == 'r')
    analogWrite(ledR, valor);
  if (letra == 'g')
    analogWrite(ledG, valor);
  if (letra == 'b')
    analogWrite(ledB, valor);  

}



Codigo Procesing



import controlP5.*;
import processing.serial.*;

ControlP5 cp5;
Serial puerto;
 
int valR = 128;  
int valG = 128;  
int valB = 128;  
 
void setup() {
 
  size(240, 500); 
  noStroke();   
 
  cp5 = new ControlP5(this);
 
   Slider slideR =
    cp5.addSlider("R", 0, 255, 128, 15, 180, 50, 300);
  slideR.setColor( new CColor(
    0xFFAA0000, 0xFF550000, 0xFFFF0000,
    0xFFFFFFFF, 0xFFFFFFFF));
  
  Slider slideG =
    cp5.addSlider("G", 0, 255, 128, 95, 180, 50, 300);
  slideG.setColor( new CColor(
    0xFF00AA00, 0xFF005500, 0xFF00FF00,
    0xFFFFFFFF, 0xFFFFFFFF));
  
  Slider slideB =
    cp5.addSlider("B", 0, 255, 128, 175, 180, 50, 300);
  slideB.setColor( new CColor(
    0xFF0000AA, 0xFF000055, 0xFF0000FF,
    0xFFFFFFFF, 0xFFFFFFFF));
    
    String COM = Serial.list()[0];
    puerto = new Serial(this, COM, 9600);

}
 

void draw()  
{
  background(0xFF444444);  // color gris del fondo
  fill(valR, valG, valB);  
  rect(15, 15, 210, 150);
  
}  
 

public void controlEvent(ControlEvent theEvent) {
  String nombre = theEvent.getController().getName();
  int valor = int(theEvent.getController().getValue());
 
  if (nombre == "R") {
     valR = valor;
      puerto.write('r');
      puerto.write(valR);      
  }
  if (nombre == "G") {
     valG = valor;
      puerto.write('g');
      puerto.write(valG);
  }
  if (nombre == "B") {
     valB = valor;
      puerto.write('b');
      puerto.write(valB);
  }
}

No hay comentarios:

Publicar un comentario