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.

Commander l'allumage d'une DEL à l'aide d'un potentiomètreInformations[1]

MéthodeLe 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.

1
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).

1
int pinLed = 3;//Numéro de la sortie numérique alimentant la DEL
2
int niveau;//Variable réglant la luminosité de la DEL
3
void setup() {
4
  // put your setup code here, to run once:
5
  pinMode(pinLed, OUTPUT);//L'E/S est utilisée en SORTIE
6
}
7
8
void loop() {
9
  // put your main code here, to run repeatedly:
10
  niveau = map(analogRead(A0), 0, 1023, 0, 255);
11
  /*
12
  Le rapport cyclique de la sortie numérique est ajustable
13
  sur 256 niveaux.
14
  Le convertisseur analogique/numérique de l'arduino en A0
15
  convertit la tension lue en 1024 niveaux possibles.
16
  La fonction map adapte les deux échelles et stocke la valeur
17
  dans la variable niveau
18
  */
19
  analogWrite(pinLed, niveau);//On commande la sortie numérique avec le niveau correct
20
  //Notez le analogWrite au lieu du digitalWrite qui ne permet que du tout ou rien
21
  }

Testez ce programme :

  • Copiez le code dans une fenêtre de programmation.

  • Téléversez-le vers la carte et observez son fonctionnement.

ComplémentVitesse 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.