domingo, 14 de abril de 2013

Laboratorio 6

Diagrama en protoboard



Diagrama esquematico





Foto Montaje














Codigo Arduino


int ledR = 3;
int ledG = 4;
int ledB = 5;

int valor;

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

}
// the loop routine runs over and over again forever:
void loop() {


  //x = Serial.read();

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

}

Vídeo Arduino





Código Proccesing


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


Vídeo Proccesing




No hay comentarios:

Publicar un comentario