View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

Faire clignoter une LED

ARDUINO - INITIATION - LED
Par X. HINAULT - Créé le 03/02/2010

1.  Présentation

Ce programme très simple permet de faire clignoter une LED sur une broche d'une carte Arduino. Rien de très extraordinaire, mais quand on a réussi à programmer ce premier programme très simple, on est content ! Un moyen simple aussi de vérifier que tout fonctionne normalement.

2.  Matériel Nécessaire

2.1  L'espace de développement Arduino

  • ... pour éditer, compiler le programme et programmer la carte Arduino.

2.2  Le matériel suivant pour réaliser le montage associé

  • une plaque d'essai pour montage sans soudures,
  • des straps,
  • une LED rouge 5mm,
  • une résistance 1/4w de 200 Ohms environ,

3.  Instructions de montage

  • Connecter sur la broche 2 (configurée en sortie) une LED et sa résistance (270 Ohms) en série connectée au 0V

4.  Le schéma théorique du montage


Le schéma théorique du montage

5.  Le circuit du montage


Le schéma du montage à réaliser
  • A noter que l'on peut faire une telle connexion directe de la LED sur une broche de la carte Arduino car chaque broche de la carte Arduino peut fournir jusqu'à 40mA, ce qui est suffisant pour allumer une LED. Un tel branchement direct est impossible avec les circuits intégrés numériques classiques qui ne peuvent fournir que quelques mA, trop peu pour allumer une LED standard.
  • Voir également la page : Allumer une LED?

6.  Explication du programme

6.1  Structure globale du programme

Ce programme simple comprend :

  • une entête déclarative
  • une partie « configuration » qui ne sera exécutée qu'une fois (fonction setup( ) )
  • une partie constituée d'une boucle sans fin que le programme répètera à l'infini ( fonction loop( ) ) : c'est le coeur du programme.

6.2  Déroulement du programme

Le programme se déroule de la façon suivante :

  • Après avoir pris en compte les instructions de la partie déclarative,
  • puis après avoir exécuté la partie configuration ( fonction setup( ) ),
  • le programme bouclera sans fin ( fonction loop ( ) ), exécutant de façon répétée le code compris dans la boucle sans fin.

Le déroulement du programme

7.  Au niveau de la partie déclarative :

Déclaration des constantes de broches

  • Déclaration des constantes pour les broches utilisées dans le programme : on appelle LED la broche utilisée avec la LED.

const int LED=2; //declaration constante de broche
 

8.  Au niveau de la fonction d'initialisation setup( ) :

configuration des broches utilisées :

  • Configuration des broches en sortie : on configuer en sortie la broche utilisée avec la LED.

pinMode(LED, OUTPUT); //met la broche en sortie
 

9.  Au niveau de la boucle principale, la fonction loop ( ) :

  • On commence par allumer la LED en mettant la broche au niveau HAUT (soit 5V) grâce à la commande digitalWrite (broche, etat)
  • Ensuite, on réalise une pause d'une demi-seconde (soit 500 millisecondes ) grâce à l'instruction delay(duree_ms)
  • Puis on éteint la LED en mettant la broche au niveau BAS (soit 0V)
  • A nouveau, on réalise une pause d'une demi seconde.

digitalWrite(LED,HIGH); // met la broche au niveau haut (5V) – allume la LED

delay(500); // pause de 500 millisecondes (ms)

digitalWrite(LED,LOW); // met la broche au niveau bas (0V) – éteint la LED

delay(500); // pause de 500ms

 
  • Le programme recommence en boucle les instructions de la fonction loop( ). Au final, la LED va s'allumer puis s'éteindre, puis s'allumer, puis d'éteindre, puis s'allumer.... : la LED clignote.

10.  Mise en oeuvre du programme

10.1  Préparation du montage et programmation de la carte Arduino :

  • Commencer par réaliser le montage indiqué sur plaque d'expérimentation
  • Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la procédure habituelle

10.2  Fonctionnement

  • La LED va s'allumer puis s'éteindre, puis s'allumer, puis d'éteindre, puis s'allumer.... : la LED clignote.

11.  Le programme complet en langage Arduino :

A copier/coller directement dans l'éditeur Arduino


// --- Programme Arduino ---
// par X. HINAULT - 2010

// --- Que fait ce programme ? ---
/* Fait clignoter une LED*/

// --- Circuit à réaliser ---
// Connecter une LED en série avec résistance sur la broche 2 (configurée en sortie)

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

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

// --- constantes des broches ---

const int LED=2; //declaration constante de broche

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

// --- Initialisation des 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 ---

 pinMode(LED, OUTPUT); //met la broche en sortie



} // 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 ---

digitalWrite(LED,HIGH); // met la broche au niveau haut (5V) – allume la LED

delay(500); // pause de 500 millisecondes (ms)

digitalWrite(LED,LOW); // met la broche au niveau bas (0V) – éteint la LED

delay(500); // pause de 500ms

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

// --- Fin programme ---