L'environnement Arduino a su se rendre très populaire au cours des 10 dernières années et doit cette popularité à une approche tendant à rendre la programmation assez facile grâce une communauté très active ayant contribuée au développement de nombreuses bibliothèques.
Cette facilité apparente repose très souvent sur des batteries d'exemples qui donnent l'illusion de savoir. Qu'en est-il en revanche dès qu'il faut aller au delà des exemples fournis avec les bibliothèques ? Au sortir des sentiers battus, on se rend vite compte qu'il faut également disposer de bases en programmation pour résoudre des problèmes plus complexes auxquels les exemples ne répondent évidemment pas.
L'enjeu de la séquence de cours qui suit consiste donc à étudier différents aspects de l'informatique embarquée à la sauce Arduino tout en fournissant de bonnes bases pour la programmation en C voire C++ avec l'objectif d'être autonome dès lors que les exemples s'avèrent insuffisants pour répondre à une problèmatique plus étendue.
Toutes les leçons proposées dans ce cours reposent sur l'usage d'un kit comprenant une carte Arduino Uno et tout un ensemble de composants tels que plaquettes de tests, résistance, LED, poussoir, capteurs, actionneurs ... Vous pouvez vous procurer ce matériel directement sur Amazon en cliquant sur l'image ci-dessous :
Et pour voir la vidéo d'introduction de cette future longue série :
On aborde ici la structure d'un programme Arduino en répondant à la question : mais où est passée la fonction main() ?
On s'intéresse ensuite aux différents types de variables en C (entiers, réels, caractères), à leur déclaration, leur portée en illustrant clairment le mécanisme de création/destruction/conservation des variables. Noter que le mot clé static fait l'objet d'une attention toute particulière dans cette partie.
On poursuit l'étude des bases du langage C++ avec les conditions et les structures alternatives (conditionnelles) : qu'est-ce qu'une condition ? Quels opérateurs utilisés pour l'écrire ? Quelle valeur renvoie-t-elle ? Vous trouverez toutes les réponses dans la vidéo qui suit et, juste en dessous, le code utilisé pour illustrer tout cela.
void setup() {
int a = 3, b = 4;
Serial.begin(115200);
Serial.println((a==3)?"a est égal à 3":"a est différent de 3");
Serial.println("Avant : a=" + String(a) + " et b=" + String(b));
if (a == b)
Serial.println("La condition " + String(a) + "==" + String(b) + " est vraie");
else
Serial.println("La condition " + String(a) + "==" + String(b) + " est fausse");
Serial.println("Après : a=" + String(a) + " et b=" + String(b));
int a_avant = a;
if (a = b)
Serial.println("La condition " + String(a_avant) + "=" + String(b) + " est vraie");
else
Serial.println("La condition " + String(a_avant) + "=" + String(b) + " est fausse");
Serial.println("Après : a=" + String(a) + " et b=" + String(b));
if (1) Serial.println("1 est vu comme une condition vraie");
else Serial.println("1 est vu comme une condition fausse");
if (-1) Serial.println("-1 est vu comme une condition vraie");
else Serial.println("-1 est vu comme une condition fausse");
if (0) Serial.println("0 est vu comme une condition vraie");
else Serial.println("0 est vu comme une condition fausse");
if (10) Serial.println("10 est vu comme une condition vraie");
else Serial.println("10 est vu comme une condition fausse");
}
void loop() {
}
Vous pouvez contribuer par vos dons (1€, 5€, 10€ ou au choix) au développement de nouveaux tutoriaux nécéssitant d'investir dans du matériel spécifique, de financer la fabrication de circuits imprimés permettant d'illustrer certains aspects théoriques et pratiques...
Vous avez un compte PayPal ? Faites votre don en évitant les frais PayPal :
Vous n'avez pas de compte PayPal, cliquez sur le bouton ci-dessous :