Luz de distancia de RGB dependientes (3 / 4 paso)

Paso 3: programación

La forma en fue sobre la programación de este dispositivo fue un buen viaje. Quería que el led s reaccionan en el sensor de ultrasonidos y cambian de color según la distancia regresó el sensor de ultrasonidos. Cuando la distancia entre objeto y sensor es baja, por lo que el objeto está cercano, el color es rojo. Cuanto más lejos el objeto va, el verde el color consigue. Evrithing entre es una mezcla de esos colores y escala hasta a medida que aumenta la distancia. Esto resulta en un espectro de colores entre rojo y verde.

Carga el código para el arduino hacer que usted no tiene acceso al puerto usb una vez que el arduino se inserta en la carcasa.

/*
Ciclo de la RGB usando un sensor de ultrasonidos.

Autor: Bryan Vermaat - 2016

Ver para un uso de este código.

Este código está públicamente disponible y puede ser creado/modificado *

Los tres LEDs de color primario, conducidos como analgue salidas (realmente PWM, pero / / lo suficientemente cerca para nuestros ojos analógicas).

const int ledPinRed = 11; LED rojo conectado al análogo a perno const int ledPinGrn = 10; LED verde conectados al análogo a perno const int ledPinBlu = 9; LED azul conectado al análogo de la clavija de salida

const trigPin int = 13; const echoPin int = 12; const int modeSwitchPin = 12;

El potenciómetro de tono va a un pin analógico, teniendo el pin de / / 0V a 5V.

const int potPinHue = 0;

Constantes que definen los rangos.

const int hueRedLow = 0; const int hueRedHigh = 255; const int hueBlue = 170;

El rango mínimo y máximo para el sensor de ultrasonidos.

const int rangeMin = 0; const int rangeMax = 200;

const int brightMin = 0; const int brightMax = 255;

Variables de trabajo.

El valor del potenciómetro se asigna a la gama de 0 a 360 (grados). int valueHue;

El matiz es el intervalo de 0 (rojo) a 170 (azul) en el arco iris / modo o 255 (rojo) en modo de rueda de colores. Las gamas de brillo de 0 (oscuro) a 255 (brillo máximo)

int color, brillo;

La saturación se fija en 255 (completo) para quitar guían a través de diferentes / / colores. Podría relacionarse con el otro potenciómetro si una demostración de hue / / es deseada.

const int saturación = 255;

El brightess de cada LED (0 a 255).

unsigned int r, g, b;

void setup() {/ / todavía necesita establecer una velocidad en baudios, incluso para USB. Serial.Begin(9600);

Sets pasadores LED a la salida. pinMode (ledPinRed, salida); pinMode (ledPinGrn, salida); pinMode (ledPinBlu, salida);

Ajuste los pernos del sensor ultrasónico. pinMode (trigPin, salida); pinMode (echoPin, entrada); }

void loop() {/ / tono el potenciómetro valor se asigna a grados - 0 a 360 para conveniencia. valueHue = map(MeasureDistance(), 0, 1023, 0, rangeMax);

Modo de rueda de color (rojo con rojo, envuelto todo en un ciclo).

Hue = mapa (valueHue, rangeMin, rangeMax, hueRedLow, hueRedHigh);

El brillo es fijo en el total de la rueda de color. Esto podría ser / / vinculado a otro poteniometer si es un concepto que se desea / / demostrar. brillo = 255;

Hacer la conversión. HSBToRGB (tono, saturación, brillo y r, g & b);

analogWrite (ledPinRed, r); analogWrite (ledPinGrn, g); analogWrite (ledPinBlu, b);

Serial.Print ("brillante ="); Serial.Print(Brightness); Serial.Print ("color ="); Serial.Print(Hue); Serial.Print ("rojo ="); Serial.Print(r); Serial.Print ("verde ="); Serial.Print(g); Serial.Print ("azul ="); Serial.Print(b); Serial.println(""); Delay(50); }

Esta función tomada desde aquí: / / http://eduardofv.com/2011/01/15/arduino-rgb-led-h...

void HSBToRGB (unsigned unsigned int inSaturation, int inHue, unsigned int, unsigned int inBrightness * o, unsigned int * oG, unsigned int * oB) {si (inSaturation == 0) {/ / acromático (gris) * o = * oG = * oB = inBrightness;} más {unsigned int scaledHue = (inHue * 6); unsigned int sector = scaledHue >> 8; / / sector de 0 a 5 en el color de la rueda unsigned int offsetInSector = scaledHue - (sector << 8); / / posición dentro del sector de unsigned int p = (inBrightness * (255 - inSaturation)) >> 8; unsigned int q = (inBrightness * (255 - ((inSaturation * offsetInSector) >> 8))) >> 8; unsigned int t = (inBrightness * (255 - ((inSaturation * (255 - offsetInSector)) >> 8))) >> 8;

interruptor (sector) {caso 0: * o = inBrightness; * oG = t; * oB = p; break; caso 1: * o = q; * oG = inBrightness; * oB = p; break; caso 2: * = p; * oG = inBrightness; * oB = t; break; case 3: * = p; * oG = q; * oB = inBrightness; break; caso 4: * o = t; * oG = p; * oB = inBrightness; break; default: / / caso 5: * o = inBrightness; * oG = p; * oB = q; break;}} }

Función para medir la distancia con un sensor de ultrasonidos HC-SR04 MeasureDistance() largo {larga duración, distancia, digitalWrite (trigPin, bajo) delayMicroseconds(2); digitalWrite (trigPin, alto); delayMicroseconds(10); digitalWrite (trigPin, baja); duración = pulseIn (echoPin, HIGH); distancia = (duración/2) / 29,1; si (distancia > = rangeMax || distancia < = rangeMin) {Serial.println ("fuera de rango ajustado. vuelve Max."); volver rangeMax; } else {Serial.print(distance); Serial.println ("cm"); volver a distancia; } }

Artículos Relacionados

Ciclo de luz: Tiras de LED RGB programable en el marco de la bici

Ciclo de luz: Tiras de LED RGB programable en el marco de la bici

ya he estado trabajando en proyectos similares, éste realmente es el siguiente paso de un proyecto anterior. Ver:Y antes de empezar, debemos tener una demostración del efecto final (el video es cuando la moto no estaba aún cubierta).He visto muchos i
Luz de proyección RGB

Luz de proyección RGB

Esta lámpara LED es un proyecto de iluminación simple que reutiliza una luz LED de tres colores y lo monta en un tubo para crear una luz de proyección colorido que se ve muy bien, cuando contra una pared.Siguiendo estos principios, podría llevar el p
Como hacer un sensor de luz-hasta distancia

Como hacer un sensor de luz-hasta distancia

en este instructable, le mostraré cómo hacer que un sensor que se enciende más luces más cerca está a él.Materiales:Arduino UNOSensor de distancia ultrasónico ping de Arduino3 LED verde2 LED amarillo1 LED rojo6 resistencias de 220 ohmiosCable USB par
Caja de luz escritorio Volcom RGB

Caja de luz escritorio Volcom RGB

saludos! Soy Russell Petersen. Soy un ingeniero, inventor, diseñador, fabricante y soñador. Soy un ingeniero eléctrico junior por el comercio, ubicadas y trabajando en el área de la bahía de San Francisco.Me encanta jugar con la iluminación de estado
Desvanecimiento de la luz del teclado RGB

Desvanecimiento de la luz del teclado RGB

Electrónica antigua está ampliamente disponible y generalmente pueden ser reciclados en adminículos frescos e incorporados en otros proyectos. Este Instructable pasará por el proceso de utilizar un scanner viejo para hacer una luz de teclado de desco
Chromation sistemas RGB LED tubo luz

Chromation sistemas RGB LED tubo luz

Construido utilizando un 24 canal alta corriente LED controlador USB para controlar la luz de tira del RGB LED de 12 voltios, en 8 grupos separados. Cada grupo tiene los PWM de 8 bits que puede crear más 16 millones de colores. Y es conducido en comp
RGB LED plafón humor con hackeado IR Control remoto

RGB LED plafón humor con hackeado IR Control remoto

este instructable documenta el diseño y construcción de una gigante luz de techo del RGB LED, controladas por control remoto GE hackeado.Después de construir unas pequeñas lámparas RGB, decidí que quería ver hasta dónde podía tomar el concepto.  Los
Luz solar tarro de masón

Luz solar tarro de masón

humor gran iluminación para boda al aire libre!Por favor vote por concurso de la novia parte superior derecha de la página.Este Instructable mostrará cómo agregar iluminación ambiental ambiente solar barato a su patio trasero favorito reunión área. É
RGB LED Pixel tacto reactiva juegos de mesa

RGB LED Pixel tacto reactiva juegos de mesa

Las tablas son elementos útiles a tener y como necesitábamos una nueva mesa para el salón tenía sentido construir mi propio con algunas características extra electrónicas.Mi mesa de diseño consta de las siguientes características.matriz de LED RGB 10
Cambio de luz de noche LED color

Cambio de luz de noche LED color

Yo no había hecho un proyecto de electrónica solo para un mes y viendo mi Arduino después de tanto tiempo me hizo muy emocionado, aunque un poco perdido. Sentí que necesitaba un proyecto pequeño y sencillo para revivir mi familiaridad con el Arduino.
LED amanecer / amanecer despertador, luz nocturna y luz seguridad - compatible con Arduino

LED amanecer / amanecer despertador, luz nocturna y luz seguridad - compatible con Arduino

como las noches alargadas gradualmente en otoño 2011, descubrí los placeres del Arduino y pensó que sería una buena manera de implementar algo que he querido durante mucho tiempo - una manera suave para despertar en la mañana de un invierno.  Lamenta
Luz LED para Robot casco

Luz LED para Robot casco

Hola clientes, Cosplayers y frikis de ciencia ficción. Tengo para usted una manera rápida y fácil a añadir algunas luces interesantes a tus cascos de ciencia ficción. No se que brillan en la oscuridad y su casco aparte de los otros cascos sólo puede
Luz de seguimiento (Intel IoT EDI)

Luz de seguimiento (Intel IoT EDI)

Hola, en este Instructable, te voy a mostrar mi primer proyecto con intel Edison.Se trata de la primera parte del final de un proyecto de un sistema de seguimiento Solar para orientar un conjunto de paneles solares. Con capacidades de nube de Edison
Selector de Color de LED RGB

Selector de Color de LED RGB

uno de los desafíos de trabajar con LEDs RGB está haciendo la derecha valores rojo, verde y azul para que coincida con un color que está intentando mostrar.  Puede iniciar con los colores de la web y luego a veces necesitará ajustar ya que los LEDs n