LABORATORIO 4
DESCRIPCIÓN DEL LABORATORIO :
Controlaré a través de Arduino ocho (8) LEDs puestos en una protoboard, haciendo que un LED se mueva en forma continua de izquierda a derecha, mientras por medio de una interfaz gráfica en Processing/ControlP5 se controlan los tiempos que el LED permanece encendido y apagado.
Controlaré a través de Arduino ocho (8) LEDs puestos en una protoboard, haciendo que un LED se mueva en forma continua de izquierda a derecha, mientras por medio de una interfaz gráfica en Processing/ControlP5 se controlan los tiempos que el LED permanece encendido y apagado.
MATERIALES UTILIZADOS
(1) Protoboard
(8) Leds
Cable utp
(1) Arduino uno
DIAGRAMA DEL MONTAJE EN LA PROTOBOARD
DIAGRAMA DEL MONTAJE EN EL CIRCUITO
FOTOS DEL MONTAJE
CODIGO ARDUINO
- #define MAXLED 8
- int led [MAXLED]={2,3,4,5,6,7,8,9};
- int valor=0;
- int i=0;
- int t_on=500;
- int t_off=100;
- int inc=1;
- 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=='t')
- t_on=Serial.parseInt();
- if(valor=='q')
- t_off=Serial.parseInt();
- }
- on(led[i], t_on);
- off(led[i], t_off);
- i+=inc;
- if (i>MAXLED-1) inc=-1;
- if (i==0) inc=+1;
- }
- void on(int led, int ms) {
- digitalWrite(led, HIGH);
- delay(ms);
- }
- void off(int led, int ms) {
- digitalWrite(led, LOW);
- delay(ms);
- }
CÓDIGO PROCESSING
- import processing.serial.*;
- import controlP5.*;
- ControlP5 cp5;
- Slider slider1;
- Button boton1;
- Knob perilla1;
- Serial puerto;
- void setup(){
- size(600,400);
- puerto = new Serial(this, Serial.list()[0],9600);
- cp5 = new ControlP5(this);
- slider1 = cp5.addSlider("t",0,1000,200,40,40,300,40);
- slider1.setColor(new CColor (0x80008000,0xFF808080,0x80FF0000,0x80FF80FF,0xFF80FF00));
- boton1 = cp5.addButton("aceptar",50,40,100,80,40);
- boton1.setColor(new CColor (0x8000FF00,0xFF808000,0x80FF0000,0x00000000,0xFFFFFFFF));
- perilla1 = cp5.addKnob("q",0,500,150,400,40,100);
- perilla1.setColor(new CColor (0x8000FF00,0xFF808080,0xFFFF0000,0xFFFFFF00,0x00000000));
- }
- void draw()
- {
- background(0);
- }
- void controlEvent (ControlEvent theEvent){
- String nombre=theEvent.getController().getName();
- int valor=int(theEvent.getController().getValue());
- println( nombre + ":" + valor);
- puerto.write(nombre+valor);
- }
VIDEO DEL FUNCIONAMIENTO
No hay comentarios.:
Publicar un comentario