Tabla de contenido:

Mezclador de colores con Arduino: 9 pasos (con imágenes)
Mezclador de colores con Arduino: 9 pasos (con imágenes)

Video: Mezclador de colores con Arduino: 9 pasos (con imágenes)

Video: Mezclador de colores con Arduino: 9 pasos (con imágenes)
Video: Crea una Lámpara de colores con Arduino | Lámpara RGB | Lámpara LED con Arduino 2024, Noviembre
Anonim
Image
Image

Por tliguori330 Siga más por el autor:

Esfera de color con Arduino
Esfera de color con Arduino
Doodle Bot con proceso de diseño
Doodle Bot con proceso de diseño
Doodle Bot con proceso de diseño
Doodle Bot con proceso de diseño
Piano táctil Arduino
Piano táctil Arduino
Piano táctil Arduino
Piano táctil Arduino

Acerca de: Siempre aprendiendo….. Más acerca de tliguori330 »

Un mezclador de color es un gran proyecto para cualquiera que trabaje y crezca con Arduino. Al final de este instructivo, podrá mezclar y combinar casi todos los colores imaginables girando 3 perillas. El nivel de habilidad es lo suficientemente bajo como para que incluso un novato completo pueda completarlo con éxito, pero también lo suficientemente interesante como para ser divertido para un veterinario experimentado. El costo de este proyecto es casi nulo y la mayoría de los kits de Arduino vienen con los materiales necesarios. En el núcleo de este código hay algunas funciones fundamentales de arduino que cualquiera que use arduino querrá entender. Vamos a profundizar en las funciones analogRead () y analogWrite () como lo hacemos como otra función habitual llamada map (). Estos enlaces lo llevan a las páginas de referencia de arduino para estas funciones.

Paso 1: Piezas y componentes

Partes y componentes
Partes y componentes
Partes y componentes
Partes y componentes
Partes y componentes
Partes y componentes
Partes y componentes
Partes y componentes

Arduino Uno

Potenciómetro (x3)

LED RGB

Resistencia de 220 ohmios (x3)

Cables de puente (x12)

Tabla de pan

Paso 2: planifique su progreso

Planifique su progreso
Planifique su progreso

Puede ser muy útil planificar cómo completará su proyecto. La codificación tiene que ver con la progresión lógica de un paso al siguiente. Hice un diagrama de flujo que describe cómo quiero que se ejecute mi boceto. El objetivo general es tener 3 perillas (potenciómetros) que controlen cada uno de los tres colores de un LED RGB. Para lograr esto, necesitaremos crear un boceto que coincida con el diagrama de flujo. Querremos….

1) Leer 3 potenciómetros diferentes y guardar sus valores en variables.

2) Convertiremos esos valores para que coincidan con el rango del LED RGB.

3) Luego finalmente escribiremos esos valores convertidos a cada uno de los colores del RGB.

Paso 3: Cómo usar potenciómetros

Cómo utilizar potenciómetros
Cómo utilizar potenciómetros
Cómo utilizar potenciómetros
Cómo utilizar potenciómetros

Uno de los componentes más básicos de los kits de electrónica, el potenciómetro se puede utilizar en muchos proyectos diferentes. Los potenciómetros funcionan permitiendo al usuario cambiar físicamente la resistencia del circuito. El ejemplo más típico de un potenciómetro es un atenuador de luz. deslizar o girar una perilla cambia la longitud del circuito. un camino más largo da como resultado más resistencia. La resistencia aumentada reduce inversamente la corriente y la luz se atenúa. Estos pueden tener diferentes formas y tamaños, pero la mayoría tiene la misma configuración básica. Un estudiante pidió ayuda para arreglar su guitarra y descubrimos que las perillas eran exactamente iguales a los potenciómetros. En general, las patas exteriores estaban conectadas a 5 voltios y tierra y la pata del medio va a un pin analógico como A0

Paso 4: Esquema de cableado para potenciómetro (3x)

Esquema de cableado para potenciómetro (3x)
Esquema de cableado para potenciómetro (3x)
Esquema de cableado para potenciómetro (3x)
Esquema de cableado para potenciómetro (3x)
Esquema de cableado para potenciómetro (3x)
Esquema de cableado para potenciómetro (3x)

La pata más a la izquierda se conectará a 5v y la pata más a la derecha se conectará a GND. De hecho, puede revertir estos dos pasos y no dañará mucho el proyecto. Todo lo que cambiaría es que si gira la perilla completamente hacia la izquierda, el brillo será total en lugar de apagarlo por completo. La pata del medio se conectará a uno de los pines analógicos del Arduino. Como tendremos tres perillas, querremos triplicar el trabajo que acabamos de hacer. Cada perilla necesita 5v y GND para que se puedan compartir usando una placa de pruebas. La franja roja en la placa de pruebas está conectada a 5 voltios y la franja azul está conectada a tierra. Cada perilla necesita su propio pin analógico para que estén conectados a A0, A1, A2.

Paso 5: uso de AnalogRead () y variables

Con su potenciómetro configurado correctamente, estamos listos para leer esos valores. Cuando queremos hacer esto, usamos la función analogRead (). La sintaxis correcta es analogRead (pin #); así que para leer nuestro potenciómetro medio haríamos analogRead (A1); Para trabajar con los números que se envían desde la perilla al Arduino, también querremos guardar esos números en una variable. La línea de código logrará esta tarea mientras leemos el potenciómetro y guardamos su número actual en la variable entera "val"

int val = analogRead (A0);

Paso 6: uso del monitor en serie con 1 mando

Image
Image

Actualmente podemos obtener valores de las perillas y almacenarlos en una variable, pero sería útil si pudiéramos ver estos valores. Para hacer esto, necesitamos hacer uso del monitor serial integrado. El siguiente código es el primer boceto que ejecutaremos en el IDE de Arduino que se puede descargar en su sitio. En la configuración vacía () activaremos los pines analógicos conectados a cada pata del medio como una ENTRADA y activaremos el monitor serial usando Serial.begin (9600); a continuación, leemos solo una de las perillas y la almacenamos en una variable como antes. El cambio ahora es que agregamos una línea que imprime qué número está almacenado en la variable. Si compila y ejecuta el boceto, puede abrir su monitor serial y ver los números desplazándose en la pantalla. Cada vez que el código se repite, leemos e imprimimos otro número. Si gira la perilla conectada a A0, debería ver valores que oscilan entre 0-1023. más adelante, el objetivo será leer los 3 potenciómetros, lo que requeriría 2 lecturas analógicas más y 2 variables diferentes para guardar e imprimir.

configuración vacía () {

pinMode (A0, ENTRADA); pinMode (A1, ENTRADA); pinMode (A2, ENTRADA); Serial.begin (9600); } bucle vacío () {int val = analogRead (A0); Serial.println (val); }

Paso 7: uso del LED RGB

Usando el LED RGB
Usando el LED RGB
Usando el LED RGB
Usando el LED RGB
Usando el LED RGB
Usando el LED RGB

El LED RGB de 4 patas es uno de mis componentes favoritos para Arduino. Encuentro fascinante la forma en que es capaz de crear infinitos colores a partir de mezclas de 3 colores básicos. La configuración es similar a cualquier LED normal, pero aquí básicamente tenemos LED rojo, azul y verde combinados. Las patas cortas serán controladas cada una por uno de los pines PWM en el arduino. La pata más larga se conectará a 5 voltios o tierra, dependiendo si la suya es un LED de ánodo común o cátodo común. Deberá probar ambas formas para resolver este problema. Ya tendremos 5v y GND conectados a la placa de pruebas, debería ser fácil de cambiar. El diagrama de arriba también muestra el uso de 3 resistencias. De hecho, omito este paso a menudo porque no lo he hecho y el LED se apaga.

Para hacer colores usaremos la función analogWrite () para controlar cuánto rojo, azul o verde agregar. Para utilizar esta función, debe decir con qué número de pin vamos a hablar y un número entre 0-255. 0 está completamente apagado y 255 es la cantidad más alta de un color. Conectemos la pata roja a la patilla 9, la verde a la patilla 10 y la azul a la patilla 11. Esto puede requerir un poco de prueba y error para averiguar qué patilla es de qué color. Si quisiera hacer un tono púrpura, podría hacer mucho rojo, no verde y tal vez la mitad de azul. Te animo a jugar con estos números, es realmente emocionante. Algunos ejemplos comunes se encuentran en las imágenes de arriba.

configuración vacía () {

pinMode (9, SALIDA); pinMode (10, SALIDA); pinMode (11, SALIDA); } bucle vacío () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}

Paso 8: uso de potenciómetros para controlar el LED RGB (con un error)

Uso de potenciómetros para controlar el LED RGB (con un error)
Uso de potenciómetros para controlar el LED RGB (con un error)
Uso de potenciómetros para controlar el LED RGB (con un error)
Uso de potenciómetros para controlar el LED RGB (con un error)
Uso de potenciómetros para controlar el LED RGB (con un error)
Uso de potenciómetros para controlar el LED RGB (con un error)

Es hora de empezar a fusionar nuestros dos códigos. Debería tener suficiente espacio en una placa de prueba estándar para que quepan las 3 perillas y el LED RGB. La idea es que en lugar de escribir los valores para rojo, azul y verde, usaremos los valores guardados de cada poteniómetro para cambiar constantemente los colores. necesitaremos 3 variables en este caso. redval, greenval, blueval son todas variables diferentes. Tenga en cuenta que puede nombrar estas variables como desee. si gira la perilla "verde" y la cantidad roja cambia, puede cambiar los nombres para que coincidan correctamente. ¡Ahora puedes girar cada botón y controlar los colores!

configuración vacía () {

pinMode (A0, ENTRADA); pinMode (A1, ENTRADA); pinMode (A2, ENTRADA); pinMode (9, SALIDA); pinMode (10, SALIDA); pinMode (11, SALIDA); } configuración vacía () {int redVal = analogRead (A0); int greenVal = analogRead (A1); int blueVal = analogRead (A2); analogWrite (9, redVal); analogWrite (10, greenVal); analogWrite (11, blueVal); }

Paso 9: BONUS: función Map () y código de limpieza

Puede notar que a medida que comienza a girar la perilla de un color hacia arriba, crecerá y luego de repente caerá hasta apagarse. Este patrón de crecimiento y luego apagarse rápidamente se repite 4 veces a medida que gira la perilla completamente hacia arriba. Si recuerdas, dijimos que los potenciómetros pueden leer valores entre 0 y 1023. La función analogWrite () solo acepta valores entre 0 y 255. Una vez que el potenciómetro pasa de 255, básicamente comienza de nuevo en 0. Hay una función agradable para ayudar con el error llamado map (). puede convertir un rango de números en otro rango de números en un solo paso. convertiremos números del 0 al 1023 en números del 0 al 255. Por ejemplo, si la perilla se colocó a la mitad, debería leer alrededor de 512. Ese número se cambiaría a 126, que es la mitad de la fuerza del LED. En este boceto final, nombré los pines con nombres de variables para mi conveniencia. ¡Ahora tienes un mezclador de colores completo para experimentar con él!

// nombres de variables para los pines del potenciómetro

int redPot = A0; int greenPot = A1; int bluePot = A2 // nombres de variables para pines RGB int redLED = 9; int greenLED = 10; int blueLED = 11; configuración vacía () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluePot, ENTRADA); pinMode (LED rojo, SALIDA); pinMode (LED verde, SALIDA); pinMode (blueLED, SALIDA); Serie, comienzo (9600); } void loop () {// leer y guardar valores de potenciómetros int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // convierte los valores de 0-1023 a 0-255 para el LED RGB redVal = map (redVal, 0, 1023, 0, 255); greenVal = mapa (greenVal, 0, 1023, 0, 255); blueVal = mapa (blueVal, 0, 1023, 0, 255); // escribe estos valores convertidos en cada color del LED RGB analogWrite (redLED, redVal); anaogWrite (greenLED, greenVal); analogWrite (blueLED, blueVal); // muestra los valores en el monitor Serial Serial.print ("red:"); Serial.print (redVal); Serial.print ("verde:"); Serial.print (greenVal); Serial.print ("azul:"); Serial.println (blueVal); }

Recomendado: