L’Essentiel de l’Arduino

Arduino, Domotique, RobotiquePas de commentaire

Vous êtes ici :, Domotique, RobotiqueL’Essentiel de l’Arduino

Dans ce guide, vous allez comprendre le fonctionnement d’une carte Arduino, son utilisation pratique et son utilité dans nos projets.

Qu’est ce qu’une carte Arduino ?

L’Arduino est une carte électronique programmable qui permet d’interagir avec l’environnement extérieur. De ce fait, elle dispose de « Pin(s) » qui servent d’entrées ou de sorties en fonction du projet que l’on souhaite mener à bien.

Exemples d’entrées : une sonde à température, un détecteur de mouvement, un switch électronique…

Exemples de sorties : une lumière, un moteur, un écran…

pins
Une carte Arduino UNO (un classique)

La double flèche rouge montre les pins digitaux qui vont nous servir à mettre tout ce qui sert d’entrée/sortie.

La double flèche verte montre à la fois les pin de POWER et les pin ANALOGIQUES. Nous verrons dans un autre article à quoi servent-ils. Pour le moment, ce serait vous encombrer l’esprit d’expliquer leurs fonctionnement.

La carte Arduino peut être alimentée par un câble USB de type AB (un câble d’imprimante si vous préférez), par une pile 9v ou même par les pins 5v et GND (attention tout de même au voltage fournis).

Comment se procurer un Arduino ?

Il existe différents types d’Arduino : Genuino, Nano, Léonardo… Sur ce blog, nous utiliserons principalement la plus classique : l’Arduino UNO.

Vous pouvez acheter un Arduino UNO sur ce site par exemple pour environ 20 €. Vous pouvez même, si vous le souhaitez, acheter un kit Arduino (avec des capteurs, câbles, LEDs..) histoire d’avoir déjà tout le matériel à votre disposition.

Une précision, si vous achetez votre matériel sur Aliexpress, Amazon etc, sachez que la plupart ne seront pas directement compatible avec le logiciel que nous allons utiliser. L’activation de ces cartes fera l’objet d’un futur tutoriel.

L’IDE Arduino 

Avant de se lancer dans la programmation, il convient d’installer l’IDE Arduino pour programmer.

Pour se faire, rendez vous sur le site officiel d’Arduino : https://www.arduino.cc/

capture-decran-2016-09-15-a-08-51-01

Cliquez sur « Download », sélectionnez votre système d’exploitation (Windows, macOS ou Linux).

capture-decran-2016-09-15-a-08-51-07

On vous propose de faire un don pour les développeurs, si vous ne souhaitez pas faire un don, cliquez sur « Just download ».

capture-decran-2016-09-15-a-08-51-11

Votre téléchargement commence, une fois terminé, cliquez dessus et suivez les étapes d’installations.

capture-decran-2016-09-15-a-08-51-23

Lancez l’IDE, vous devriez avoir cet écran :

capture-decran-2016-09-15-a-08-55-44

 

C’est sur cette interface que nous allons écrire les instructions que nous transmettrons à l’Arduino.

 

Logique de programmation Arduino

L’objectif de cette partie est de vous faire comprendre la logique de la programmation Arduino. C’est pour cela que nous simplifierons le code en donnant des exemples théoriques. Nous étudierons la programmation en langage Arduino dans un autre article.

Lorsque nous ouvrons un fichier Arduino, nous avons par défaut ce code :

 void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Un fichier Arduino est toujours divisé en trois parties  : l’entête,  void setup() et void loop().

void setup() et void loop() sont ce qu’on appelle des fonctions.

 

  • L’entête

    L’entête est un endroit où l’on déclare toutes les variables nécessaires pour notre code. Plus simplement : on indique à l’Arduino ce dont nous allons avoir besoin dans notre projet.

Exemple simple 1 : Vous voulez créer votre robot, votre robot a besoin de deux moteurs pour avancer. Vous indiquez sur quel numéro de pin sont situés les câbles qui relient les moteurs à l’Arduino. (Par exemple le pin 8 et 9 pour chaque moteur).

Code théorique (faux code juste pour expliquer la logique) :

  moteur1 = pin8
  moteur2 = pin9

Exemple simple 2 : Vous voulez relever la température ambiante d’une pièce de votre maison grâce à votre sonde de température.Vous indiquerez sur quel numéro de PIN se situe votre capteur. (Par exemple le pin 10).

Code théorique :

  sonde = pin10

 

  • void setup()

C’est la première fonction du programme Arduino.

En anglais « set up » veut dire « installer », dans cette fonction on mettra tous les outils nécéssaires à l’éxecution de votre code.

 

Vous vous rappelez qu’en introduction nous avions dit :

[La carte Arduino

]

dispose de « Pins » qui servent d’entrées ou de sorties en fonction du projet que l’on souhaite mener à bien.

Dans la fonction setup nous allons donc préciser si nous allons utiliser les pins sollicités en tant qu’entrées ou en tant que sorties.

Dans le premier exemple, nous indiquerons que nous voulons utiliser les pins en mode « sortie » car l’Arduino envoie des instructions/informations aux moteurs et pas l’inverse.

Code théorique :

 void setup() {
  
  pinMode(moteur1, SORTIE)
  pinMode(moteur2, SORTIE)

}

Dans le second exemple, nous indiquerons que nous voulons utiliser les pins en mode « entrée » car l’Arduino reçoit des informations en provenance de la sonde de température.

Code théorique :

 void setup() {
  
  pinMode(sonde, ENTREE)

}

 

  • void loop()

C’est la fonction principale du programme Arduino.

En anglais, « loop » veut dire « boucle ». Vous l’aurez compris, tout ce que l’on va écrire dans cette fonction va se répéter en boucle. L’Arduino est un micro-contrôleur qui fonctionne en boucle.  Le nombre de fois que va se répéter la boucle est infini, cela s’arrête quand vous éteignez l’Arduino.

Si vous pensiez que la boucle infinie était un problème, vous vous apercevrez qu’au fur et à mesure que vous allez écrire du code pour l’Arduino, qu’elle se révèle très utile et facile à manipuler.

Avec l’exemple 1, nous voulons faire en sorte que le robot avance pendant 5 secondes, puis s’arrête pendant 2 secondes.

Code théorique :

void loop() {
  avancer(moteur1) //Le moteur 1 est en marche avant
  avancer(moteur2) //Le moteur 2 est en marche avant
  attendre(5) //On attend 5 secondes (pendant ce temps, les moteurs continuent de tourner)

  arret(moteur1) //On arrête le moteur 1
  arret(moteur2) //On arrête le moteur 2
  attendre(2) //On attends 2 secondes (pendant ce temps, les moteurs sont à l'arrêt)

//La boucle recommence

}

 

Avec l’exemple 2, nous voulons afficher à l’écran la température ambiante de la pièce grâce à notre sonde de température, et ce, toutes les 5 minutes.

Code théorique :

void loop() {
  afficherTemperature(sonde) //On affiche la température
  attendre(300) //On attend 5 minutes (300 secondes)

}

 

Voici les deux codes théoriques complets :

L’exemple 1 :

  moteur1 = pin8
  moteur2 = pin9

void setup() {
  
  pinMode(moteur1, SORTIE)
  pinMode(moteur2, SORTIE)

}

void loop() {
  avancer(moteur1) //Le moteur 1 est en marche avant
  avancer(moteur2) //Le moteur 2 est en marche avant
  attendre(5) //On attend 5 secondes (pendant ce temps, les moteurs continuent de tourner)

  arret(moteur1) //On arrête le moteur 1
  arret(moteur2) //On arrête le moteur 2
  attendre(2) //On attends 2 secondes (pendant ce temps, les moteurs sont à l'arrêt)

//La boucle recommence

}

 

L’exemple 2 :

  sonde = pin10

void setup() {
  
  pinMode(sonde, ENTREE)

}

void loop() {
  afficherTemperature(sonde) //On affiche la température
  attendre(300) //On attend 5 minutes (300 secondes)

}

 

Sans vraiment vous en rendre compte, vous venez d’élaborer deux mini-projets avec l’Arduino. Bien-entendu, comme mentionné en début de partie, ces exemples de code ne fonctionnent pas, mais se rapprochent beaucoup de ce que vous allez produire. Si vous comprenez le fonctionnement général de l’Arduino, le reste sera d’autant plus simple.

 

L’enregistrement et le téléversement

Vous pouvez enregistrer vos fichiers comme avec n’importe quel autre logiciel, pour cela rien de plus simple : rendez-vous dans le menu Fichier, puis cliquez sur Enregistrer.

Les fichiers Arduino ont une extension « .ino ». De plus, lorsque vous les enregistrez, le logiciel crée automatiquement un dossier du même nom que votre fichier Arduino. Il est conseillé, lorsque vous voulez déplacer vos fichiers, de déplacer le dossier entier plutôt que le fichier .ino directement. Au quel cas, il pourrait y avoir des problèmes de compilation.

Lorsque votre fichier est prêt à être téléchargé vers l’Arduino, branchez votre carte grâce au câble USB fourni.

Ensuite, allez dans le menu Outils, puis Type de carte, sélectionnez le modèle de votre carte (nous utiliserons en général l’Arduino UNO).

selecteur-de-carte

Toujours sous le menu Outils, survolez le menu Port, sélectionnez celui qui correspond à votre Arduino. Si vous ne savez pas quel port cocher, mémorisez simplement ceux qui sont affichés, débranchez votre Arduino, re-regardez dans le menu port, celui qui a disparu est votre Arduino. Re-branchez le et sélectionnez le bon port.

selecteur-de-port

Maintenant que nous avons indiqué au logiciel où se trouvait notre Arduino, on va pouvoir téléverser le programme.

Jetez un œil sur la barre bleue, les deux premiers logos sont ceux que vous allez utiliser :

barre-bleue

 

Le premier tout à gauche sert à la vérification de votre code, le logiciel affichera les erreurs que votre code pourrait contenir.

Le deuxième (flèche qui pointe vers la droite), envoie le programme à l’Arduino mais pas que : il vérifie d’abord si votre code est correct (si vous pensiez vous en tirez comme ça c’est pas de chance ;-)).

Si le téléversement à réussi, vous verrez dans la barre bleu en bas le message : « Téléversement terminé ». Votre Arduino sera déjà entrain d’exécuter votre programme.

 

Et Après ?

A présent, vous savez comment fonctionne une carte Arduino. L’univers Arduino est une véritable mine d’or pour les créatifs, les hobbyistes ou toute personne intéressée à l’idée de créer des objets interactifs.

De plus, la carte Arduino étant Open-Source, c’est-à-dire qu’elle est libre de droit, vous pouvez même créer la votre. Nombre de personnes passionnés travaillent dessus et échangent sur des forums. Sur ce blog vous trouverez de quoi bien débuter avec l’Arduino, mais je vous encourage vivement à vous aventurer sur internet et chercher par vous même un projet/prototype qui vous intéresse à mettre en place.

La carte Arduino est, à ce jour, au cœur de nombreuses architectures informatiques/objets connectés comme l’imprimante 3D pour ne citer qu’elle.

Voici quelques projets qui vont donneront envie d’en apprendre plus, chacun réalisé à partir d’un Arduino  :

Un prototype de maison automatisée avec un système de sécurité à base de caméras et de capteurs :

 

 

Un trieur de M&M’s, le Youtubeur vous montre toutes les étapes, de la conception à la réalisation en passant par le code, NB : il utilise une version réduite de l’Arduino : l’Arduino Nano, très intéressante car comme le nom le suggère elle est encore plus petite que l’Arduino UNO :

 

 

À propos de l'auteur

Laisser un commentaire

Haut