Enkla RGB LED Tutorial(Digital Colour Mixer and Controlling using Potentiometer) (4 / 4 steg)
Steg 4: Ändra färg med Potentiometer
Min kompis undrar om vi kan ändra färg för att Visa optimal växelspak på sin bil som i NFS dra tävlingar.Denna kod använder bara potentiometer för att ändra färgen på lysdioden baserat på värden. Men RGB LEDS kan användas för coolare grejer men ansluter den till rätt ingångskälla. Om du kunde få en varvtal, utväxling och vridmoment karta över din bil, kan du programmera kretsen att lysa grönt för att rätt RPM eller tänka på mer saker. Under tiden bara ladda ner och kör det här programmet att vända ditt imaginära knopp.
Koden börjar här
/ * Ändrar färgerna i en RGB LED-baserade på potentiometer
Skapad: Ravi Kristian Kosuru
Datum: 28/12/2013 * /
int annapetrovic = 13.
int gPin = 12;
int bPin = 8;
int switchCase = 0;
int pot = A0;
int gButton = 7.
int bButton = 2;
char rVal, gVal, bVal;
void setup()
{
pinMode (annapetrovic, produktionen);
pinMode (gPin, produktionen);
pinMode (bPin, produktionen);
pinMode (kruka, INPUT_PULLUP);
pinMode (gButton, INPUT_PULLUP);
pinMode (b-knappen, INPUT_PULLUP);
Serial.BEGIN(9600);
}
void loop()
{
Dividera Potentiometer värden av 4 att få en mindre yta
int potValue = analogRead (kruka) / 4;
Serial.println(potValue);
Börjar med blå för värden under 100 och rött för värden över 15
Skulle kunna användas för att mappa optimala inställningar med
Grön mellan 115-145. Värden före och efter gröna zoner ändrar färg
Visa gränsen villkor för optimala värden
om (potValue > 0 & & potValue < 100) {
switchCase = 0;
}
annars om (potValue > = 100 & & potValue < 115) {
switchCase = 1;
}
annars om (potValue > = 115 & & potValue < 135) {
switchCase = 2;
}
annars om (potValue > = 135 & & potValue < 150) {
switchCase = 1;
}
annat {
switchCase = 4;
}
Switch(switchCase) {
fall 0:
setColour (hög, hög, låg);
bryta;
fall 1:
setColour (låg, låg, låg);
bryta;
fall 2:
setColour (HIGH, LOW, HIGH);
bryta;
fall 4:
setColour (låg, hög, hög);
bryta;
}
}
void setColour (char röd, char grön, char blå)
{
digitalWrite (annapetrovic, röd);
digitalWrite (gPin, grön);
digitalWrite (bPin, blå);
}
//Code slutar här