Maintenant que le montage est bon on passe au code.
Ce que je fais en premier c’est de définir les numéros de pin utilisé par arduino , la zone 1 sert à définir des variables que vous allez pouvoir utiliser dans votre programme, ainsi qu’appeler des librairies mais on verra cela dans un autre tutoriel.
Je commence par les led , les numéros de nos pin sont des entiers et de plus des constantes (ne change pas)
Je le nomme facilement pour m’en rappeler
const int pinLed1a=10;
Je défini aussi ma led 2
const int pinLed2a=7;
Les boutons aussi même principe
const int pinBouton1=4;
const int pinBouton2=3;
La zone 2 zone setup , est la zone d’initialisation. Ici on va définir le mode des pin de notre arduino ( on peut aussi exécuter du code) c’est une zone dédiée a l’initialisation .
On définit les pin avec l’instruction pinMode() , il faut faire attention à la majuscule sur le M.
Dans ma parenthese en premier le numéro du pin que l’on a définit ,puis le type de pin que l’on choisi donc ici notre led1 est branchée sur le pin 10 et est en mode OUTPUT ce qui veut dire que l’on envoie des informations par cette broche donc on écrit :
pinMode(pinLed1a,OUTPUT);
On aurait put ecrire pinMode(10,OUTPUT); mais comme on a définit la valeur 10 dans la constante pinLed1a on récupère cette information et on pourra l’utiliser plus tard .
Il est plus facile de ce rappeler d’un nom de variable que de se rappeler d’un numéro surtout quand vous en avec beaucoup.
On fait de même avec la led 2 pinMode(pinLed2a,OUTPUT);
Passons aux boutons, même principe pour le numéro de pin mais ici le mode est INPUT ce qui veut dire que l’on récupère de l’information par cette broche donc on écrit :
pinMode(pinBouton1,INPUT);
pinMode(pinBouton2,INPUT);
Et comme dans mon programme a l’initialisation je souhaite allumer la led 1 j’inscris l’instruction
digitalWrite(pinLed1a,HIGH); ce qui correspond a dire met un état haut (5V) sur le pin pinLed1a , cela peut s’écrire digitalWrite(10,HIGH); comme précédemment .
Avant de terminer avec la zone 2 je vais rajouter l’instruction Serial.begin(9600); qui va vous permettre de récupérer des informations de l’arduino par le port serie (USB) et ainsi de comprendre ce qui se passe dans l’arduino et éventuellement déboguer votre programme ( très utile quand votre programme devient complexe )
On en a fini avec la zone 2 de setup, passons a la zone 3 .
Zone de loop , notre arduino va boucler indéfiniment à l’intérieur de la boucle.
Notre programme doit lire l’état des boutons et appliquer un changement si la condition est vraie.
Pour lire l’état d’une pin on utilise l’instruction digitalRead(pinBouton1) et comme on veut contrôler si cet état est à l’état haut (HIGH) on écrira:
if(digitalRead(pinBouton1) == HIGH){ }
IF peut être traduit par SI la broche du bouton 1 est égal a l’état haut alors on exécute tout ce qu’il y a dans les { }
A l’intérieur de notre condition on doit allumer la led 1 ( HIGH ) et éteindre la led 2 (LOW) ce qui nous donne
digitalWrite(pinLed1a,HIGH);
digitalWrite(pinLed2a,LOW);
Je rajoute quelques instructions pour écrire sur le port série des informations, ici j’écris que j’allume la led 1, et je reviens a la ligne. J’utilise l’instruction Serial pour utiliser le port serie et print pour écrire quelque chose car on peut aussi en lire ( read ).J’écris aussi « rn » pour revenir a la ligne.
Serial.print(« Feu 1 allume »);
Serial.print(« rn »);
On en a fini avec l’instruction pour le bouton 1, je vous laisse écrire les lignes de code pour le bouton 2 cela va vous permettre de savoir si vous avez compris le fonctionnement.
Télécharger le code arduino partiel ou le complet pour correction
Pour la zone 4 on le verra plus tard mais nous allons pouvoir créer des fonctions que nous allons pouvoir appeler dans la zone 2 ou 3.
On en a fini avec ce premier tutoriel, dans le prochain nous allons parler des timer et du fait de rajouter des temps d’arrêt .
J’allais oublier vous pouvez regarder le moniteur série dans votre programme arduino pour visualiser ce qu’il s’y passe.
N’hésitez pas à poser vos questions sur les réseaux sociaux de la chaîne, si vous ne comprenez pas certaines parties du tutoriel, de me dire ce que vous aimeriez que je crée pour en faire des vidéos tutoriel ,à partager les projets que vous aimeriez créer etc…
Comme toujours allez sur la page de C’est quoi Retro et Geek de mon site pour connaître tout ce que je recherche à faire sur la chaîne.
Merci les RetroGeeker et RetroGeekeuse