Académique Documents
Professionnel Documents
Culture Documents
1. LES VARIABLES 2
EXERCICE 1 2
EXERCICE 2 2
EXERCICE 3 3
EXERCICE 4 5
EXERCICE 5 6
3. LA COMMUNICATION SERIE 7
EXERCICE 1 7
EXERCICE 2 7
EXERCICE 3 8
EXERCICE 4 8
EXERCICE 5 9
4. LES TABLEAUX 10
EXERCICE 1 10
EXERCICE 2 10
EXERCICE 3 10
EXERCICE 4 11
EXERCICE 5 11
5. LES FONCTIONS 12
EXERCICE 1 12
EXERCICE 2 12
EXERCICE 3 13
EXERCICE 4 14
EXERCICE 5 14
ecole-ingenieurs.cesi.fr
SEQUENCE 8 - CORBEILLE D’EXERCICES
1. LES VARIABLES
EXERCICE 1
EXERCICE 2
Quel est le type de variable le mieux adapté à chacune des situations suivantes sur Arduino ?
Une variable pouvant prendre les valeurs : 6, 64, 640, 6400, 64000
Un compteur pour parcourir tous les éléments d’un tableau de 100 réels
Récupérer la valeur de la fonction digitalread()
https://www.arduino.cc/reference/en/language/functions/digital-io/digitalread/
Récupérer le résultat de la division de 2 entiers compris entre 1 et 100 au dixième près.
Définir une variable contenant un numéro de broche de la carte Arduino
EXERCICE 3
void setup() {
Serial.begin(9600);
for (int pinNumber = 2; pinNumber < 5; pinNumber++) {
pinMode(pinNumber, OUTPUT);
digitalWrite(pinNumber, LOW);
}
}
void loop() {
int sensorVal = analogRead(sensorPin);
}
else if (temperature >= baselineTemp + 2 && temperature < baselineTemp + 4) {
pinWrite(HIGH, LOW, LOW);
}
else if (temperature >= baselineTemp + 4 && temperature < baselineTemp + 6) {
pinWrite(HIGH, HIGH, LOW);
}
else if (temperature >= baselineTemp + 6) {
pinWrite(HIGH, HIGH, HIGH);
}
delay(1);
}
EXERCICE 4
- Quelles seront les valeurs contenues dans les variables a et b après exécution des instructions
suivantes ?
int a = 5;
int b=0;
b = b + 4;
a = a + 1;
b = b – 4;
- Quelles seront les valeurs contenues dans les variables c et d après exécution des instructions
suivantes ?
int c,d;
c = 5;
d = 7;
c = d;
d = c;
- Quelles seront les valeurs contenues dans les variables e et f après exécution des instructions
suivantes ?
int e,f;
e = 6;
f = 9;
f + e;
e - 1;
- Quelles seront les valeurs contenues dans les variables g et h après exécution des instructions
suivantes ?
float g = 3.25;
float h = 1;
g = h + g;
h = g + h;
- Quelles seront les valeurs contenues dans les variables i et j après exécution des instructions
suivantes ?
boolean i=true;
boolean j=false;
if (j)
i = not(j);
else
j = i;
- Quelles seront les valeurs contenues dans les variables m et n après exécution des
instructions suivantes ?
int m = 5;
for (int n=0 ; n<10 ; n++){
m = m + 1;
}
EXERCICE 5
- Ecrire un programme qui tire 5 fois de suite au hasard une valeur comprise entre 0 et 100
et qui stocke dans une variable max la valeur maximum obtenue lors de ces 5 tirages.
3. LA COMMUNICATION SERIE
EXERCICE 1
EXERCICE 2
On affecte à une variable xxx une valeur aléatoire comprise entre -20 et 40 au début du programme.
Le programme affiche alors cette valeur dans une phrase. Puis selon la valeur de xxx, on affiche un
texte différent :
Si xxx est compris entre -20 et 0, on affiche : « Ca caille ! »
Si xxx est compris entre 0 et 20 , on affiche : « Ni chaud ni froid. »
Si xxx est compris entre 20 et 40, on affiche : « Ca crame ! »
Exemple :
EXERCICE 3
Soit le code :
void setup()
{
Serial.begin(9600);
}
void loop()
{
char i = 0;
char lettre = 'a';
delay(5000);
}
EXERCICE 4
L’utilisateur saisit un nombre dans la console. Le programme affiche alors le double du nombre saisi.
EXERCICE 5
Ecrire un programme qui tire une valeur aléatoire comprise entre 0 et 100 et qui la stocke dans la
variable mystere.
- Si le nombre saisi est plus petit que le nombre mystère, le programma affiche « plus
grand mon grand ! »
- Si le nombre saisi est plus grand que le nombre mystère, le programme affiche « plus petit
mon petit ! »
- Si les 2 nombres sont égaux, le programme affiche « bravo ! »
4. LES TABLEAUX
Les programmes demandés ici ne seront exécutés qu’une seule fois. Vous pouvez donc les
implémenter dans la fonction setup() de votre programme Arduino.
EXERCICE 1
EXERCICE 2
Créer un tableau d’entiers à 1 dimension contenant 30 valeurs aléatoires comprises entre 1 et 100.
https://www.arduino.cc/reference/en/language/functions/random-numbers/random/
EXERCICE 3
Ecrire les instructions permettant de vérifier si les valeurs du tableau sont triées par ordre croissant.
EXERCICE 4
Créer un tableau d’entiers à 1 dimension contenant 30 valeurs aléatoires comprises entre 1 et 100.
Ecrire les instructions permettant de vérifier si une valeur saisie par l’utilisateur est présente dans le
tableau. Le programme affichera la position de l’élément dans le tableau.
EXERCICE 5
float t[3][4] ;
Ecrire les instructions permettant de calculer, dans une variable, la somme des éléments de t.
5. LES FONCTIONS
EXERCICE 1
Ecrire une fonction nommée Affichage qui ne prend aucun paramètre et qui ne renvoie aucune
valeur. La fonction affichera simplement « geek inside ».
EXERCICE 2
Soit le code :
int x=54;
int y=67;
void setup(){
void loop()
{
EXERCICE 3
Modifier le code suivant en créant une fonction calcul qui réalise l’opération permettant d’obtenir
un résultat en fonction de 3 paramètres.
int x=12;
int y=89;
int z=56;
void setup(){
int resultat1, resultat2, resultat3;
resultat1 = x+y;
if (resultat1 > z)
resultat1 = x+y-z;
else
resultat1 = z-x-y;
resultat2 = x+z;
if (resultat2 > y)
resultat2 = x+z-y;
else
resultat2 = y-x-z;
resultat3 = y+z;
if (resultat3 > x)
resultat3 = y+z-x;
else
resultat3 = x-y-z;
}
void loop(){
}
EXERCICE 4
Pour chacune des fonctions prédéfinies suivantes, indiquer le nom, le type de retour et la liste de
paramètres attendus :
- delay
- digitalRead
- setup
- loop
- analogRead
- pinmode
EXERCICE 5
Ecrire le programme complet permettant de faire clignoter les LEDS en faisant appel aux fonctions
précédentes. Vous choisirez le rythme du clignotement.