Étape 4: Changement de couleur à l’aide du potentiomètre
Mon ami se demandait si on pouvait changer de couleur pour montrer le changement de vitesse optimale sur sa voiture comme dans les courses de drag NFS.Ce code utilise juste potentiomètre pour changer la couleur de la LED, basée sur les valeurs. Mais RGB LEDS peut être utilisé pour les trucs plus froide mais brancher à des sources d’entrée correctes. Si vous pouviez obtenir une carte t/mn, rapport de vitesse et le couple de votre voiture, vous pourriez programmer le circuit s’allument en vert pour ce bon tr/min ou réfléchir de plus de trucs cool. Pendant ce temps, juste télécharger et exécuter ce programme à tourner votre imaginaire.
Code commence ici
/ * Change la couleur d’une LED RGB issu du potentiomètre
Créé : Ravi Khalil Kosuru
Date : 28/12/2013 * /
rPin int = 13 ;
int gPin = 12 ;
int bPin = 8 ;
switchCase int = 0 ;
pot d’int = A0 ;
int gButton = 7 ;
int bButton = 2 ;
rval pointe char, gVal, bVal ;
void setup()
{
pinMode (rPin, sortie) ;
pinMode (gPin, sortie) ;
pinMode (bPin, sortie) ;
pinMode (pot, INPUT_PULLUP) ;
pinMode (gButton, INPUT_PULLUP) ;
pinMode (bButton, INPUT_PULLUP) ;
Serial.Begin(9600) ;
}
void loop()
{
Diviser des valeurs potentiomètre par 4 pour obtenir une plage plus petite
int potValue = analogRead (pot) / 4 ;
Serial.println(potValue) ;
Commence avec le fil bleu pour les valeurs inférieures à 100 et rouge pour les valeurs supérieures à 15
Pourrait être utilisé pour mapper les paramètres optimaux avec
Verte entre 115-145. Les valeurs avant et après que les zones vertes changent de couleur
pour montrer les conditions de limite pour des valeurs optimales
Si (potValue > 0 & & potValue < 100) {}
switchCase = 0 ;
}
ElseIf (potValue > = 100 & & potValue < 115) {}
switchCase = 1 ;
}
ElseIf (potValue > = 115 & & potValue < 135) {}
switchCase = 2 ;
}
ElseIf (potValue > = 135 & & potValue < 150) {}
switchCase = 1 ;
}
else {}
switchCase = 4 ;
}
{Switch(switchCase)}
case 0 :
setColour (haut, haut, bas) ;
rupture ;
cas 1 :
setColour (bas, bas, bas) ;
rupture ;
cas 2 :
setColour (haut, bas, haut) ;
rupture ;
cas 4 :
setColour (bas, haut, haut) ;
rupture ;
}
}
void setColour (char rouge, vert de char, char bleu)
{
digitalWrite (rPin, rouge) ;
digitalWrite (gPin, vert) ;
digitalWrite (bPin, bleu) ;
}
//Code se termine ici