Archivo de la etiqueta: programacion

led rgb, arduino y processing


Después de ver los videotutoriales de 0xDA_bit sobre Processing, me entró el gusanillo de probar de nuevo este maravilloso software, y decidí hacer el control de un led RGB conectado a Arduino pero modificando sus componentes de color mediante un programa realizado en Processing.

Para realizar dicho cometido me puse a buscar librerias de componentes para añadir a nuestros programas que vayamos realizando en Processing e ir haciendolos más profesionales y más complejos. Dicha librería la podéis descargar desde http://www.mediafire.com/?as8bnrkfk9v8kjf o bien desde la siguiente página web http://www.lagers.org.uk/g4p/.

Os dejo el esquemático de conexión del diodo led RGB a Arduino y también una imagen del software:

Aquí tenéis el video de funcionamiento:

Para el código basta con grabar en el Arduino el ejemplo que trae el IDE de Arduino que está en Firmata y es el StandardFirmata for Uno, y este es el código para processing (acordaros de copiar la librería guicomponents en processing):

//Añadimos las librerias necesarias
import processing.serial.*;
import cc.arduino.*;
import guicomponents.*;

Arduino arduino;
/*Programa simple que crea 3 selectores de color para controlar 
los componentes RGB de un diodo led conectado a Arduino.*/
GKnob knbRed, knbGreen, knbBlue;
int r, g, b; //variables donde guardaremos el valor correspondiente a cada componente de color
int kx, ky;

void setup() {
  size(400, 220);
  arduino = new Arduino(this,  Arduino.list()[2], 57600);  //Creamos el componente para trabajar con Arduino desde el programa 
  //Arriba donde pone Arduino.list()[], el 2 es donde me reconoce a mi el Arduino, puede ser 1 o 0, depende de las cosas conectadas
  //mediante puerto serie virtual
  r = g = b = 160;  //iniciamos cada componente a un valor de 160 (entre 0 y 255)
  arduino.analogWrite(10,r);  //Escribimos dichos valores en los 3 pines asignados para controlar nuestro diodo led RGB
  arduino.analogWrite(9,g);
  arduino.analogWrite(6,b);
  kx = 20;
  ky = 20;
  
  //Creacción y control del programa en processing, viene todo hecho en los ejemplos de la libreria guicomponents
  G4P.setMouseOverEnabled(true);
  G4P.cursor(HAND, CROSS);

  knbRed = new GKnob(this, kx, ky, 150, 150, 270);
  knbRed.setControlMode(GKnob.CTRL_ANGULAR);
  knbRed.setRotArcOnly(true);
  knbRed.setLimits(r, 0, 255);
  knbRed.setNbrTickMarks(9);
  knbRed.localColor = GCScheme.getColor(this, GCScheme.RED_SCHEME);

  knbGreen = new GKnob(this, kx + 8, ky, 150, 270, 20);
  knbGreen.setControlMode(GKnob.CTRL_ANGULAR);
  knbGreen.setRotArcOnly(true);
  knbGreen.setLimits(g, 0, 255);
  knbGreen.setNbrTickMarks(9);
  knbGreen.localColor = GCScheme.getColor(this, GCScheme.GREEN_SCHEME);

  knbBlue = new GKnob(this, kx + 4, ky + 9, 150, 20, 150);
  knbBlue.setControlMode(GKnob.CTRL_ANGULAR);
  knbBlue.setRotArcOnly(true);
  knbBlue.setLimits(b, 0, 255);
  knbBlue.setNbrTickMarks(9);

  stroke(0);
  strokeWeight(3);
  rectMode(CORNERS);
}

void draw() {
  background(220, 220, 255);
  fill(r, g, b);
  rect(kx + 190, 40, width - 40, height - 40);
  fill(0);
  text("Drag mouse in circular movement around the knobs centre", 10, height-10);
}


//En esta función es donde mando el valor pwm al arduino para cada color del led RGB
void handleKnobEvents(GKnob knob) {
  if (knob == knbRed){ 
    r = knob.getValue();
    arduino.analogWrite(10,r);}
  else if (knob == knbGreen){
    g = knob.getValue();
    arduino.analogWrite(9,g);}
  else if (knob == knbBlue){
    b = knob.getValue();
    arduino.analogWrite(6,b);}
}

Espero que os guste!!

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal

Feliz año nuevo!!


Sí, ya sé que estamos a día 2 y es un poco tarde para crear una entrada felicitando el año pero bueno… como no todo va a ser trabajo y considero que el humor es bueno y muy necesario en estos tiempos que estamos viviendo, aquí os dejo una felicitación de año con un toque Arduino!!!

BonAny.class AnyNou{

2012 = new AnyNou();

crisi.destroy();

calers++;

salut++;

pollos–;

2012.setDate(21,12);

throw EndOfTheWorldException();

}

 

Lo dicho señores/as, Feliz año a todos y esperamos que sigáis con nosotros este año!! No os podéis perder los nuevos contenidos que hay preparados para este 2012, nuevos videotutoriales, nuevos proyectos y mucho más!!

Enjoy!

Cómic Arduino


Aquí os dejo el “cómic de Arduino”, buscando por la red me encontré con el y la verdad que es muy interesante a la par que innovador .  En este pequeño cómic esta ligado el humor junto a la explicación de todo lo que envuelve el mundo de esta pequeña maravilla!

Podéis descargarlo desde el siguiente link:

                                     http://arduino.cc/playground/uploads/Main/arduino_comic_es.pdf

Enjoy!

ArduinoTutorials Cap 2. Pins analógicos


Muy buenas a todos.

Hoy hacemos entrega del segundo capítulo de la serie “Arduino tutorials”.  En este nuevo capítulo, podréis ver que incorporamos la nueva IDE de Arduino (versión 1.0), la cual podéis descargar desde la entrada que hicimos el día 1 de Diciembre siguiendo este link https://tallerarduino.wordpress.com/2011/12/01/nuevo-ide-arduino-v1-0/. En esta nueva entrega, tocamos los pins analógicos explicando como funciona, internamente el ATMEGA, en la lectura y escritura de las mismas.

Aquí os dejo el video y como siempre espero vuestros comentarios y opiniones.

Como he anunciado en el video, aquí os dejo el link para descargar todos los documentos usados en el video, desde los códigos de Arduino, como los esquemas en Fritzing y el documento word.

https://www.mediafire.com/?f0sl27bucppulee

Un saludo y hasta el próximo capítulo!

Enjoy!

Acordeón Arduino Cheat Sheet


Navegando por estos mundos de internet me he topado con una traducción y modificación de la Arduino Cheat Sheet, se trata de Acordeón Arduino. A mí me parece que está mejor explicada que la original y que también es mucho mejor para aquellos que no dominen bien el inglés. Espero que os sirva para empezar en vuestros proyectos con Arduino.

Os dejo el enlace para que la podáis descargar tanto en formato pdf como en svg y png:

http://www.mediafire.com/?20h35xy933oxzku

Si te ha servido de ayuda esta entrada, puedes realizar un donativo para agradecer el tiempo que dedico al blog y ayudar a hacer más entradas.

donativo_paypal