0% ont trouvé ce document utile (0 vote)
2 vues4 pages

DocTD1 Arduino

Le document décrit plusieurs concepts de programmation en Arduino, notamment la fonction map() pour convertir des valeurs proportionnellement entre deux plages, la structure de contrôle switch/case pour choisir entre plusieurs blocs d'instructions, et la fonction millis() qui retourne le temps écoulé depuis le démarrage du programme. Il explique également le mot-clé void pour déclarer des fonctions qui n'ont pas de valeur de retour. Ces éléments sont essentiels pour la gestion des données et le contrôle du flux dans les programmes Arduino.

Transféré par

aitmokhtar.yanis12
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues4 pages

DocTD1 Arduino

Le document décrit plusieurs concepts de programmation en Arduino, notamment la fonction map() pour convertir des valeurs proportionnellement entre deux plages, la structure de contrôle switch/case pour choisir entre plusieurs blocs d'instructions, et la fonction millis() qui retourne le temps écoulé depuis le démarrage du programme. Il explique également le mot-clé void pour déclarer des fonctions qui n'ont pas de valeur de retour. Ces éléments sont essentiels pour la gestion des données et le contrôle du flux dans les programmes Arduino.

Transféré par

aitmokhtar.yanis12
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Fonction map()

La fonction map() permet de convertir une valeur d’une plage de départ vers une plage
d’arrivée de manière proportionnelle.

Syntaxe
map(valeur, de_borne_inf, de_borne_sup, vers_borne_inf, vers_borne_sup);

Principe
Elle prend une valeur qui se trouve dans l’intervalle [de_borne_inf, de_borne_sup] et la projette
linéairement dans l’intervalle [vers_borne_inf, vers_borne_sup].

Formule mathématique appliquée :


résultat = (valeur - de_borne_inf) * (vers_borne_sup - vers_borne_inf) / (de_borne_sup -
de_borne_inf) + vers_borne_inf

Caractéristiques importantes
 Travaille uniquement avec des entiers (long en interne). Le résultat est un entier
(troncature, pas d’arrondi).
 Utile pour convertir une lecture analogique (0–1023) en pourcentage (0–100), en angle (0–
180), en tension (0–5000 mV), etc.
 Ne modifie pas la valeur d’origine, elle renvoie une nouvelle valeur.

Structure de contrôle : switch / case


Le switch est une structure de contrôle qui permet de choisir entre plusieurs blocs d’exécution
selon la valeur d’une variable (entière ou caractère). C’est une alternative plus lisible qu’une
longue série de if...else if.

Syntaxe
switch (variable) {
case valeur1:
// instructions si variable == valeur1
break;
case valeur2:
// instructions si variable == valeur2
break;
// … autres cas
default:
// instructions si aucune correspondance
break;
}
Points clés
 break : sort du switch ; sans lui, l’exécution continue au case suivant (effet fall-through).
 default : optionnel, exécuté si aucun case ne correspond.
 La variable testée doit être de type entier (int, char, byte, etc.) ou énumération.
L'instruction « millis() » en Arduino

millis() est une fonction qui retourne le temps écoulé depuis le démarrage du programme (mise
sous tension ou reset), en millisecondes.

Caractéristiques principales :

Élément Description
Type de retour `unsigned long` (entier non signé sur 32 bits)
Valeur maximale Environ 49,7 jours (au-delà, elle revient à 0)
Précision 1 milliseconde
Paramètres Aucun

Exemple simple :
unsigned long tempsDepart = millis(); // stocke l'instant présent
```

Utilisation typique (chronométrage sans `delay()`) :


unsigned long precedent = 0;
const long intervalle = 1000; // 1 seconde

void loop() {
if (millis() - precedent >= intervalle) {
precedent = millis();
// Faire quelque chose toutes les secondes
digitalWrite(13, !digitalRead(13)); // clignote sans bloquer
}
// Autres tâches exécutées normalement ici
}

Avantage majeur :
Permet de gérer des temporisations sans bloquer le programme (contrairement à `delay()` qui
stoppe tout pendant la pause).
void maFonction()

En programmation Arduino (qui est basée sur C++), le mot-clé void sert à déclarer
qu'une fonction ne retourne aucune valeur.

void maFonction() {
// du code ici
// pas de "return" nécessaire
}

Une fonction void peut :

 Exécuter des instructions


 Modifier des variables
 Appeler d'autres fonctions

Mais elle ne peut pas renvoyer de résultat utilisable comme une valeur.

Exemple correct :

void allumerLED() {
digitalWrite(13, HIGH); // action, pas de retour
}

Vous aimerez peut-être aussi