You are on page 1of 2

Activité pratique SIN

Lycée Joliot-Curie
Programmation Arduino (en langage C++) AP-IE06
Rennes
Programmation de base : boucle for

Merci de lire TOUT le sujet avant de commencer le travail.


Boucle for et affichage console.
Le but de cette activité est de mettre en œuvre la boucle for. Pour cela on lira la position du potentiomètre grâce
à la fonction analogRead() et on affichera un nombre d'étoiles proportionnel à la valeur lue. Cette affichage se
fera étoile par étoile dans une boucle for.

Matériel : Une carte Arduino Uno, une carte Base Grove, un potentiomètre.

La carte Arduino Uno et la carte Base Grove sont déjà assemblées. Connecter le potentiomètre sur le connecteur
A0.

Structure du programme à compléter :

//-------------------------------------
// AP-IE06 Programmation de base Zone de commentaires, sert à identifier le
// Boucle for et afficheur LCD programme.
//
// Nom :
// Date :
//-------------------------------------

const int POT_PIN = 0; Déclaration des constantes, ici la broche


const int NB_ETOILES_MAX = 16; utilisée et le nb d'étoiles maxi.
int pot_val = 0; Déclaration des variables globales, valeur du
int nb_etoiles = 0;
potentiomètre et nb d'étoiles à afficher.
void setup()
{ Fonction setup(), exécutée une seul fois. Sert à
Serial.begin(....); initialiser et configurer.
}

void loop()
{
pot_val = analogRead(....);
nb_etoiles = ....;
for (...; ...; ...) { fonction loop(), exécutée en boucle
// on affiche le étoile indéfiniment. C'est le cœur du programme.
............................;

}
Serial.println();
delay(100);
}

Pour visualiser le résultat attendu, regardez la vidéo AP-IE06.mp4 ou AP-IE06.MTS.

AP-IE06 Boucle for.odt Page 1


Que doit faire le programme ?
Fonction setup() :
1. Configurer le port série pour un affichage correct dans la console Arduino (speed = 9600).
Fonction loop() :
1. Fonction loop() : Lire la valeur du potentiomètre grâce à la fonction analogRead(), cette fonction revoie
un int compris entre 0 et 1023.
2. Calculer le nombre d'étoiles à afficher. Ce nombre est proportionnel à la valeur lu précédemment et doit
être compris entre 0 (potentiomètre tourné à fond à gauche) et NB_ETOILES_MAX (potentiomètre
tourné à fond à droite).
3. Afficher les étoiles une à une sur une seule ligne grâce à une boucle for.
Dans une première version , l'affichage se fera dans la console comme ci-dessous :

Ici on a tourné le potentiomètre de la valeur minimale à la valeur maximale.

Travail demandé :
1°) version 1 : Modifier et compléter le programme AP_IE06_prog_arduino_eleve_v1.ino pour que
l'affichage dans la console soit bien conforme à ce qui est demandé.

1°) version 2 : Modifier et compléter le programme


AP_IE06_prog_arduino_eleve_v2.ino pour que
l'affichage se fasse sur l'afficher LCD tel qu'il montré dans la
vidéo.

Il faudra installer les bibliothèques Wire et rgb_lcd (fichier


rgb_lcd.h et rgb_lcd.cpp).

Aide sur la fonction analogRead() :


https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/

Aide sur la fonction Serial.begin() :


https://www.arduino.cc/reference/en/language/functions/communication/serial/begin/

Aide sur les fonctions Serial.print() et Serial.println():


https://www.arduino.cc/reference/en/language/functions/communication/serial/print/
https://www.arduino.cc/reference/en/language/functions/communication/serial/println/

Aide sur l'utilisation de l'afficheur rgb_lcd :


https://wiki.seeedstudio.com/Grove-LCD_RGB_Backlight/

AP-IE06 Boucle for.odt Page 2

You might also like