Lampara que cambia de color


hola todos, tengo entre manos un proyecto que consiste en una especie de lampara con un par de leds rgb y que al girarla cierto angulo, esta cambie el color de los leds.
para tal proposito me comprado unos cuantos leds rgb, los cuales ya aprendido hacerlos funcionar, y un imu (unidad de medicion inercial). el imu consiste en un acelerometro (adxl345), un giroscopio (itg3205) y una brujula digital (hmc5883l). salvo la brujula, tengo funcionando por separado el acelerometro y el giroscopio conectados por i2c al arduino, ahora empezado mirar el tema de medir angulos pero ando un poco perdido con el tema. leido sobre filtros kalman que calculan el angulo en funcion de las mediciones del acelerometro y el giroscopio, tambien leido que con tan solo un acelerometro se podria hacer mediante trigonometria. me gustaria saber si alguien me podria orientar mas sobre esto, porque ando un poco perdido...

pd: si alguien lo necesita puedo subir el sketch del acelerometro y del giroscopio.

hola todos de nuevo, vuelto desempolvar el proyecto y pese no tener mucha atencion mi post, voy compartir el codigo que desarrollado. al final y tras mucho comerme la cabeza, cai en usar un potenciometro para medir cuanto giro la lampara y que en funcion del voltaje que le llega, calcular el color que deberia mostrarse. ahora estoy desarrollando un poco mas el codigo para que al pulsar un boton, los colores, cambien automaticamente. el montaje que hecho lo subire en cuanto tenga el codigo final. aqui el codigo:
quote

int r = 11;
int g = 10;
int b = 9;
int pinpot = a0;
int aumentarbrillo = 1;
double voltaje;
int ro, go, bo;
int color;

void setup() {       
  serial.begin(9600);
  pinmode(r, output);     
  pinmode(g, output);     
  pinmode(b, output);
}

void loop() { 
  voltage = analogread(pinpot) * (5.0 / 1023.0)*1000;
  color=map(voltaje, 1210, 3780, 0, 1279);
  if(0<=color && color<256){ 
    //color entre rojo y amarillo
    ro=255;
    go=color;
    bo=0;
  }
  else if(256<=color && color<512){
    //color entre amarillo y verde
    ro=255-color;
    go=255;
    bo=0;
  }
  else if(512<=color && color<768){
    //color entre verde y cian
    ro=0;
    go=255;
    bo=color-511;
  }
  else if(768<=color && color<1024){
    //color entre cian y azul
    ro=0;
    go=768-color;
    bo=255;
  }
  else if(1024<=color && color<1280){
    //color entre azul y morado
    ro=color-1023;
    go=0;
    bo=255;
  }
  analogwrite(r, 255-ro);   
  analogwrite(g, 255-go);   
  analogwrite(b, 255-bo);

}


salu2!


Arduino Forum > International > EspaƱol > Proyectos (Moderators: surbyte, Hector_A) > Lampara que cambia de color


arduino

Comments

Popular posts from this blog

VIDIOC_S_FMT error 16, Device or resource busy - Raspberry Pi Forums

using a laptop skeleton to build a pi laptop - Raspberry Pi Forums

Forum for Joomla? - Joomla! Forum - community, help and support