Leçon 1

Mon premier programme sur Arduino

La carte Arduino

Arduino est une marque qui couvre des cartes matériellement libres sur lesquelles se trouve un microcontrôleur
Le microcontrôleur peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la domotique (le contrôle des appareils domestiques - éclairage, chauffage…), le pilotage d'un robot, de l'informatique embarquée, etc...

Arduino est une carte que l'on va connecter sur l’ordinateur pour être programmée.
Une fois le programme transféré de l'ordinateur au microcontrôleur, via le connecteur USB, la carte fonctionnera de manière autonome si elle est alimentée en énergie. Elle produira le résultat que nous souhaitons qu'elle produise via le programme transféré.
Ce programme permettra à la carte de recevoir des informations et d’en transmettre depuis ou vers des matériels électroniques : diodes, potentiomètres, récepteurs, servo-moteurs, moteurs, détecteurs... Nous en ferons une description plus précise au fur et à mesure de ces cours.

.

Le logiciel

Pour écrire un programme il faut utiliser un logiciel de programmation. Cliquez sur l'icône arduino
Vous obtenez l'interface ci-dessous.

Le bouton vérifier permet de vérifier la syntaxe du programme.
Le bouton téléverser permet de transferer le programme sur la carte.

Nous commenterons plus loin le rôle des deux fonctions void setup() et void loop()

Mon premier programme

Créez dans vos documents un répertoire arduino.
Pour cette leçon, vous allez créer un dossier cours1 où vous enregistrerez tous les programmes de cette leçon.

On voit que par défaut la LED connectée D13 est allumée.
Une LED est une diode électroluminescente.
Nous allons écrire un programme pour l'éteindre.
Recopiez le programme ci-dessous,monPremierProgramme puis vérifiez la syntaxe et en téléversez votre programme vers la carte.

En changeant à la ligne 3 LOW par digitalWrite(13,HIGH) puis en téléversant à nouveau la LED s'allume à nouveau.

Vous avez réalisez votre premier programme sur la carte.

Je fais clignoter la LED

cliquez sur l'icône de nouveau programme et nommez-le "jeClignote".
Cette fois-ci nous allons faire clignoter la LED connectée D13
Pour cela recopiez le code ci-dessous puis vérifier et téléverser

Vous remarquerez d'abord les commentaires précédésde deux slash (//) pour expliquer le rôle des instructions. Ces commentaires sont utiles pour la compréhension du script.

Les instructions de la fonction void setup() ne sont lues et activées qu'une seule fois, dès le début du programme.

Le bloc d'instructions contenu dans la fonction void loop() est répété à l'infini.
C'est dans cette fonction que nous allons allumer puis éteindre la LED

Commentez les lignes 7 et 9 en mettant au début deux slash (//) et à nouveau téléversez votre programme sur la carte. Vous constatez que la LED ne clignote plus et pourtant votre script est correct.
Arduino fonctionne à une fréquence de 77 Khz, soit 77000 hertz ou encore la LED clignote 77000 fois par seconde ce qui ne permet pas de le voir. Pour cela nous utilisons en ligne 7 et 9 l'instruction delay(1000) qui indique à Arduino d'attendre 1000 ms soit 1 s avant de passer à l'instruction suivante. Modifiez ces lignes pour faire clignoter plus vite ou moins vite.

On résume

  1. J'écris mon programme dont je vérifie la syntaxe puis je le téléverse sur la carte. Ainsi le microcontrôleur garde en mémoire le programme et ma carte peut fonctionner de manière autonomme;
  2. la fonction setup() s'exécute qu'une fois ;
  3. la fonction loop() s'exécute à l'infini ;
  4. pinMode() permet de définir une sortie en mode envoi d'électricité ou non ;
  5. digitalWrite() envoie de l'électricité HIGH ou pas LOW à un connecteur;
  6. delay() met le programme en pause pendant un nombre défini de millisecondes.