Main

Programme type structuré utilisant la connexion série


Description

Le programme type utilisant la connexion série vers l'ordinateur doit comporter :

Au niveau de la partie déclarative

  • Rien

Au niveau de la fonction setup() :

  • L'instruction Serial.begin() qui fixe le débit communication avec l'ordinateur. ATTENTION : Il est essentiel d'initialiser la fenêtre Terminal du logiciel Arduino avec le même débit de communication. Voir ci-dessous.

Au niveau de la fonction loop() :

  • Vos instructions utilisant la connexion série.

Pour plus de détails sur les fonctions disponibles, voir : la librairie Serial

Le montage associé

La carte Arduino doit simplement être connectée à l'ordinateur à l'aide d'un câble USB et votre logiciel Arduino ainsi que les drivers USB doivent être correctement installés.

Le programme type

A copier coller directement dans la fenêtre éditeur du logiciel Arduino


// --- Programme Arduino ---
// par X. HINAULT - Le 27/02/2010
// www.mon-club-elec.fr 

// --- Que fait ce programme ? ---
/* Programme type utilisant la connexion série*/

// --- Fonctionnalités utilisées ---
// Utilise la connexion série vers le PC 

// --- Circuit à réaliser ---
// Connexion série entre la carte Arduino et le PC (utilise les broches 0 et 1)  

//**************** Entête déclarative *******
// A ce niveau sont déclarées les librairies, les constantes, les variables...

// --- Inclusion des librairies utilisées ---

// --- Déclaration des constantes ---

// --- constantes des broches ---


// --- Déclaration des variables globales ---

// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---


//**************** FONCTION SETUP = Code d'initialisation *****
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme

void setup()   { // debut de la fonction setup()

// --- ici instructions à exécuter au démarrage --- 

Serial.begin(115200); // initialise connexion série à 115200 bauds
// IMPORTANT : régler le terminal côté PC avec la même valeur de transmission 


// ------- Broches en sortie -------  


// ------- Broches en entrée -------  


// ------- Activation du rappel au + interne des broches en entrée si nécessaire -------  


} // fin de la fonction setup()
// ********************************************************************************


//*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()

// --- ici instructions à exécuter par le programme principal --- 

} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************


//*************** Autres Fonctions du programme *************


// --- Fin programme ---

// --- Mémo instructions ---

// --- mémo série -- 
// Serial.begin(speed);
// Serial.print;("texte")// affiche chaine sans saut de ligne
// Serial.print(valeur); // affiche valeur numerique entière ou à virgule au format décimal
// Serial.print(valeur, DEC); Serial.print(valeur, HEX); Serial.print(valeur, BIN);
// Serial.println("texte"); Serial.println(valeur); // affiche valeur/chaine puis saut de ligne
// Caractères spéciaux : \n (saut ligne)

// int Serial.available() // renvoie le nombre d'octets présents dans la file attente série (jusqu'à 128) 
// int incomingByte = Serial.read(); // renvoie le 1er octet présent dans la file attente série (-1 si aucun) 
// Serial.flush(); // Vide le buffer 
// serial.write(val);  //Ecrit une valeur dans le buffer en sortie qui est envoyée par le port série
// serial.write(str); // Ecrit une valeur dans le buffer en sortie qui est envoyée par le port série 
// serial.write(buf, len);  // Ecrit une valeur dans le buffer en sortie qui est envoyée par le port série 

Préparation au niveau de l'ordinateur

Le logiciel Arduino intègre également un TERMINAL SERIE (fenêtre séparée) qui permet d'afficher des messages textes reçus de la carte Arduino et d'envoyer des caractères vers la carte Arduino. Cette fonctionnalité permet une mise au point facilitée des programmes, permettant d'afficher sur l'ordinateur l'état de variables, de résultats de calculs ou de conversions analogique-numérique : un élément essentiel pour améliorer, tester et corriger ses programmes.

  • Sur votre ordinateur, il faut ouvrir la fenêtre terminal de l'IDE Arduino : pour ce faire, un simple clic sur le bouton « Sérial Monitor ».
  • La fenêtre « Terminal » s'ouvre alors :
  • Il faut alors régler le débit de communication sur la même valeur que celle utilisée par le programme avec lequel nous allons programmer la carte Arduino :
  • Pour envoyer des données vers la carte, saisir le texte dans le champ de saisie et cliquer le bouton "send" (envoi) ou appuyer sur enter.

Noter que sur Mac ou Linux, la carte Arduino se réinitialisera quand vous vous connecterez avec le moniteur Série.

Vous pouvez également communiquer avec la carte Arduino depuis l'interface graphique programmable Processing, Flash, MaxMSP, etc.. (voir la page suivante pour plus de détails)