Componentes necesarios para crear una lámpara RGB con Arduino

  • 1 x Protoboard
  • 1 x Led RGB de cátodo común
  • 1 x Foto resistencia
  • 1 x resistencia de 100k Ohm
  • 9 x jumpers macho – macho
  • 1 x Arduino UNO
  • 3 x resistencias de 330 ohms

Empecemos conectando nuestro led RGB. Como vemos en la imagen, lo importante es identificar cuál es el cátodo común, que básicamente, es la pata más larga de las 4.

En esta imagen, está el led RGB que utilizaré. Podemos apreciar lo que te comentaba anteriormente. Vemos que tenemos 3 patas de la misma longitud, y una que es notablemente más larga. Esta pata es el cátodo común.

Vamos a proceder a hacer un doblez sobre la pata más larga ó el cátodo común.

Esto con el propósito, de que podamos insertar la pata del cátodo común, sobre la línea negativa del protoboard.

Esto, en nuestro diagrama, es lo equivalente a la imagen, ya que estamos colocando el cátodo común en la línea negativa del protoboard.

Posteriormente, lo siguiente que haremos, será proteger el led con 3 resistencias, una para cada pata que no sea la del cátodo común. Estas resistencias son de 330 ohms.

El siguiente paso, será conectar 3 jumpers, que nos permitan llegar a nuestro Arduino. He colocado un cable rojo, uno verde y uno azul, que representan el color de la salida del led rgb, es decir, en el cable rojo, está la conexión para el color rojo del led rgb, y así mismo sucede con los otros 2 jumpers.

Del otro lado, vemos que los cables llegan a los pines 9 para el color azul, 10 para el color verde, y 11 para el color rojo.

Pasemos ahora a conectar la fotoresistencia. El objetivo de este componente, es que en cuanto se detecte una menor cantidad de luz, de acuerdo a la resistencia, se prenda nuestra lámpara ambiental.

Colocaremos entonces la fotoresistencia, del otro extremo del protobard, con el objetivo de controlar más fácilmente la luz que le llega. No importa realmente el sentido de las patillas, puedes colocarlas como tú quieras.

El siguiente paso, es conectar la primer patilla, en el carril negativo del protoboard.

El siguiente paso, es conectar la otra patilla de la fotoresistencia

Al pin marcado con A0 en el protoboard

Una vez que hemos hecho esto, conectaremos una resistencia en la misma línea, de la patilla que conectamos a A0, en mi caso, en la misma línea del jumper color amarillo. Como punto adicional, yo estoy ocupando una resistencia de 100kohms, pero tú puedes utilizar otro valor. Te explico, entre más alto sea el valor de la resistencia, menos sensible al cambio de luz será el proyecto. Es decir, si quieres que la lámpara se prenda apenas haya un poco de oscuridad, tendrás que utilizar una resistencia con menor valor, y por el contrario, si quieres que la lámpara sea menos sensible a la luz, tendrás que ocupar una resistencia con mayor valor.

Del otro extremo de la resistencia, conectaremos un jumper que llegue a la línea positiva del protoboard.

Por último, debemos de conectar un jumper, que esté unido a uno de los pines marcados con GND del Arduino, con la línea negativa del protoboard.

De igual forma, he conectado un jumper color gris, que va de la salida marcada con 5V del Arduino, hasta la línea positiva del protobard.

Y con esto, hemos logrado una conexión de todos los componentes para nuestro proyecto.

Código fuente para hacer funcionar la lámpara de luces con Arduino

https://drive.google.com/file/d/1qFYa37aiFym9oriJRxEC_E311junKGzZ/view?usp=sharing

Una vez hecho esto, ya podremos llevar a cabo la codificación de nuestro sketch en Arduino:


#include <RGBMood.h>
int redPin = 9;
int greenPin = 10;
int bluePin = 11;
int ldrPin = 0;
RGBMood mood(redPin, greenPin, bluePin); 
void setup() 
{
  pinMode(ldrPin, INPUT);
  mood.setMode(RGBMood::RANDOM_HUE_MODE);
  mood.setHoldingTime(2000);
  mood.setFadingSteps(150);
  mood.setFadingSpeed(50);
  mood.setHSB(random(359), 255, 255);
}
void loop() 
{
  int ambientLight = analogRead(ldrPin);
  if(ambientLight > 600)
  {
    mood.tick();
  }
  else
  {
    digitalWrite(redPin, LOW);
    digitalWrite(greenPin, LOW);
    digitalWrite(bluePin, LOW);
  }
}
https://proyectosinteresantes.com/