Exploiter une entrée analogique - Commander l'intensité lumineuse de la DEL à l'aide d'un potentiomètre
Objectif
On souhaite commander l'intensité lumineuse de la DEL à l'aide d'un potentiomètre en exploitant une entrée analogique de la carte Arduino.
La DEL est connectée à la sortie numérique n°3 et le curseur du potentiomètre est relié à l'entrée analogique A0.
On exploite ici la lecture d'une entrée analogique et la modulation d'une sortie numérique.
Méthode : Le programme commenté
On note en particulier la conversion de la valeur lue sur l'entrée A0 qui peut varier entre 0 et 1023 en une valeur comprise entre 0 et 255 afin de régler le niveau de luminosité de la DEL. Cette conversion peut être faite par un calcul dans le programme ou en utilisant la fonction map ci-dessous qui effectue le changement d'échelle.
niveau=map(analogRead(A0),0,1023,0,255);
La fonction map renvoie nécessairement un entier. Elle est à proscrire quand une plus grande précision est nécessaire (mesure d'une tension, par exemple).
int pinLed = 3;//Numéro de la sortie numérique alimentant la DEL
int niveau;//Variable réglant la luminosité de la DEL
void setup() {
// put your setup code here, to run once:
pinMode(pinLed, OUTPUT);//L'E/S est utilisée en SORTIE
}
void loop() {
// put your main code here, to run repeatedly:
niveau = map(analogRead(A0), 0, 1023, 0, 255);
/*
Le rapport cyclique de la sortie numérique est ajustable
sur 256 niveaux.
Le convertisseur analogique/numérique de l'arduino en A0
convertit la tension lue en 1024 niveaux possibles.
La fonction map adapte les deux échelles et stocke la valeur
dans la variable niveau
*/
analogWrite(pinLed, niveau);//On commande la sortie numérique avec le niveau correct
//Notez le analogWrite au lieu du digitalWrite qui ne permet que du tout ou rien
}
Testez ce programme :
Copiez le code dans une fenêtre de programmation.
Téléversez-le vers la carte et observez son fonctionnement.
Complément : Vitesse de clignotement variable
Modifier le programme précédent en exploitant à nouveau la fonction map pour faire clignoter la DEL à rythme ajustable par le potentiomètre.
Contrainte : le rythme de clignotement doit varier entre 100 ms et 1000 ms.