Programmer la carte Mega 2560 avec Arduino

  • Auteur/autrice de la publication :
  • Post category:Arduino
  • Post comments:0 commentaire

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.

Emplacement de la LED embarquée sur 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”:

Choisir "Arduino Mega or Mega 2560" dans la liste des cartes Arduino natives

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”:

Menu de l'Arduino pour vérifier/compiler le code logiciel
Menu de l’Arduino pour vérifier/compiler le code logiciel

L’Aduino IDE affiche le message “Compilation du croquis” et une barre de progression indique qu’il est occupé à compiler votre code source:

Compilation du code logiciel de la carte Arduino Mega 2560 en cours

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.

La vérification/compilation du code logiciel a échouée pour la carte Arduino Mega 2560

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:

La vérification/compilation du code logiciel pour la carte Arduino Mega 2560 a réussie

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 …

Branchement du câble USB à la carte Mega 2560

… et au PC.

Branchement du câble USB 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”:

Sélection du port USB pour le transfert du programme avec la carte Arduino 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”:

Transférer le programme compilé sur la carte Arduino Mega 2560

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é”:

Le transfert du programme dans la carte Arduino Mega 2560 est 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.

Laisser un commentaire