Premiers pas avec Arduino

Auteur avatarPierre Bergeret | Dernière modification 11/05/2020 par Pierre

Premiers pas avec Arduino intro cartearduino sml.png

Introduction

Si vous avez déjà entendu parler des cartes Arduino mais que vous ne comprenez pas ce que c’est et pourquoi elles permettent de réaliser de nombreux projets, alors vous êtes sur la bonne page. Le but ici est d’expliquer ce que sont les cartes arduino, puis de réaliser un montage très simple afin de comprendre leur fonctionnement. Le mieux pour suivre cette page est d’avoir un kit débutant Arduino, mais si vous n’en avez pas vous pouvez aussi suivre la page sur Tinkercad (https://www.wikidebrouillard.org/wiki/Tinkercad_pour_Arduino ) afin de voir comment réaliser ce montage sur un simulateur.

Étape 1 - Explications de base sur le materiel

Image Carte.png
Les cartes Arduino sont des microcontrôleurs, des sortes de mini-ordinateurs capable de mémoriser des informations, de les traiter de la manière qu’on le souhaite avec un programme et de recevoir et d’envoyer des signaux électriques. Ces deux dernières possibilités sont réalisables grâce aux broches de l’Arduino (aussi appelée pin), pour l’instant nous nous intéressons seulement à celles numérotées de 0 à 13, entourées en rouge sur l'image.

La carte est alimentée en électricité par les prises sur le côté gauche.

Étape 2 - Le circuit électrique

Canaux breadboard.png
Dans le montage que nous allons réaliser, nous allons faire clignoter une LED. Pour cela, il va falloir créer un circuit électrique qui relie la carte et la LED, puis programmer la carte pour lui demander alternativement d’envoyer puis de ne pas envoyer de courant dans ce circuit. Pour cela nous avons besoin de la carte, d’une breadboard, de câbles, d’une LED et d’une résistance (à notre stade n’importe quelle résistance fera l’affaire, pourvu qu’elle ne soit pas trop forte). Le courant va être envoyé à partir d’un pin de la carte (disons le pin 1 pour l’exemple), il faut donc relier ce pin a la breadboard par un câble. Sur la breadboard, les canaux latéraux de la breadboard (ceux marqués d’un – et d’un +) sont tous connecté entre eux horizontalement, tandis que les canaux à l’intérieur sont connectés par rangée verticale, les séparations sont représentées sur le schéma de la breadboard par les lignes vertes.

·        Avec un câble, reliez le pin 1 avec une des rangées verticales de la breadboard. Sur cette même rangée, placez la patte la plus longue de la LED (aussi appelée la cathode), et branchez l’autre patte sur une autre rangée verticale.

·        Sur cette nouvelle rangée, branchez la patte courte (l’anode) ainsi qu’une des pattes de la résistance.

·        Branchez l’autre patte de la résistance sur une nouvelle rangée verticale, et enfin reliez cette rangée avec l’un des pins GND de la carte (il s’agit du ground en anglais, l’endroit où le circuit se termine).

Vous pouvez voir ce que cela donne avec l'image du schéma issus de Tinkercad, et ce que cela donne en vrai avec la photo de mon circuit connecté à ma carte.


Circuit Schéma Tinkercad.png

Photo circuit.png


De cette façon si on demande à la carte d’envoyer du courant par le pin1, l’électricité va circuler à travers le circuit et allumer la LED au passage.

Étape 3 - Programmation

Lancez le logiciel Arduino (disponible ici : https://www.arduino.cc/en/Main/Software), puis connectez votre carte à l’aide du câble USB. Vérifiez bien que votre carte est connectée, si c’est bien le cas la ligne « port » en dessous de la ligne « type de carte » devrait indiquer quelque chose comme « COM4(Arduino Uno) », si ce n’est pas le cas et que cette ligne est grisée cherchez dans « type de carte » « Arduino Uno ».

Le logiciel propose un code vierge, effacez-le et collez ce code a la place :
int pinLed = 1;
void setup()
{
  pinMode(pinLed, OUTPUT);
}

void loop()
{
  digitalWrite(pinLed, HIGH);
  delay(1000); 
  digitalWrite(pinLed, LOW);
  delay(1000); 
}
Cliquez sur « Téléverser » pour envoyer le programme.

Comment ça marche ?

Observations : que voit-on ?

La LED devrait se mettre à clignoter une seconde toute les secondes.

Mise en garde : qu'est-ce qui pourrait faire rater l'expérience ?

Faute de frappe dans le programme, téléversement impossible à partir du logiciel Arduino (si le type de carte n'est pas correctement précisé ou encore si le logiciel n'est pas à jour...), circuit incorrectement monté.

Explications

Le programme est une suite d’instruction pour la carte :

·        dans la première ligne on demande à la carte de définir le chiffre 1 à la variable « pinLed », ce qui nous permettra plus tard de modifier facilement quel pin de sortie on veut choisir.

·        Ensuite la partie « Setup » après « Void Setup » est une portion de code que la carte doit effectuer une seule fois, on s’en sert pour initialiser les paramètres. Ici la ligne « pinMode(pinLed, OUTPUT) » demande à la carte de définir le pin1 (puisque pinLed a été définie plus tôt par 1) en sortie, pour la préparer à envoyer du courant.

·        Enfin la partie « Void Loop » est la portion de code qui va se répéter en boucle. Nous avons quatre lignes ici :

o  La ligne « digitalWrite(pinLed, HIGH); » demande à la carte d’envoyer du courant par le pin1.

o  La ligne « delay(1000); » ordonne de mettre le programme en pause pendant une seconde (le chiffre 1000 indique le temps d’attente en millisecondes).

o  La ligne suivante « digitalWrite(pinLed, LOW); » ordonne à la carte d’arrêter d’envoyer du courant par le pin1.

o  Et enfin la dernière ligne demande à nouveau d’attendre une seconde.

Les parties Void Setup et Void Loop sont obligatoires pour tous les codes Arduino, sinon cela provoque une erreur.

Pour résumer, on demande à la carte de définir « pinLed » sur 1, puis de définir le pin1 comme une sortie et ensuite on lui demande en boucle d’envoyer du courant par ce pin pendant une seconde puis d’arrêter d’en envoyer pendant une seconde.

Au final la LED (qui est connectée dans le circuit électrique au pin1) devrait donc clignoter en brillant une seconde toute les secondes.

Il est possible de modifier le programme pour faire clignoter la LED plus rapidement par exemple, en mettant des temps d’attente plus court. Si on met « 500 » à la place de « 1000 » dans les « delay » la LED clignotera deux fois plus vite. Il est également facile de modifier le pin de sortie si besoin, il suffit de changer le « 1 » par le pin de votre choix dans la ligne « int pinLed = 1 ».

Applications : dans la vie de tous les jours

Ici on a vu comment régler un pin en mode sortie, mais sachez que l’on peut également régler les pins en mode entrée et de demander à la carte de lire si du courant y circule et d’effectuer certaines actions si c’est le cas. C’est ce qui se passe notamment quand on utilise des capteurs. Par exemple, on pourrait commander l’allumage de la LED avec une télécommande infrarouge. Il faudrait pour cela brancher un capteur infrarouge sur un pin d’entrée de la carte. Lorsque l’on enverrait des ondes à l’aide d’une télécommande le capteur ferait circuler du courant dans ce pin, et la carte pourrait être programmée pour allumer la LED uniquement si c’est le cas. Une application possible de ce fonctionnement dans la vie de tous les jours sont les télécommandes de télévision. Chaque touche envoie un train d’onde particulier que la télévision interprète comme un ordre (changer de chaîne, augmenter le volume, la luminosité, …). Il existe de nombreux capteurs, sensibles à l’humidité, le mouvement, la lumière, etc.

Éléments pédagogiques

Objectifs pédagogiques

Apprendre à se servir des cartes Arduino est un très bon moyen pour comprendre comment fonctionne de nombreux objets électroniques du quotidien.

Pistes pour animer l'expérience

A partir de ce montage très simple, vous êtes désormais en mesure de comprendre pourquoi les cartes Arduino permettent de réaliser un si grand nombre de projet, et de les réaliser vous-même en suivant correctement les instructions (vous pouvez essayer des projets du site wikidébrouillards). Un exemple notable : Il est possible de demander à la carte d’envoyer du courant non pas dans une LED mais dans un moteur à la place, ce qui entraîne sa rotation, et de lui demander de le faire que quand on appuie sur le bouton d’une télécommande (grâce à des capteurs et aux pins d’entrées), une étape nécessaire a la fabrication d’une voiture ou d’un robot téléguidé.

Sources et ressources

Le cours openclassroom pour les novices sur Arduino est vraiment bien écrit si vous voulez tirer tout le potentiel de votre kit débutant.

Dernière modification 11/05/2020 par user:Pierre.

Commentaires

Published