Faire clignoter la LED embarqué
Pour permettre de valider l’environnement de compilation de la carte Arduino Mega 2560, le plus simple est d’écrire un petit programme faisant clignoter la LED embarquée.
La LED embarquée est routée sur l’entrée/sortie numérique 13 de la carte Arduino Mega 2560.
Vous allez tout d’abord ajouter une ligne à votre ossature de programme pour indiquer au microcontrôleur que vous souhaitez utiliser l’entrée/sortie 13 en sortie (“OUTPUT”). Cette configuration n’ayant besoin d’être exécutée qu’une seule fois au démarrage du programme, vous l’insérez dans la fonction “setup”:
pinMode(13, OUTPUT);
Pour faire le clignotement de la LED, vous demandez tout d’abord au microcontrôleur de l’allumer… d’attendre un peu… de l’éteindre… d’attendre un peu… et ainsi de suite.
L’allumage de la LED s’effectue par une demande de positionnement de la sortie 13 à “HIGH” et son extinction par une demande de positionnement de la sortie 13 à “LOW” en utilisant la fonction “digitalWrite“. Vous effectuez ces demandes par ajout des lignes de code suivantes dans la fonction “loop”:
digitalWrite(13, HIGH); digitalWrite(13, LOW);
Il nous manque encore quelque-chose afin d’obtenir le clignotement voulu. En effet, si on laisse le code tel que nous venons de l’écrire, l’allumage et l’extinction de la diode vont se réaliser en quelques millisecondes, ce qui sera trop rapide pour que nous puissions le voir.
Il est donc nécessaire de demander au microcontrôleur de marquer une pause après avoir modifié l’état allumé/éteint de la LED. Pour cela nous appelons la fonction “delay” qui demande au microcontrôleur d’attendre une durée exprimée en millisecondes. Pour attendre 1 seconde après chaque extinction ou allumage de la LED, vous ajoutez la ligne de code suivante:
delay(1000);
Et donc, vous obtenez le code logiciel suivant:
// Fonction de démarrage, s'exécute une seule fois: void setup() { pinMode(13, OUTPUT); } // Fonction principale du programme, s'exécute en boucle: void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }
Compilation du code logiciel
Avant de transférer le code logiciel que nous venons d’écrire dans notre carte Arduino, nous demandons à l’Arduino IDE de le “compiler” c’est à dire le transformer en un fichier binaire (suite de 1 et de 0) compréhensible par le microcontrôleur. Commençons par indiquer à l’Arduino IDE le type de microcontrôleur auquel est destiné ce code logiciel. Dans le menu “Outils”, choisissez l’élément commençant par “Type de carte” puis “Arduino AVR Boards” et “Arduino Mega or Mega 2560”:
Lorsqu’on demande à l’Arduino IDE de “compiler” un programme, celui ci vérifie préalablement la syntaxe du code logiciel qui lui est fourni. Cette opération se lance par le menu “Croquis”, en cliquant sur “Vérifier/Compiler”:
L’Aduino IDE affiche le message “Compilation du croquis” et une barre de progression indique qu’il est occupé à compiler votre code source:
Si une erreur a été rencontrée au cours de la compilation, un bandeau orange s’affiche sous la zone d’écriture du programme avec un bouton “Recopier les messages d’erreur”. En exemple, la copie d’écran ci-dessous affiche le message d’erreur produit par un “;” oublié en fin de la ligne 12.
Si vous rencontrez un message d’erreur, il est nécessaire de modifier le code logiciel que vous venez d’écrire pour corriger votre code avant de relancer la compilation (menu “Croquis”, puis “Vérifier/Compiler”).
Une fois la compilation terminée, si tout s’est bien déroulé vous avez le message “Compilation terminée” qui s’affiche sous la zone d’écriture du programme:
Transfert du programme dans la carte Arduino:
Pour le transfert du programme que vous venez de compiler, la première chose à faire est de brancher votre câble USB à la carte Arduino …
… et au PC.
Une fois le câble USB connecté, vous allez indiquer à l’Arduino IDE le port USB qu’il devra utiliser pour le transfert du programme. Dans le menu “Outils”, cliquez sur “Port” puis dans les ports listés, cliquez sur celui se terminant par “Arduino Mega or Mega 2560”:
Vous pouvez maintenant lancer le transfert de ce programme dans la carte Arduino Mega 2560 par le menu “Croquis”, en cliquant sur “Téléverser”:
Comme lors de l’étape de compilation, l’Aduino IDE affiche le message “Compilation du croquis” et une barre de progression puis procéder au transfert du logiciel dans votre carte Arduino. Une fois ce transfert terminé, si tout s’est bien déroulé, il va afficher le message “Téléversement terminé”:
Ça y est, le programme est chargé sur votre carte. Vous pouvez maintenant observer le clignotement de la LED embarquée.
Vous savez maintenant écrire un logiciel Arduino et le transférer sur votre carte Arduino Mega 2560.
Pour aller plus loin:
Pour aller plus loin, je vous invite à modifier votre code logiciel. Vous pouvez par exemple accélérer le clignotement en diminuant la durée d’attente de la fonction “delay” à une valeur de 300ms:
digitalWrite(13, HIGH); delay(300); digitalWrite(13, LOW); delay(300);
Une fois le code modifié, n’oubliez pas de relancer la procédure de compilation avant le transfert sur la carte.