domingo, 1 de septiembre de 2013

LABORATORIO NUMERO 6

En este laboratorio se utilizara procesing para realizar un interfaz gráfica que controlo el cambio de intensidad lumínica en el led RGB, lo cual nos permitirá ampliar mucho mas la gama de colores y hacer un manejo mas exacto del color al cual queremos mostrar.
  1. 1 led RGB
  2. 1 resistencia de 220 omhns 
  3. 1 arduino mega
DIAGRAMAS

DIAGRAMA DE MONTAJE EN PROTOBOARD 


DIAGRAMA ESQUEMÁTICO


DIAGRAMA PCB PARA MONTAJE EN TARJETA PERFORADA



                                                          FOTOS DEL PROCESO DE MONTAJE

foto 1


|
CÓDIGO EN PROCESSING

import processing.serial.*;
import controlP5.*;
ControlP5 cp5;
Slider sldR, sldG, sldB;
Serial serial;

void setup() {
  size (600, 250);
  cp5 =new ControlP5(this);
  sldR = cp5.addSlider ("R", 0, 255, 128, 40, 40, 300, 40);
  sldG = cp5.addSlider ("G", 0, 255, 128, 40, 100, 300, 40);
  sldB = cp5.addSlider ("B", 0, 255, 128, 40, 160, 300, 40);
  

  String puerto = Serial.list()[0];
  serial = new Serial (this, puerto, 9600);
}

void draw()
{
  background(80, 80, 80);
}

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

}


CÓDIGO EN ARDUINO 

#define MAXLED 3

int led[MAXLED] = {
  3,5,6};
int valor = 0;
int i = 0;

void setup()
{
  Serial.begin(9600);
  for(int i = 0; i < MAXLED ; i++)
  {
    pinMode(led[i], OUTPUT);
  }
}

void loop()
{
  if(Serial.available() > 0)
  {
    valor = Serial.read();
    if(valor == 'B')
      i = 0;
    if(valor == 'G')
      i = 1;
    if(valor == 'R')
      i = 2;
    valor = Serial.parseInt();
    analogWrite(led[i], valor);
  }

}



No hay comentarios:

Publicar un comentario