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 led RGB
- 1 resistencia de 220 omhns
- 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