Initiation Arduino (1ière séance)

Le vendredi 22 février 2019

Huit participants étaient présent à cette soirée (André, Daniel, Eric, Jean-Claude, Jean-Pierre, Michel, Olivier et Pascal)
Sans oublier Patrick qui est venu m’épauler

Initiation Arduino du 20190222

Le début fut laborieux, afin d’installer et configurer l’IDE sur toutes les machines

Distribution aux participants du kit Arduino/Écran LCD
Kit Arduino
Principales fonctions de ce kit :

  • Arduino Nano
  • 3 LED (vert, jaune et rouge)
  • 3 boutons poussoirs
  • 2 connecteurs I2C, dont un réservé au LCD
  • 1 connecteur pour l’interface moteur pas à pas
  • Toutes les broches de l’Arduino Nano sont répliquées sur un connecteur mâle et femelle
  • LCD

Une fois IDE lancé et le kit Arduino (Nano) connecté à une machine, il fallait régler les caractéristiques
Pour cela, il faut cliquer l’onglet “Outils”
Ci-dessous une vue de ce que vous devriez trouver
Config de l'IDE en Arduino Nano
Vous remarquerez que dans cette vue le port “COM” n’est pas encore sélectionné !
La sélection du port “COM” dépendra de votre la configuration de votre machine

La première chose fut de voir comment un sketch Arduino est structuré


//****************************************
//* *
//* Initiation à l’Arduino par l’exemple *
//* *
//* Par Stievenart Freddy ON6FS *
//* Version 1.0 – 23/12/2018 *
//* *
//****************************************
//* *
//* Exercice 0 *
//* Configuration d’un sketch *
//* *
//****************************************

// Insérez ici les constantes et déclarations de variables

//***************************************
//* Zone de Setup *
//* Cette partie de code est lance *
//* une seule fois *
//***************************************

void setup() {
// Ici insérer vos lignes de Setup, ne se lance qu’une seule fois :
}

//***************************************
//* Zone de Loop *
//* Le code s’exécute indéfiniment *
//* en tournant en boucle *
//***************************************

void loop() {
// Ici insérer le code principal, cette suite d’instructions s’exécutera répétitivement:
}

Powered by WPBetterCodeHighlighting

Une fois que votre sketch est prêt et correct, vous allez le téléverser dans l’Arduino
Pour ce faire, le câble bleu fournit dans le kit devra être connecté d’une part à la prise USB de votre Arduino Nano et de l’autre à une des prises USB de votre ordinateur.
L’action suivante sera de cliquer le bouton “Compilation et téléversement”
Boutons IDE

L’exercice suivant consistera à faire clignoter une ou plusieurs LED


//***************************************
//* *
//* Initiation à l’Arduino par l’exemple*
//* *
//* Par Stievenart Freddy ON6FS *
//* Version 1.0 – 23/12/2018 *
//* *
//***************************************
//* *
//* Exercice 1 *
//* Allumer et éteindre une LED *
//* *
//***************************************

const int LED1 = 10; // On assigne à LED1 la valeur 10 correspondant à la broche D10
//const int LED2 = 9; // On assigne à LED2 la valeur 9 correspondant à la broche D9
//const int LED3 = 8; // On assigne à LED3 la valeur 8 correspondant à la broche D8

//***************************************
//* *
//* Zone de Setup *
//* Cette partie de code est lancée *
//* une seule fois *
//* *
//***************************************

void setup() {
pinMode(LED1, OUTPUT); //LED1 devient une broche de sortie
//pinMode(LED2, OUTPUT); //LED2 devient une broche de sortie
//pinMode(LED3, OUTPUT); //LED3 devient une broche de sortie
//Serial.begin(9600); //Initiation du port série USB pour le monitorage
}

//***************************************
//* *
//* Zone de Loop *
//* Le code est lancée indéfiniment *
//* en tournant en boucle *
//* *
//***************************************

void loop() {
digitalWrite(LED1, HIGH); //Allumer LED1
//Serial.print(” – LED1 : HIGH”);
//digitalWrite(LED2, LOW); //Éteindre LED2
//Serial.print(” – LED2 : LOW”);
//digitalWrite(LED3, HIGH); //Allumer LED3
//Serial.print(” – LED3 : HIGH”);
delay(1000); // Attendre 1 seconde
digitalWrite(LED1, LOW); // Éteindre LED1
//Serial.println(” – LED1 : LOW”);
//digitalWrite(LED2, HIGH); // Allumer LED2
//Serial.println(” – LED2 : HIGH”);
//digitalWrite(LED3, LOW); // Éteindre LED3
//Serial.println(” – LED3 : LOW”);
delay(2000); // Attendre 2 seconde
}

Powered by WPBetterCodeHighlighting

Vous aurez remarqué en cette étape qu’une LED s’allume et s’éteint, c’est à dire clignote

Quelques suggestions sur cet exercice

  • Phase 2
    • Décommentez la ligne 32, afin d’ouvrir le flux
    • Décommentez la ligne 45, affiche l’état de la LED
    • Décommentez la ligne 52, affiche l’état de la LED
    • Visualisez ce qui se passe sur le monitoring.
      Pour ce faire allez sur l’onglet “Outils” et cliquez “Moniteur Série”
      Init Arduino : Monitoring
    • Exemple de ce que vous pourriez voir sur la sortie Moniteur
      Exemple sur la voie Moniteur de l'Arduino
  • Phase 3
    • Décommentez toutes les autres lignes d’instruction
    • Voyez ce qu’il se passe au niveau des LED, ainsi que sur le moniteur

Ce qu’il faut retenir de cette soirée !

  • Lorsque vous lancez l’IDE, configurez, dans l’onglet “Outils”, la carte, processeur et COM avant la compilation
  • Un sketch comporte 3 zones :
    • Les constantes et variables
    • La zone Setup : ne s’exécute qu’une seule fois
    • La zone Loop : S’exécute indéfiniment
  • Tout ce qui est précédé de “//” est considéré comme commentaire, par conséquent ne s’exécutera pas
  • Les instructions :
    • pinMode(N° de pine de sortie, OUTPUT) : on déclare la pin en sortie
    • digitalWrite(N° de pine, LOW ou HIGH) : on force la pine à l’état bas ou haut (0 ou proche de 5 V)
    • delay(Nbre de mSec) : Temporisation exprimée en mSec
    • Serial.begin(Baud Rate) : Ouvre un flux vers la prise USB pour monitoring ou debug
    • Serial.print("TEXTE") : Envoie le “TEXTE” dans le flux de la prise USB, juste après le pointeur actuel
    • Serial.println("TEXTE") : Envoie le “TEXTE” suivit par retour à la ligne, dans le flux de la prise USB, juste après le pointeur actuel