Paso 4: Cambio de color mediante potenciómetro
Mi amigo se preguntaba si podríamos cambiar color a mostrar cambio óptimo en su coche como en las carreras de arrastre NFS.Este código utiliza sólo potenciómetro para cambiar el color del LED basado en los valores. Pero LEDS RGB puede ser utilizado para más cosas pero engancha hasta las fuentes de entrada correcto. Si usted podría conseguir un mapa RPM, relación de transmisión y par motor de su coche, podría programar el circuito para la luz verde para RPM correcto o pensar en más cosas interesantes. Mientras tanto sólo descargar y ejecutar este programa a su imaginario gire.
Código comienza aquí
/ * Cambia el color de un LED RGB basado en potenciómetro
Creado: Ravi Kanth Kosuru
Fecha: 28/12/2013 * /
rPin int = 13;
gPin INT = 12;
bPin int = 8;
switchCase int = 0;
int pot = A0;
int gButton = 7;
bButton int = 2;
char el rVal, gVal, bVal;
void setup()
{
pinMode (rPin, salida);
pinMode (gPin, salida);
pinMode (bPin, salida);
pinMode (pot, INPUT_PULLUP);
pinMode (gButton, INPUT_PULLUP);
pinMode (bButton, INPUT_PULLUP);
Serial.Begin(9600);
}
void loop()
{
Valores del potenciómetro se dividen por 4 para obtener un rango menor
int potValue = analogRead (olla) / 4;
Serial.println(potValue);
Empieza con el azul para valores por debajo de 100 y rojo para valores superiores a 15
Podría ser utilizado para ajustes óptimos con
Verde entre 115-145. Valores antes y después de zonas verdes cambian de color
para mostrar condiciones de límite para los valores óptimos
Si (potValue > 0 & & potValue < 100) {}
switchCase = 0;
}
else if (potValue > = 100 & & potValue < 115) {}
switchCase = 1;
}
else if (potValue > = 115 & & potValue < 135) {}
switchCase = 2;
}
else if (potValue > = 135 & & potValue < 150) {}
switchCase = 1;
}
Else {}
switchCase = 4;
}
{Switch(switchCase)}
caso 0:
setColour (alto, alto, bajo);
rotura;
caso 1:
setColour (LOW, bajo, bajo);
rotura;
caso 2:
setColour (alta, baja, alta);
rotura;
caso 4:
setColour (baja, alta, alta);
rotura;
}
}
void setColour (char rojo, verde de char, char azul)
{
digitalWrite (rPin, rojo);
digitalWrite (gPin, verde);
digitalWrite (bPin, azul);
}
//Code termina aquí