// enjoliveur de code // fin enjoliveur

Introduction

Introduction

Un peu de technique...

Arduino

La plateforme Arduino est construite autour d'une carte sur laquelle se trouve un micro-contrôleur, c'est à dire un microprocesseur associé à de la mémoire et à un ensemble d'entrées/sorties ; c'est donc un micro ordinateur programmable en réduction...

Le micro-contrôleur peut être programmé pour piloter les entrées et les sorties et exécuter des tâches plus ou moins complexes.
L'écriture du programme se fait sur PC à l'aide d'un logiciel dédié, l'IDE Arduino, qui permettra aussi d'envoyer ( = téléverser ) par la suite le programme ( appelé "sketch") dans la mémoire du micro-contrôleur par l'intermédiaire d'un câble USB.


Pour une utilisation particulière, on peut brancher sur les connecteurs de l'Arduino une carte additionnelle appelée shield; il en existe de toutes sortes ( gestion wifi et Ethernet, afficheurs LCD, commande domotique, etc...)

Le programme que l'on écrit s'appelle le code-source; l'IDE Arduino utilise le terme de « croquis » ou « sketch » an anglais .

Les code-sources Arduino sont enregistrés dans des fichiers dont l'extension est .ino
Les croquis, chacun dans son propre dossier du même nom, sont regroupés dans un dossier nommé sketchbook ; l'emplacement de ce dossier peut être modifié.

Avant l’exécution du programme par l’Arduino, le croquis doit être transformé en langage machine pour être compréhensible par la machine, phase portant le nom de compilation

Structure d'un code-source Arduino

Il y a en gros 3 parties dans le code-source d'un programme Arduino. Ces trois parties ressemblent beaucoup à ce qu'on a déjà vu en construisant le Pong en Processing. Voici un exemple (il n'est pas du tout nécessaire de comprendre ce programme mais il faut identifier ses 3 parties) :

/* Ce programme crée un effet rigolo sur la matrice de LED...*/
		
#include "Led.h"
									

En tête du programme, on trouve, mais de manière optionnelle, certaines instructions comme notamment celles ( appelées directives ) qui permettent de « lier » à notre programme des portions de code écrit par d'autres programmeurs, ce que l'on appelle des bibliothèques ( ou libraries en anglais ).
Ces portions de code n'apparaissent pas dans notre programme, mais le compilateur saura qu'il faudra les utiliser.

Ce qui apparaît en grisé est un commentaire multi-lignes : tout ce qui est compris entre les symboles «/*» et «*/» sera ignoré par le compilateur, mais permet de commenter le code-source pour plus de lisibilité ( voir les « règles de bonne conduite »....)

void setup() {

	// Initialisation de la matrice
	Matrix.begin();

}
									

Cette partie ( il s'agit d'une fonction d'initialisation ) n'est exécutée qu'une seule fois au lancement du programme; comme son nom l'indique, elle permet de régler certains paramètres, comme l'affectation des broches d'entrée-sortie de la carte Arduino, définir des valeurs constantes utilisées ensuite dans le programme, etc...
Cette partie ne contient ici qu'une seule instruction destinée à paramétrer une matrice de LED.

La double barre ( « // ») est une autre façon de commenter le code-source, et signale un commentaire sur une seule ligne.

void loop() {

/* boucle qui permet d'afficher sur la rangée 4 de la matrice des puissances de 2 croissantes : la succession des nombres binaires correspondant crée l'effet recherché.*/

	for (int i = 0;i < 8;i++) {

		//écriture d'un octet rangée 4
		Matrix.setByte(4, pow(2,i));
		//une petite pause...
		delay(1);
	}

} 
									

Cette partie est le corps principal du programme ; c'est là que se trouveront la majorité des instructions constituant le programme proprement dit.
Comme son nom l'indique, elle répète en boucle toutes les instructions situées entre les deux accolades.

On peut remarquer que l'IDE Arduino (qui ressemble beaucoup à celui de Processing) colore certains mots pour les faire « ressortir » dans le code ( les commentaires apparaissent en grisé, les mot-clés en orange,...)

Remarquer également que l'IDE indente ( = met en retrait le texte depuis la marge de gauche ) automatiquement le code lorsqu’on passe à la ligne suivante