Linux Mint et une carte Arduino UNO - la partie 4

Pour faire suite à ma découverte de la carte Arduino à connecter sur un ordinateur avec Linux, voici donc le montage dans SimulIDE tel que je l'ai conçu pour allumer quatre LED les unes après les autres, d'abord de haut en bas, puis de bas en haut.

J'ai choisi de connecter les quatre LED sur les ports 10,11,12 et 13 de la carte Arduino UNO. Chaque LED est protégée par une résistance de 100 Ohms.

Il est important de noter sur quels ports on a connecté les LED pour le programme qui va piloter le chenillard.

L'ensemble LED, résistance est connecté ensuite au GND de la carte.

Chenillard éteint 4 leds

C'est la partie la plus simple à réaliser.

Il reste maintenant à construire le programme pour le téléverser dans la carte et là  j'ai mis pas mal de temps à comprendre comment faire.

Il y a quelques petites choses à savoir et à maîtriser avant de pouvoir animer le montage.

1 - Il faut commencer par ingurgiter les principaux termes pour construire le programme.

2 - Comme je n'utilise pas une carte réelle, mais un simulateur, il faut enregistrer le programme dans un format particulier pour le téléverser.

Le programme peut être conçu avec le logiciel Arduino IDE.

chenillard simulide

Une fois le programme conçu, il suffit de cliquer sur le premier bouton pour le vérifier. Tant qu'il y a des erreurs, Arduino IDE rouspète et devient tout rouge de colère.

Le programme n'est pas bon

Une fois qu'Arduino IDE est content et considère que le programme est bon, on doit  "Exporter les binaires compilés" en utilisant le menu "Croquis". On obtient alors un fichier avec une extension .hex comme celui que j'ai enregistré pour ce programme. (chenillard_eric_5102018.ino.standard.hex). Ce fichier sera téléversé dans le contrôleur de la carte Arduino UNO du simulateur SimulIDE.

Voici comment cela se présente sous SimulIDE :

Programme à téléverser

Au centre le montage, à droite le programme à ouvrir avec la deuxième icône. Une fois le programme ouvert, il faut cliquer sur l'avant-dernière icône pour le téléverser dans le microcontrôleur.

On clique sur le bouton rouge et on a enfin le plaisir de voir le chenillard s'animer.

Chenillard allumé 4 leds

Ah oui, j'ai failli oublier. Voici le programme :

// On déclare ici les constantes du programme

const int led_1=10;
const int led_2=11;
const int led_3=12;
const int led_4=13;

void setup() {
  // Placer ici les codes qui ne s’exécutent qu'une seule fois

 // On décide que les ports 10 à 13 seront des sorties
pinMode(led_1,OUTPUT);
pinMode(led_2,OUTPUT);
pinMode(led_3,OUTPUT);
pinMode(led_4,OUTPUT);
Serial.begin(9600);

}

void loop() {
 
  // Ici le programme qui tourne en boucle (loop):
 
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
digitalWrite(13,LOW);

delay(150); // On met un temps de pause de 150ms

// On désactive la LED 1 et on active la LED 2

digitalWrite(led_1,LOW);
digitalWrite(led_2,HIGH);

delay(150); // On met un temps de pause de 150ms

// On désactive la LED 2 et on active la LED 3

digitalWrite(led_2,LOW);
digitalWrite(led_3,HIGH);

delay(150); // On met un temps de pause de 150ms

// On désactive la LED 3 et on active la LED 4

digitalWrite(led_3,LOW);
digitalWrite(led_4,HIGH);

delay(150); // On met un temps de pause de 150ms

// On recommence mais en sens inverse

digitalWrite(led_4,LOW);
digitalWrite(led_3,HIGH);

delay(150); // On met un temps de pause de 150ms

digitalWrite(led_3,LOW);
digitalWrite(led_2,HIGH);

delay(150); // On met un temps de pause de 150ms

digitalWrite(led_2,LOW);
digitalWrite(led_1,HIGH);

delay(150); // On met un temps de pause de 150ms

}