▷Arduino Capítulo 6 Lámpara De Colores El Gato Inquieto - Psicología del Color
Psicología del color y tienda de pinturas online [email protected]

Arduino – Capítulo 6 – Lámpara de colores
Bueno, ahora que ya sabemos como hacer parpadear unos leds, ¿que tal si aprendemos a atenuar su brillo a mezclar colores? Pues esto es lo que vamos a aprender ahora y para ello, construiremos una lámpara de colores.
Tal vez estemos pensando: Que fácil. Si quiero atenuar el brillo de un led, pues disminuyo la tensión que le suministro y ya está.” Pero nada más lejos de la realidad. Y ahora veremos por qué.
Arduino no puede variar el valor de la tensión de salida en sus pins, tan solo puede suministrar un voltaje de 5V. Por consiguiente, necesitaremos utilizar una técnica llamada Modulación del Ancho de Pulso (MAP) (Pulse Width Modulation en inglés) para poder disminuir el brillo de un led. La técnica MAP cambia rápidamente el valor del pin de salida entre Excessive y Low en un lapso de tiempo determinado. Dicho cambio se produce más rápido de lo que el ojo humano puede detectar, tal y como funcionan las películas: mostrando al ojo una serie de imágenes fijas de forma tan rápida que da la sensación de haber movimiento. Cuando variamos rápidamente el valor del pin entre HIGH LOW, estamos variando su tensión. El porcentaje de tiempo durante el cual el pin mantiene un valor HIGH se denomina ciclo de trabajo. Cuando el pin se encuentra la mitad del tiempo del ciclo de trabajo con un nivel alto (EXCESSIVE) y la otra mitad del tiempo en un nivel bajo (LOW), dicho ciclo del trabajo es del 50%. Un ciclo de trabajo corto proporciona un brillo más tenue que un ciclo más rápido.
Arduino Uno (la placa que estoy utilizando para estos proyectos) posee seis pines destinados al MAP (los pines three, 5, 6, 9, 10, y 11), los cuales pueden ser fácilmente identificados por tener escrito el símbolo ˜ al lado del número de pin.
Como elemento de entrada, para este proyecto utilizaremos fotorresistencias (sensores que cambian su valor de resistencia en función de la cantidad de luz que reciben). Si conectamos una fotorresistencia a uno de los pin de nuestro Arduino, podremos medir la variación de la misma comprobando la tensión existente en dicho pin.
Fotografía de una fotorresistencia blog sobre los colores cualquiera
Montando el circuito
Para montar el circuito de este proyecto necesitamos los siguientes componentes:
– 1 led RGB.
– three fotorresistencias.
– 3 tiras de papel plástico transparente. Una roja, otra verde y otra azul. Cada una de ellas servirá para ponerlas sobre una fotorresistencia y que así sirva de filtro para detectar un coloration.
Una vez tenemos los componentes necesarios, debemos seguir los siguientes pasos:
1 – Conectamos la alimentación de 5v y la tierra de la placa Arduino a la protoboard.
2 – Colocamos las tres fotorresistencias en la protoboard a lo largo de la línea central de la misma, de manera que una patilla quede a un lado de dicha línea y la otra al otro lado.
3 – De las dos patillas que tiene cada fotorresistencia, una la conectamos a la alimentación y la otra, a una resistencia de 10KΩ que a su vez irá conectada a tierra. Como dicha resistencia de 10KΩ se encuentra en serie con la fotorresistencia, en conjunto forman un divisor de tensión. De acuerdo con la ley de Ohm, la tensión en el punto donde se conectan ambos componentes es proporcional al valor de sus respectivas resistencias. Cuando el valor de la fotorresistencia varíe a causa de la incidencia de la luz, así lo hará también el valor de la tensión entre ambas resistencias.
four – A continuación, la patilla de cada fotorresistencia que se encuentra conectada a la resistencia de 10KΩ, la uniremos con un cable a los pins de entrada analógica zero, 1 y 2 (una fotorresistencia por cada pin).
5 – Seguidamente, cogemos los tres trozos de papel plástico de colores y colocamos uno sobre cada fotorresistencia. Ponemos el de colour rojo sobre la fotorresistencia conectada al pin A0, el verde sobre la que está conectada al pin A1 y el azul, sobre la fotorresistencia conectada al pin A2. Cada uno de estos plásticos solo deja pasar la luz de una determinada longitud de onda. El rojo solo deja pasar el rojo, el de coloration verde la luz verde y el azul solo la luz azul. De esta manera, cada fotorresistencia solo detectará un determinado tipo de luz.
6 – El siguiente componente que vamos a utilizar es el led RGB. Este tipo de led tiene cuatro patillas: una para el shade rojo, una para el color verde, una para el color azul y otra que sirve de tierra para las otras tres (el cátodo). Cada una de las patillas estará conectada a una resistencia de 220Ω (a excepción del cátodo).
Haciendo que haya una tensión diferente entre el cátodo y el proveniente de los pins MAP del Arduino, conseguiremos que el led adquiera una tonalidad comprendida entre los tres colores nombrados anteriormente.
La patilla más larga del led RGB es el cátodo, el cual irá conectado a masa. Las otras tres patillas irán conectadas a los pins digitales 9, 10 y eleven con una resistencia en serie de 220Ω. Asegurémonos de conectar correctamente cada patilla a su correspondiente pin MAP, tal y como se muestra en la figura de más abajo.
Terminado de montar el circuito, deberíamos de tener algo parecido al mostrado en la siguiente figura.
El esquema eléctrico correspondiente sería:
El código
Comencemos por comentar paso a paso el código fuente con el que vamos a programar nuestro Arduino.
Para empezar, estableceremos constantes para los pins que estamos utilizando como entradas y como salidas, de esta manera, sabremos que sensor está asociado a cada colour del led. Dichas constantes serán de tipo int.
const int greenLEDPin = 9; const int redLEDPin = 11; const int blueLEDPin = 10; const int redSensorPin = A0; const int greenSensorPin = A1; const int blueSensorPin = A2;
Añadimos variables de tipo int para los valores de entrada y para los de salida, que nos servirán para regular el brillo del led.
int redValue = 0; int greenValue = 0; int blueValue = zero; int redSensorValue = 0; int greenSensorValue = 0; int blueSensorValue = 0;
En setup(), estableceremos la comunicación serie a 9600 bps. De esta manera, podremos ver los valores de los sensores en el monitor serie. También estableceremos que los leds sean las salidas mediante la función pinMode().
void setup() Serial.start(9600); pinMode(greenLEDPin, OUTPUT); pinMode(redLEDPin, OUTPUT); pinMode(blueLEDPin, OUTPUT); //Fin de la funcion setup.
En la función loop() leeremos los valores de los sensores en los pins A0, A1 y A2 mediante la función analogRead() y los guardamos en sus respectivas variables. Además, añadiremos un delay() entre cada analogRead() para que el ADC pueda hacer su trabajo.
void loop() redSensorValue = analogRead(redSensorPin); delay(5); greenSensorValue = analogRead(greenSensorPin); delay(5); blueSensorValue = analogRead(blueSensorPin);
A continuación, mostraremos los valores de los sensores en una sola línea. El símbolo \t” es el equivalente a pulsar el tabulador del teclado.
Serial.print(“Uncooked Sensor Values \t Crimson: “); Serial.print(redSensorValue); Serial.print(“\t Inexperienced: “); Serial.print(greenSensorValue); Serial.print(“\t Blue: “); Serial.println(blueSensorValue);
La función que nos facilita cambiar el brillo del led mediante la técnica MAP se denomina analogWrite(). Necesita dos argumentos: el pin al que enviar datos y un número comprendido entre el 0 y el 255. El segundo parámetro representa el ciclo de trabajo que Arduino indicará al pin especificado. El valor 255 le indicará al pin un valor HIGH de forma continua, de esta manera, el led permanecerá iluminado a su máximo nivel. Un valor de 127 mantendrá al pin en un valor EXCESSIVE la mitad del tiempo, haciendo que el led tenga un brillo más mortecino. Por otro lado, el valor 0, establecerá un valor LOW de forma continua, así el led se quedará apagado.
Como la función analogWrite() solo puede manipular valores comprendidos entre zero y 255, deberemos dividir entre 4 el valor leído por el sensor, ya que este último estará comprendido entre zero y 1023.
redValue = redSensorValue/4; greenValue = greenSensorValue/four; blueValue = blueSensorValue/4;
La última parte del código es la que se encarga de mostrar los nuevos valores por el monitor serie y de ajustar el brillo del led según los mismos.
Serial.print(“Mapped Sensor Values \t Purple: “); Serial.print(redValue); Serial.print(“\t Green: “); Serial.print(greenValue); Serial.print(“\t Blue: “); Serial.println(blueValue); analogWrite(redLEDPin, redValue); analogWrite(greenLEDPin, greenValue); analogWrite(blueLEDPin, blueValue); //Fin de la funcion loop.
Puesta en marcha
Una vez que hayamos cableado y programado nuestro Arduino, abriremos el monitor serie. El led probablemente esté de un shade blanquecino, dependiendo del shade predominante de la habitación. Observemos en el monitor serie los valores obtenidos por los sensores, si nos encontramos en un ambiente con un nivel estable de luz, dichos valores serán bastante constantes.
Apaguemos las luces de la habitación en la que nos encontramos y observemos que ocurre con los valores de los sensores. Iluminemos cada uno de los sensores de manera individual y veamos como varían los valores en el monitor serie, del mismo modo, podremos observar como cambia el coloration del led. Al cubrir cada sensor con un plástico, cada uno de ellos reaccionará a la longitud de onda perteneciente al color de dicho plástico. Esto nos permite cambiar cada colour de manera independiente.
Probablemente percibamos que la atenuación del led no es lineal. Cuando el led se encuentra a la mitad de su brillo, parece que se detiene para volverse más brillante. Esto es porque nuestros ojos no perciben el brillo de forma lineal. El brillo de la luz depende no solo del nivel indicado por la función analogWrite() si no también, de la distancia entre el ojo y la luz y del brillo de la luz respecto a cualquier otra luz de la habitación.
Bien. En este proyecto hemos aprendido a utilizar una fotorresistencia como sensor que nos proporciona datos de entrada, un led RGB y la función analogWrite() junto con la técnica MAP para hacer que el led nos muestre la información obtenida por los sensores en el formato que a nosotros nos interesa. Pero… ¿que pasaría si en lugar de tres fotorresistencias utilizáramos el sensor de temperatura del proyecto anterior?
Espero que os haya gustado.
Un saludo y muchas gracias por leer este artículo. ^_^
Referencias
– Artículo basado en el capítulo Challenge 04 – Shade Mixing Lamp” del libro Arduino Initiatives Guide” distribuido por junto con su The Arduino Starter Kit
– Tutorial sobre la función analogWrite()
– Tutorial sobre la técnica MAP (PWM en inglés).
Comparte esto:
Esta entrada fue publicada en Arduino Guarda el enlace permanente
Navegador de artículos
Introduce aquí tu comentario…
Introduce tus datos haz clic en un icono para iniciar sesión:
Correo electrónico (necesario) (La dirección no se hará pública)
Nombre (necesario)
Recibir nuevas entradas por email.
Buscar
A %d blogueros les gusta esto:

0

Psicología del Color

La psicología del color es un campo de estudio que está dirigido a analizar el efecto del color en la percepción y la conducta humana. Desde el punto de vista estrictamente médico, todavía es una ciencia "inmadura" en la corriente principal de la psicología contemporánea, teniendo en cuenta que muchas técnicas adscritas a este campo pueden categorizarse dentro del ámbito de la medicina alternativa.

Origen de la psicología del color

La psicología del color tuvo incidencia en la psicología humana desde tiempos remotos, circunstancia que se expresaba y sintetizaba simbólicamente. Entre muchos ejemplos, en la antigua China los puntos cardinales eran representados por los colores azul, rojo, blanco y negro,1​ reservando el amarillo para el centro (por tanto, el amarillo fue tradicionalmente el color del imperio chino).

De igual forma, los mayas de América central relacionaban Este, Sur, Oeste y Norte con los colores rojo, amarillo, negro y blanco respectivamente. En Europa los alquimistas relacionaban los colores con características de los materiales que utilizaban, por ejemplo rojo para el azufre, blanco para el mercurio y verde para ácidos o disolventes.

Comprar Pintura Online

Comprar pintura online nunca ha sido tan fácil. Si eres amante de la filosofía DIY (Háztelo tú mismo) y quieres dar un cambio a una estancia, un mueble o cualquier objeto decorativo melopinto es tu sitio.

Más 500 productos de pintura y decoración te están esperando. Con ellos vas a ser capaz de dar vida a todas esas ideas bonitas que te rondan por la cabeza.

Tienda de pinturas en la cual podras comprar pinturas y encontraras pintura epoxica precio, pintura de coche, pinturas precios, pintura suelo exterior pintura impermeable, pintura suelos, comprar pintura coche, pintura carroceria, pintura poliuretano. Tienda de pinturas online, pintura barata y de calidad

También disponemos de una tienda de pinturas online, donde encontrarás la pintura barata y de calidad que estás buscando. La empresa se dedica a la venta de pinturas (decoración, industria, automóvil, cueros "pieles" tratamiento para la madera y metal, etc...), herramientas y papeles pintados, pintura para suelos

Disponemos de una tienda de pinturas online en la cual podrás comprar pintura barata, venta de pinturas de la mejor calidad. Decoración, Industria, Automóvil, pintura antihumedad, pintura para coches, motos, cueros, pieles, tratamiento para la madera y metal, pintura para azulejos, pintura para suelos, pintura poliuretano, pintura carrocería, pintura epoxi, pintura impermeable, pintura suelos / pistas deportivas...

Tenemos pintura de coche a los mejores precios, pintura suelo exterior de Industria de la mejor calidad. También disponemos de pintura epoxica precio sin competencia. Comprar pintura coche de la mejor calidad. Pinturas precios más económicos de la web.

¡Comprar pinturas por internet, difícilmente vas a encontrar estos precios a la hora de comprar por la web! Te buscamos productos que no están en nuestra web y que no encuentres, para asegurar una venta satisfactoria y siempre de la forma más económica y barata.