Programmer la carte Michelino avec Arduino

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

Faire clignoter la LED interne

Pour permettre de valider l’environnement de compilation de la carte Michelino, le plus simple est d’écrire un petit programme faisant clignoter la LED interne.

La LED interne de la la carte Michelino est routée sur la sortie numérique 26.

Emplacement de la LED interne sur la carte de développement Michelino

Comme dans les articles de programmation précédents, partons de l’ossature du code Arduino suivante:

// Fonction de démarrage, s'exécute une seule fois:
void setup()
{
}
// Fonction principale du programme, s'exécute en boucle:
void loop()
{
}

Afin de faciliter la lecture du code, nous commençons par définir un alias pour le port de LED interne. La définition de l’alias se fait à l’aide de l’instruction de préprocesseur#define” :

#define PORT_LED_INTERNE    26

Nous indiquons ensuite que nous voulons utiliser ce port Arduino en mode sortie (“OUTPUT”) à l’aide l’instruction  “pinmode:

  pinMode(PORT_LED_INTERNE, OUTPUT); 

La fonction digitalWrite” va permettre d’effectuer le changement d”état éteint allumé / éteint (“HIGH” / “LOW“). 

  digitalWrite(PORT_LED_INTERNE, HIGH);

Une pause du programme d’une seconde (1000 millisecondes), grâce à la fonction delay, va nous permettre la visualisation de l’état.

  delay(1000);

Après avoir inséré ces différentes instructions, nous aboutissons au code logiciel suivant:

/* Définition des constantes globales */
#define PORT_LED_INTERNE    26

// Fonction de démarrage, s'exécute une seule fois:
void setup()
{
  pinMode(PORT_LED_INTERNE, OUTPUT); 
}

// Fonction principale du programme, s'exécute en boucle:
void loop()
{
  digitalWrite(PORT_LED_INTERNE, HIGH);
  delay(1000);
  digitalWrite(PORT_LED_INTERNE, LOW);
  delay(1000);
}

Compilation du code logiciel:

Une fois que le type de carte  “MegaCore”/”ATmega128” a été sélectionné, la compilation du code logiciel pour la carte Michelino ne pose pas de difficulté particulière. Pour les débutants, la compilation du code logiciel sous Arduino est expliquée en détail au paragraphe “Compilation du code logiciel” dans l’article  Comment écrire un programme sous Arduino.

Transfert du programme dans la carte Michelino

Pour le transfert du programme que vous venez de compiler, la première chose à faire est de lister les ports USB visibles par l’Arduino IDE avant même le branchement de votre carte Michelino.

Donc si ce n’est déjà fait, vous commencez par débrancher le câble USB de la carte Michelino:

Débrancher le câble USB de la carte Michelino

Dans le menu “Outils”, cliquez sur “Port” puis notez les ports listés:

Liste des ports USB avant le branchement de la carte Michelino

Brancher votre câble USB à la carte Michelino…

Brancher le câble USB à la carte Michelino

… et au PC.

Brancher le câble USB au PC

Maintenant si vous allez dans le menu “Outils”, puis cliquez sur “Port” vous voyez un nouveau port référencé. C’est celui qui correspond à la carte Michelino. Sélectionnez le pour indiquer à l’Arduino IDE d’utiliser ce port USB pour le transfert du programme.

Nouveau port USB après le branchement de la carte Michelino

Pour le reste, le transfert du programme dans la carte Michelino s’effectue de façon standard en cliquant sur “Téléverser” dans le “Croquis”:

Transférer le programme compilé sur la carte de développement Michelino

Une fois le programme chargé dans la carte, on observe le clignotement de la LED embarquée:

Les clignotements de la LED sont satisfaisants… Mais ne trouvez-vous pas que l’allumage de l’écran est superflu pour notre projet ?

Extinction de l’écran

L’écran qui équipe la carte Michelino est un écran TFT 1,8 pouces 128×160 piloté par le driver ST7735. Cet écran possède un rétroéclairage pilotable par le port 37 de notre carte Michelino.

Complétons notre code avec la définition de l’alias pour ce port de  rétroéclairage:

#define PORT_ECRAN_RETRO_ECLAIRAGE  37

Puis à l’aide des fonctions “pinmode” et digitalWritevues précédemment nous déduisons les instructions pour éteindre le rétroéclairage:

  pinMode(PORT_ECRAN_RETRO_ECLAIRAGE, OUTPUT);
  digitalWrite(PORT_ECRAN_RETRO_ECLAIRAGE, LOW);  // Coupure du rétroéclairage

Notre premier programme pour la carte Michelino est terminé ! Voici le code complet:

/* Définition des constantes globales */
#define PORT_LED_INTERNE    26
#define PORT_ECRAN_RETRO_ECLAIRAGE  37

// Fonction de démarrage, s'exécute une seule fois:
void setup()
{
  pinMode(PORT_LED_INTERNE, OUTPUT);
  pinMode(PORT_ECRAN_RETRO_ECLAIRAGE, OUTPUT);
  digitalWrite(PORT_ECRAN_RETRO_ECLAIRAGE, LOW);  // Coupure du rétroéclairage
}

// Fonction principale du programme, s'exécute en boucle:
void loop()
{
  digitalWrite(PORT_LED_INTERNE, HIGH);
  delay(1000);
  digitalWrite(PORT_LED_INTERNE, LOW);
  delay(1000);
}

Une fois compilé et chargé, voici ce que nous obtenons:

Voilà, nous avons configuré l’environnement de développement Arduino pour pouvoir programmer la carte Michelino.

Laisser un commentaire