1.4 Votre premier programme Arduino : Blink !

Maintenant que vous avez installé l’IDE Arduino sur votre PC vous êtes prêt à téléverser votre premier programme !

Pour ce faire vous n’aurez besoin d’aucun matériel supplémentaire. En effet le seul matériel nécessaire pour cette partie est le PC avec l’IDE Arduino installé, une Arduino (UNO, NANO, ou MEGA2560) et de quoi relier les 2 en USB. C’est tout ce qu’il vous faudra pour réaliser votre tout premier programme Arduino : Le fameux « Blink  » ( qui se traduit par « clignoter » pour les non anglophones ). Comme son nom l’indique ce programme consistera à faire simplement clignoter une led qui se trouve sur votre carte Arduino !
En effet les cartes Arduino possèdent une led reliée au pin digital 13 et que l’on peut utiliser sans aucune manipulation coté électronique. Cette led permet donc de très facilement et très rapidement vérifier qu’une carte Arduino fonctionne bien, et que vous êtes capable de la programmer.

Voici le programme en question, jetez  y un œil  et essayer de comprendre à quoi sert chaque ligne :

// Blink : votre premier programme <-- Ceci est un commentaire comme tout ce qui est précedé par '//'
// Blink permet de faire clignoter la led présente sur la pin 13 d'une arduino
// Les commentaires explicatifs ont été rédigés par jekert et mike118 en 2016
// Les commentaires sont là pour faciliter la compréhension, ils ne sont pas éxécuté dans le programme
// Ils ne sont donc pas nécéssaire dans un programme mais sont fortement conseillés.

// La fonction setup() est une fonction qui ne s'exécute qu'une fois au démarrage de la carte arduino elle permet de faire les initialisations
void setup() 
{ 
    //On initilise le pin 13 qui est associé à la LED en sortie pour pouvoir l'allumer et l'éteindre
    pinMode(13, OUTPUT); 
} //Fin de la fonction setup()

//La fonction loop() se répète à l'infini une fois la fonction setup() exécutée
void loop() 
{

  digitalWrite(13,HIGH); //Place le pin digital 13 à l'état HAUT (5V) -> Led allumée
  delay(500); //Met en pause le programme pendant la valeur de 500 en ms

  digitalWrite(13,LOW); //Place le pin digital 13 à l'état BAS (0V) -> Led éteinte
  delay(500); //Met en pause le programme pendant la valeur de 500 en ms
} // Fin de la fonction loop() => on retourne au début de la fonction loop()
Blink

 

Si ce n’est pas encore fait, lancez l’IDE Arduino, vous pouvez alors copier le code ci-dessus et le coller dans votre fenêtre pour obtenir cela.

programme V0

Vous noterez que des commentaires apparaissant en gris sont présents dans ce code afin d’en faciliter la compréhension. C’est une bonne habitude à prendre que de commenter son code. Cela le rend plus claire et plus facilement compréhensible.

Je pense que sans ajouter plus d’explication à ce code vous aurez compris :

  • Comment on met des commentaires
  • A quoi sert la fonction setup
  • Comment s’exécute la fonction loop
  • Sur quel pin est branché la LED de la carte Arduino
  • Comment on initialise la pin pour pouvoir jouer avec la led
  • Comment on allume et éteint la led
  • Et ce que permet de faire la fonction delay

Du coup, connectez votre carte, vérifiez que le bon port est sélectionné, téléversez le programme ( cliquez sur le symbole de flèche qui pointe vers la droite, présent en haut à gauche )  et observez le résultat !

Si tout se passe bien et comme vous l’aurez compris en lisant le code et les commentaires vous allez voir une led sur votre carte arduino qui devrait clignoter une fois par seconde, comme sur le GIF ci-contre :

blink

Vous pouvez maintenant modifier par vous-même ce programme en modifiant les valeurs 500 par des valeur de votre choix. Modifiez téléversez le programme et regardez comment la led clignote !
Maintenant si vous voulez aller un peu plus loin il est important d’apprendre quelques notions supplémentaires histoire de rapidement prendre les bonnes habitudes dès le départ.

Voici un code qui fait la même chose avec en plus l’utilisation de ce qu’on appelle des define qui se définissent en haut du programme avant les fonctions setup et loop .

// Blink avec #define
// Pour prendre les bonnes habitudes dès le départ

#define LEDPIN 13 //Associe 13 au mot " LEDPIN " dans le programme 
//ce qui a pour conséquence de tout simplement remplacer tout les LEDPIN dans le programme par  13.


#define PAUSEON 500 //Associe 500 à PAUSEON.

#define PAUSEOFF 500// Associe 500 à PAUSEOFF

void setup() { 

pinMode(LEDPIN, OUTPUT); //Déclare le numéro de pin associé à LEDPIN comme une sortie = pinMode(13, OUTPUT);

} 

void loop() { 

digitalWrite(LEDPIN,HIGH); //Place le pin digital 13 à l'état HAUT (5V) -> Led allumée
delay(PAUSEON); //Met en pause le programme pendant la valeur de PAUSEON en ms

digitalWrite(LEDPIN,LOW); //Place le pin digital 13 à l'état BAS (0V) -> Led éteinte
delay(PAUSEOFF); //Met en pause le programme pendant la valeur de PAUSEOFF en ms
}
Blink avec #define

L’utilisation des define permet de n’avoir à effectuer des modifications de valeurs  qu’à un seul endroit
au lieu de trois fois dans ce cas si vous souhaitez changer 13 par 12 par exemple.
Juste en écrivant #define LEDPIN 12 en lieu et place de #define LEDPIN 13

De plus le code est ainsi beaucoup plus  » propre » et on comprend plus facilement l’utilisation des valeurs si on met des noms cohérents aux define.
Exemple : Pour  LEDPIN on comprend facilement que c’est le numéro du pin qui est relié à une led.

Enfin il est préférable de noter les define en majuscule afin de facilement les reconnaître dans votre code et du coup de facilement savoir où les modifier.  ( en haut de votre programme car ce sont des define !  😉 )

Bon faire clignoter des leds c’est bien, ça va cinq minutes mais rassurez l’Arduino peut faire bien plus que ça ! Vous pouvez facilement lui parler et elle peut facilement vous répondre, ou plus précisément vous pouvez vous écrire à travers ce qu’on appel le moniteur série !  La suite donc au prochain épisode ! ;).

<- Retourner à la page précédente | Passer à la page suivante ->

4 réflexions sur « 1.4 Votre premier programme Arduino : Blink ! »

  1. frequence : 2hz = delay :
    frequence : 3hz = delay :
    frequence : 4hz = delay :
    frequence : 5hz = delay :
    frequence : 25hz = delay :
    frequence : 40hz = delay :
    je veux juste connaitre le delay pour ces frequences .

    1. Si vous souhaitez une led qui clignote 2 fois par secondes, avec un temps égal pour les états allumé et éteint:
      Il faudra 2 temps allumés et 2 temps éteint, soit 4 temps.
      1 secondes c’est 1000 ms.
      si 4 temps = 1000 ms, 1 temps = 250 ms .
      Pour pour 2 Hz le delay est de 250.

      Pour 3 hz le delay sera d’environ 333 ms.

      Pour 4 hz : 125

      Pour 5 hz :100

      Pour 25 hz : 20

      Pour 40 hz : eniron 12

      Nous vous invitons à poser vos questions directement sur la partie forum https://www.robot-maker.com/forum pour ce genre de question à l’avenir.

Répondre à david sadi Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *