LA CAMPANA

Hay quienes leyeron esta noticia antes que tú.
Suscríbete para recibir artículos nuevos.
Correo electrónico
Nombre
Apellido
¿Cómo quieres leer La Campana?
Sin spam

Serie "Atrevete".

RGB significa como abreviatura de Rojo, Verde, Azul, con estos colores puedes conseguir cualquier color mezclando. El LED RGB contiene 3 pequeños cristales R, G, B, con los que podremos sintetizar cualquier color o tonalidad. En este tutorial conectaremos un LED RGB a una placa Arduino y la haremos brillar con todos los colores del arcoíris.
Para este proyecto necesitarás las piezas que están disponibles en los kits “Básico” y “Aprendizaje Arduino”:

  1. Arduino Uno;
  2. Cable USB;
  3. Tablero de creación de prototipos;
  4. Cables macho-macho - 7 piezas;
  5. Resistencias 220 Ohm – 3 piezas;
  6. LED RGB – 1 pieza;
  7. Potenciómetro.

Montamos el circuito que se muestra en la Figura 1.

Figura 1. Diagrama de conexión

Ahora comencemos a escribir el boceto.
El LED RGB debería brillar con todos los colores del arco iris, desde el rojo al violeta, luego pasar al rojo y así sucesivamente en un círculo. La velocidad de transición de color está controlada por un potenciómetro. La tabla 1 muestra los valores de R, G, B para los 7 colores primarios del arcoíris.

Tabla 1. Valores R, G, B para los 7 colores primarios del arcoíris

Para mezclar colores Es necesario suministrar toda la gama de voltajes desde los pines Arduino a las entradas de LED R, G, B. Pero Arduino no puede generar un voltaje arbitrario al pin digital. Se emite +5V (ALTO) o 0V (BAJO). Para simular voltaje parcial, se utiliza PWM (modulación de ancho de pulso o PWM).

Espero que ya hayas estudiado el capítulo. 2.6 del libro de Jeremy Blum "Exploring Arduino: Tools and Techniques of Technical Wizardry", que explica en detalle el mecanismo de modulación de ancho de pulso.
Algoritmo de ejecución del programa:

  • Aumentamos el valor del componente verde de G hasta llegar al valor de naranja (255,125,0),
  • Aumentamos el valor del componente verde G hasta llegar a amarillo (255,255,0).
  • Reducimos el valor del componente rojo R al valor verde (0.255.0).
  • El punto de partida es rojo (255,0,0).
  • Aumentamos el valor del componente azul B al valor del color azul (0.255.255).
  • Reducir el valor del componente verde G al valor azul (0,0,255).
  • Aumente gradualmente el valor del componente rojo R hasta el valor del color violeta (255.0.255).
  • Reduzca el valor del componente azul B al valor del color rojo (255,0,0).

Pasemos al paso 1.

Después de cada paso hacemos una pausa para grabar la visualización en color,

Retraso(VIEW_PAUSE);

Comprobamos el valor del potenciómetro y cambiamos el valor de la velocidad de cambio de color.

Vacío setpause() ( pausa=map(analogRead(POT),0,1024,MIN_PAUSE,MAX_PAUSE); Serial.print("pause=");Serial.println(pausa); )

Creemos un nuevo boceto en Arduino IDE, agregue el código del Listado 1 y cargue el boceto en la placa Arduino. Te recordamos que en la configuración del IDE de Arduino debes seleccionar el tipo de placa (Arduino UNO) y el puerto de conexión de la placa.
Listado 1

Constante int ROJO=11; // salida R del LED RGB const int GREEN=10; // salida G del LED RGB const int BLUE=9; // salida B del LED RGB int red; // variable para almacenar el componente R del color int green; // variable para almacenar el componente G del color int blue; // variable para almacenar el componente B del color const int POT=A0; // salida de conexión del potenciómetro const int MIN_PAUSE=10; // retraso mínimo en el cambio de color, ms const int MAX_PAUSE=100; // retraso máximo en el cambio de color, ms int pausa; // variable para almacenar el retraso actual const int VIEW_PAUSE=2000; // tiempo de fijación del color primario, ms void setup() ( Serial.begin(9600); ) void loop() ( // de rojo a amarillo Serial.println("rojo - amarillo"); red=255;green=0 ;azul=0; para(verde=0;verde<=255;green++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от желтому к зеленому Serial.println("yellow - green"); red=255;green=255;blue=0; for(red=255;red>=0;rojo--) setRGB(rojo,verde,azul);<=255;blue++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от голубого к синему Serial.println("blue - blue"); red=0;green=255;blue=255; for(green=255;green>establecer pausa();<=255;red++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от фиолетового к красному Serial.println("purple - red"); red=255;green=0;blue=255; for(blue=0;blue>retraso(VIEW_PAUSE);

Después de cargar el boceto, observamos el cambio de color del LED RGB con los colores del arco iris y usamos el potenciómetro para cambiar la velocidad del cambio de color (ver Figura 2.3).


Figura 2.3. LED RGB: todos los colores del arcoíris

La última vez vimos cómo conectar una tira de LED a un Arduino a través del controlador L298. La gestión del color se realizó mediante programación: la función Aleatoria. Ahora es el momento de descubrir cómo controlar el color de la tira de LED según las lecturas del sensor de temperatura y humedad DHT 11.

El ejemplo se basa en conectar una tira de LED mediante el controlador L298. Además, al ejemplo se le ha agregado una pantalla LCD 1602, que mostrará las lecturas del sensor DHT 11.

El proyecto requerirá los siguientes elementos Arduino:

  1. Placa Arduino UNO.
  2. Pantalla LCD 1602 + I2C.
  3. Sensor de temperatura y humedad DHT
  4. Tira de LED.
  5. Conductor L298.
  6. Fuente de alimentación 9-12V.
  7. Carcasa para Arduino y display (opcional).

En primer lugar, veamos el diagrama del circuito (Fig. 1). En él puedes ver cómo conectar todos los elementos anteriores. No hay nada complicado en montar el circuito y conectarlo, pero vale la pena mencionar un matiz que la mayoría de la gente olvida y, como resultado, obtienen resultados incorrectos cuando trabajan con tiras de LED con Arduino.

Figura 1. Diagrama esquemático Conexión de Arduino y tira de LED con sensor DHT 11

Para evitar un funcionamiento incorrecto de la tira de LED (parpadeo, discrepancia de colores, iluminación incompleta, etc.), la fuente de alimentación de todo el circuito debe ser común, es decir. Combine los pines GND (tierra) del controlador Arduino y el controlador L298 (tira de LED). Puedes ver cómo hacer esto en el diagrama.

Algunas palabras sobre la conexión de un sensor de humedad. Si compra un DHT 11 desnudo, sin flejes, entonces entre el primer y segundo contacto, 5V y Datos, respectivamente, debe soldar una resistencia con un valor nominal de 5-10 kOhm. El rango de medición de temperatura y humedad está escrito en la parte posterior de la carcasa del sensor DHT 11. Temperatura: 0-50 grados Celsius. Humedad: 0-80%.


Figura 2. Conexión correcta sensor de humedad DHT 11

Después de ensamblar todos los elementos del proyecto según el esquema, necesitamos escribir el código del programa que hará que todo funcione como lo necesitamos. Y necesitamos tira llevada cambió de color dependiendo de las lecturas del sensor DHT 11 (humedad).

Para programar el sensor DHT 11, necesitará una biblioteca adicional.

Código de programa Arduino y RGB - tira. Cambia el color de la cinta dependiendo de la humedad.

#include #include //biblioteca para trabajar con la pantalla LCD 1602 #include //biblioteca para trabajar con el sensor de humedad y temperatura DHT 11 int chk; //la variable almacenará todos los datos del sensor DHT11 int hum; //la variable almacenará las lecturas de humedad del sensor DHT11 dht11 DHT; //objeto de tipo DHT #define DHT11_PIN 4 //El pin de datos del sensor DHT11 está conectado a la entrada 4 #define LED_R 9 //pin para el canal R #define LED_G 10 //pin para el canal G #define LED_B 11 //pin para el canal B //las variables almacenarán valores de color //al mezclar los tres colores se obtendrá el color requerido int led_r=0, led_g=0, led_b=0; //declarando un objeto de visualización con dirección 0x27 //no olvides usar una pantalla en el proyecto a través de una placa I2C LiquidCrystal_I2C lcd(0x27,16,2); void setup() ( //crea una pantalla lcd.init(); lcd.backlight(); // declara los pines como salidas pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); ) bucle vacío () ( chk = DHT.read(DHT11_PIN);//leer datos del sensor DHT11 //enviar datos a la pantalla lcd.print("Temp: "); lcd.print(DHT.temperature, 1); lcd.print( " C"); lcd.setCursor(0,1); lcd.print("Hum: "); lcd.print(DHT.humidity, 1); requerido para sondear lcd.clear(); hum = DHT.humidity //tomar lecturas de humedad //en el rango de 19 a 30% de humedad verde si ((tararear >= 19) && (tararear<= 30)) { led_r = 1; led_g = 255; led_b = 1; } //в диапозоне от 31 до 40% влажности выдать красный цвет if ((hum >= 31) && (tararear<= 40)) { led_r = 255; led_g = 1; led_b = 1; } //в диапозоне от 41 до 49% влажности выдать синий цвет if ((hum >= 41) && (tararear<= 49)) { led_r = 1; led_g = 1; led_b = 255; } // подача сигналов цвета на выхода analogWrite(LED_R, led_r); analogWrite(LED_G, led_g); analogWrite(LED_B, led_b); }

Etiquetas: Etiquetas

En muchas aplicaciones, tanto amateurs como profesionales, en ocasiones es necesario generar colores de diferentes tonalidades. El uso de LED monocolor separados en tales casos no está justificado desde el punto de vista estructural y económico. Por lo tanto, los LED RGB se desarrollaron para tales fines.



Un LED RGB (las siglas significan RED, GREEN, BLUE) es una combinación de cristales capaces de producir colores rojo, verde y azul. Gracias a esta combinación, estos LED pueden reproducir 16 millones de tonos de luz. Los LED RGB son fáciles de controlar y se pueden utilizar en proyectos Arduino sin ningún problema. Este material mostrará un ejemplo de cómo controlar un LED RGB usando Arduino.


Dado que un LED RGB, como se señaló anteriormente, es una combinación de cristales de tres colores básicos diferentes, en los circuitos se representa como tres LED. Estructuralmente, dicho LED tiene un terminal común y tres terminales para cada color. A continuación se muestra un diagrama de cómo conectar un LED RGB a un Arduino. El circuito también incluye una pantalla LCD alfanumérica de 16x2, potenciómetros y resistencias en serie con las líneas de LED RGB. Estas resistencias (R1 = 100 ohmios, R2 = 270 ohmios, R3 = 330 ohmios) limitan la corriente de los LED para que no fallen. Las resistencias variables (potenciómetros) VR1-VR3 con una resistencia de 10 KOhm se utilizan para controlar la intensidad del LED RGB, es decir, se pueden utilizar para configurar el color del LED cambiando la intensidad del rojo, verde y azul. cristales. El potenciómetro VR1 está conectado a la entrada analógica A0, VR2 a la entrada analógica A1 y VR3 a la entrada analógica A2.



En este caso, la pantalla LCD se utiliza para mostrar el valor del color y el valor hexadecimal del código de color. El valor del código de color se muestra en la primera línea de la pantalla LCD (como Rxxx Gxxx Bxxx, donde xxx es un valor numérico) y el código hexadecimal se muestra en la segunda línea de la pantalla LCD (como HEXxxxxxx). Se utiliza una resistencia R4 de 100 ohmios para limitar la corriente aplicada a la retroiluminación de la pantalla LCD y una resistencia variable VR4 de 10 K ohmios para ajustar el contraste de la pantalla LCD.


A continuación se muestra un código (boceto) que le permite controlar el cambio de color de un LED RGB utilizando la placa Arduino y los potenciómetros conectados a ella.


#incluir // biblioteca para pantalla LCD LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // Líneas Arduino para conectar la pantalla LCD int Radj; ent Gadj; ent Badj; int Rval=0; int ValorVal=0; int Bval=0; entero R = 9; entero GRAMO = 10; entero B = 11; void setup() ( pinMode(R, OUTPUT); // La línea 9 se dirige a la salida pinMode(G, OUTPUT); // La línea 10 se dirige a la salida pinMode(B, OUTPUT); // La línea 11 se dirige a la salida lcd.begin (16,2); // Retraso de inicialización de pantalla(1); lcd.setCursor(0,0); (0, 0); lcd.print(" R G B "); lcd.setCursor("HEX= "); Radj = analogRead(0); analogRead(2); de (0-1023) a (0-255) Gval=Gadj/4 // Convertir el rango de (0-1023) a (0-255) Bval=Badj/4 // Convertir el rango de (0-255) 1023) a (0-255) lcd.setCursor(2,0);<10) { lcd.setCursor(2,0); lcd.print("00"); lcd.print(Rval); } else if(Rval<100) { lcd.setCursor(2,0); lcd.print("0"); lcd.print(Rval); } else { lcd.setCursor(2,0); lcd.print(Rval); } lcd.setCursor(8,1); if (Rval<16) { lcd.print("0"); lcd.print(Rval, 16); } else { lcd.print(Rval, 16); } lcd.setCursor(7,0); if (Gval<10) { lcd.setCursor(7,0); lcd.print("00"); lcd.print(Gval); } else if(Gval<100) { lcd.setCursor(7,0); lcd.print("0"); lcd.print(Gval); } else { lcd.setCursor(7,0); lcd.print(Gval); } lcd.setCursor(10,1); if (Gval<16) { lcd.print("0"); lcd.print(Gval, 16); } else { lcd.print(Gval, 16); } lcd.setCursor(12,0); if (Bval<10) { lcd.setCursor(12,0); lcd.print("00"); lcd.print(Bval); } else if(Bval<100) { lcd.setCursor(12,0); lcd.print("0"); lcd.print(Bval); } else { lcd.setCursor(12,0); lcd.print(Bval); } lcd.setCursor(12,1); if (Bval<16) { lcd.print("0"); lcd.print(Bval, 16); } else { lcd.print(Bval, 16); } analogWrite(R, Rval); // ШИМ-выход для красного цвета analogWrite(G, Gval); // ШИМ-выход для зеленого цвета analogWrite(B, Bval); // ШИМ-выход для синего цвета }

Los LED multicolores, o RGB como también se les llama, se utilizan para mostrar y crear una iluminación de color que cambia dinámicamente. De hecho, no tienen nada de especial, descubramos cómo funcionan y qué son los LED RGB.

Estructura interna

De hecho, un LED RGB son tres cristales de un solo color combinados en una sola carcasa. El nombre RGB significa Rojo - rojo, Verde - verde, Azul - azul, según los colores que emite cada cristal.

Estos tres colores son básicos, y al mezclarlos se forma cualquier color; esta tecnología se ha utilizado durante mucho tiempo en televisión y fotografía. En la imagen de arriba, puedes ver el brillo de cada cristal individualmente.

En esta imagen ves el principio de mezclar colores para obtener todos los tonos.

Los cristales en LED RGB se pueden conectar según el siguiente esquema:

Con ánodo común;

Con un cátodo común;

No conectado.

En las dos primeras opciones verás que el LED tiene 4 pines:

O 6 conclusiones en el último caso:

Puedes ver en la foto que hay tres cristales claramente visibles debajo de la lente.

Se venden almohadillas de montaje especiales para dichos LED, y en ellas incluso se indica la asignación de pines.

Los LED RGBW no se pueden ignorar; su diferencia es que en su carcasa hay otro cristal que emite luz blanca.

Naturalmente, no podríamos prescindir de tiras con este tipo de LED.

Esta imagen muestra una tira con LED RGB, ensamblada según un circuito con un ánodo común, la intensidad del brillo se ajusta controlando el “-” (menos) de la fuente de alimentación.

Para cambiar el color de una cinta RGB, se utilizan controladores RGB especiales: dispositivos para cambiar el voltaje suministrado a la cinta.

Aquí está la distribución de pines RGB SMD5050:

En cuanto a las cintas, no hay particularidades al trabajar con cintas RGB, todo sigue igual que con los modelos monocolor.

También existen conectores para conectar tiras de LED sin soldar.

Aquí está la distribución de pines de un LED RGB de 5 mm:

Cómo cambia el color del resplandor.

El ajuste del color se realiza ajustando el brillo de la radiación de cada uno de los cristales. Ya hemos mirado.

El controlador RGB para cinta funciona según el mismo principio; contiene un microprocesador que controla el terminal negativo de la fuente de alimentación, lo conecta y desconecta del circuito del color correspondiente. Por lo general, se incluye un control remoto con el controlador. Los controladores vienen en diferentes capacidades, su tamaño depende de esto, a partir de uno en miniatura.

Sí, un dispositivo tan potente en una carcasa del tamaño de una fuente de alimentación.

Están conectados a la cinta según el siguiente esquema:

Dado que la sección transversal de las pistas en la cinta no permite conectar la siguiente sección de la cinta en serie con ella, si la longitud de la primera excede los 5 m, es necesario conectar la segunda sección con cables directamente desde el controlador RGB. .

Pero puede salir de la situación y no tirar 4 cables adicionales a 5 metros del controlador y usar un amplificador RGB. Para que funcione, es necesario estirar solo 2 cables (más y menos 12 V) o alimentar otra fuente de alimentación de la fuente de 220 V más cercana, así como 4 cables de “información” del segmento anterior (R, G y B), son necesario recibir comandos del controlador, para que toda la estructura brille por igual.

Y el siguiente segmento ya está conectado al amplificador, es decir. Utiliza la señal del trozo de cinta anterior. Es decir, puede alimentar la cinta desde el amplificador, que estará ubicado directamente al lado, ahorrando así dinero y tiempo en el tendido de cables desde el controlador RGB primario.

Ajustamos el LED RGB con nuestras propias manos.

Entonces, hay dos opciones para controlar los LED RGB:

Aquí hay una versión del circuito sin usar Arduino ni otros microcontroladores, usando tres controladores CAT4101 capaces de entregar corriente hasta 1A.

Sin embargo, ahora los controladores son bastante baratos y si necesita regular la tira de LED, es mejor comprar una opción ya preparada. Los circuitos con Arduino son mucho más sencillos, sobre todo porque puedes escribir un boceto con el que configurarás manualmente el color o la selección de colores será automática de acuerdo con un algoritmo determinado.

Conclusión

Los LED RGB permiten crear efectos de iluminación interesantes; se utilizan en el diseño de interiores, como iluminación de fondo para electrodomésticos y para ampliar la pantalla del televisor. No existen diferencias especiales al trabajar con ellos respecto a los LED convencionales.

¡El LED de tres colores puede brillar con todos los colores del arcoíris! De acuerdo, esto es mucho más interesante que simplemente hacer parpadear un LED normal
Comencemos la tercera lección sobre cómo conocer Arduino.

Conexión del equipo:
De hecho, un LED tricolor consta de tres LED (rojo, verde y azul) en un solo paquete. Cuando lo ejecutamos en diferentes niveles de brillo e intensidad de rojo, verde y azul, obtenemos nuevos colores.

Hay un pequeño bisel en el borde del LED, esta es la clave, apunta a la pata del LED rojo, luego está el general, luego verde y azul.

Conecte la pata del LED ROJO a la resistencia de 330 ohmios. Conecte el otro extremo de la resistencia al puerto pin9 de Arduino.

Conecte el pin común a GND.

Conecte la pata VERDE a la resistencia de 330 ohmios.

Conecte el otro extremo de la resistencia al puerto pin10 de Arduino.

Conecte la pata AZUL a la resistencia de 330 ohmios.

Conecte el otro extremo de la resistencia al puerto pin11 de Arduino.

La siguiente imagen muestra la apariencia de una placa con el circuito ensamblado y una placa Arduino con cables provenientes de la placa.

Kit de experimentos ArduinoKit
Código de programa para la experiencia No. 3:

Ya solo queda descargar el programa al Arduino mediante un cable USB. Descargue el boceto con la tercera lección de LED RGB, arriba en el artículo.



LA CAMPANA

Hay quienes leyeron esta noticia antes que tú.
Suscríbete para recibir artículos nuevos.
Correo electrónico
Nombre
Apellido
¿Cómo quieres leer La Campana?
Sin spam