Étape 5: Code
Code dérivé de http://owenmundy.com/blog/2010/05/fading-an-led-with-pwm-and-a-potentiometer/int RpotPin = 0 ; Broche d’entrée analogique auquel est attaché le potentiomètre rouge
int RpotValue = 0 ; valeur lue dans le pot
int GpotPin = 1 ; Broche d’entrée analogique auquel est attaché le potentiomètre vert
int GpotValue = 0 ; valeur lue dans le pot
int BpotPin = 2 ; Broche d’entrée analogique auquel est attaché le potentiomètre bleu
int BpotValue = 0 ; valeur lue dans le pot
int Rled = 9 ; Goupille PWM que la LED rouge est allumée.
int Gled = 10 ; Goupille PWM que le voyant vert s’allume.
int Bled = 11 ; Goupille PWM que le voyant bleu s’allume.
/*
Le circuit :
* Broche LCD RS à la broche numérique 13
* Écran LCD Enable broche à broche numérique 12
* LCD D4 broche à broche numérique 5
* LCD D5 broche à broche numérique 4
* LCD D6 broche à broche numérique 3
* LCD D7 broche à broche numérique 2
* LCD R/W pin au sol
* Résistance de K 10 :
* se termine à + 5V et la masse
* essuie-glace à LCD VO broche (3)
*/
inclure le code de bibliothèque :
#include < LiquidCrystal.h >
initialiser la bibliothèque avec les numéros des broches interface
Innovente lcd (13, 12, 5, 4, 3, 2) ;
void setup() {}
déclarer la Red, Green et Blue led épingles comme une sorties :
pinMode (Rled, sortie) ;
pinMode (Gled, sortie) ;
pinMode (Bled, sortie) ;
mis en place nombre de l’écran LCD de colonnes et de lignes :
LCD.Begin (16, 2) ;
Imprimer un message à l’écran LCD.
LCD.Print ("rouge vert bleu") ;
}
void loop() {}
RpotValue = analogRead(RpotPin) ; lire la valeur du pot
analogWrite (Rled, RpotValue/4) ; PWM la LED rouge avec la valeur du pot (divisée par 4 pour s’adapter à un octet)
Delay(10) ; attendre 10 millisecondes avant la prochaine boucle
GpotValue = analogRead(GpotPin) ; lire la valeur du pot
analogWrite (Gled, GpotValue/4) ; PWM le LED vert avec la valeur du pot (divisée par 4 pour s’adapter à un octet)
Delay(10) ; attendre 10 millisecondes avant la prochaine boucle
BpotValue = analogRead(BpotPin) ; lire la valeur du pot
analogWrite (Bled, BpotValue/4) ; PWM la LED bleue avec la valeur du pot (divisée par 4 pour s’adapter à un octet)
Delay(10) ; attendre 10 millisecondes avant la prochaine boucle
régler le curseur sur la colonne 0, ligne 1
(Remarque : la ligne 1 est la seconde ligne, puisque le décompte commence par 0) :
lcd.setCursor (0, 1) ;
LCD.Print(RpotValue/4) ;
Delay(140) ;
lcd.setCursor (6, 1) ;
LCD.Print(GpotValue/4) ;
Delay(140) ;
lcd.setCursor (12, 1) ;
LCD.Print(BpotValue/4) ;
Delay(140) ;
}