Arduino – Initiation

Dernière mise à jour le 10 novembre 2023 par LMD

1. Introduction

Arduino est un système Open Source de prototypage pour des installations interactives. C’est une marque italienne, créée dans les années 2000, qui propose des cartes électroniques et un logiciel.

Chaque carte Arduino est comme un minuscule ordinateur. La plus populaire et la plus utilisée des cartes Arduino, l’Arduino UNO, a une puissance équivalente au premier ordinateur Apple, mais pour un prix de 25 euros environ! C’est la meilleure carte pour débuter.

Il existe de nombreuses variantes d’Arduino, produites par différentes marques. Il faut éviter absolument les imitations chinoises à bas prix. Par contre, un autre grand système concurrent est le Raspberry PI, plus puissant mais plus complexe qu’Arduino.

Pour comprendre les différences entre les diverses cartes Arduino, voir ce lien, très clair : https://www.generationrobots.com/blog/fr/bien-choisir-sa-carte-arduino-ce-nest-pas-si-difficile/

Pour utiliser le système Arduino, il faut :
– Télécharger et installer le logiciel gratuit IDE Arduino : https://www.arduino.cc/en/Main/Software
– Acheter un matériel minimal : une carte Arduino reconnaissable dans le kit ci-dessous, un câble USB A-B (au dessus de la carte), une BreadBoard (en bas à droite), des câbles de prototypage (en bas à gauche). Pour pouvoir faire quelque chose, il faut également une alimentation électrique (en haut à droite), des capteurs, des actionneurs (leds ou autres) et quelques composants électroniques (résistances, etc.).

Le kit ci-contre est une partie de l’Arduino Starter Kit, vendu sur le site d’Arduino pour un peu moins de 100 euros.

Depuis juin 2023, une nouvelle version de la carte Arduino Uno est sortie, il s’agit de la Rev4. Elle intègre pour le même prix, une carte WiFi et une matrice de leds. Indispensable!

2. Mise en œuvre

a. Comprendre les entrées-sorties sur une carte Arduino

L’essentiel est décrit simplement sur le schéma ci-dessous. Vous pouvez retrouver ces informations plus détaillées sur ce lien : https://www.locoduino.org/spip.php?article57

Pour une description beaucoup plus pointue, voir : https://bentek.fr/2-arduino-uno/

b. Les branchements

Prenez votre matériel et procédez dans l’ordre ci-dessous

-> Raccordez la carte à l’ordinateur :
(1. Prise USB ci-dessus) à une prise USB de l’ordinateur avec le câble USB A-B.

Évitez de toucher la carte quand elle est branchée à cause de l’électricité statique, néfaste (et parfois fatale) pour les circuits électroniques. Débranchez toujours la carte avant toute manipulation.

-> Indiquez à l’IDE Arduino sur quelle prise de votre ordi vous avez branché votre carte. Lancez Arduino et Menu Outils > Port > USB… (le choix dépend de votre ordi)


-> Indiquez quelle carte vous utilisez. Menu Outils > Type de carte > Arduino UNO.

L’attribut alt de cette image est vide, son nom de fichier est port-1024x509.png.
c. Fonctionnement d’une breadboard

Les deux lignes latérales amènent l’alimentation électrique (ci-dessous en bleu et jaune; sur les cartes standard elles sont en noir et rouge et indiquées respectivement moins et plus, parfois bleu et rouge). Elles doivent être raccordées à la carte :
PIN + (5V) cordon rouge
PIN – (GND ou terre) cordon noir.
Respectez bien ces couleurs, elles sont conventionnelles et permettent de ne pas se tromper, de ne pas faire de courts circuits, donc de ne pas griller la carte et les composants branchés.

Au centre de la carte, le courant passe le long de chaque colonne, en suivant le trait rouge. Sur la ligne du milieu, le courant est interrompu.

BreadBoard vue de dessous. On voit clairement les parties métalliques qui conduisent le courant électrique

Pour plus de détails, consultez : https://www.robot-maker.com/ouvrages/2-1-utiliser-breadboard/

d. Comment alimenter sa carte?

La plupart du temps, l’alimentation vient de la prise USB en branchant sa carte sur son ordinateur. Lorsqu’il s’agit de montages simples ou de téléverser son code de l’ordi à la carte, pas de problème.
Pour la suite, il est recommandé d’utiliser une alimentation spécifique. Une pile 9V ou un adaptateur secteur entre 5V et 12V max feront l’affaire.

Toujours vérifier si la prise offre la bonne polarité (centre positif, à vérifier avant de brancher).

https://zestedesavoir.com/tutoriels/364/alimenter-une-arduino-sans-usb/

3. Utiliser des leds

Par groupe de trois étudiants, vous allez explorer l’usage des leds avec le matériel fourni, Il s’agit de faire clignoter une led.
Ce code « Blink » est le « Hello World! » des utilisateurs d’Arduino.

a. Branchements

Reproduisez le montage ci-dessous, en prenant soin de débrancher d’abord la carte de votre ordinateur.

Vous utiliserez la pin digitale 13 de votre carte Arduino, reliée au fil rouge. Placez sur la breadboard une résistance de 220 Ohms et la led dans le bon sens (la petite patte dit être reliée au MOINS, fil noir).

b. Le Code

Tapez le code nécessaire ci-dessous pour faire clignoter la led.

void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);
delay (1000);
digitalWrite(13, LOW);
delay (1000);
}

Chargez-le sur la carte (Bouton Téléverser en forme de flèche en haut à gauche). Vérifiez que cela fonctionne.

Modifiez le code pour changer le rythme de clignotement (vous pouvez ajouter une variable pour le modifier le délai).
Essayez de créer un rythme plus élaboré qu’un simple clignotement.

c. Variantes

-> Codez un scénario utilisant une ou plusieurs leds, en variant si besoin les couleurs des leds. Chaque LED doit être reliée à une pin différente.
Pour trouver des idées, voir par exemple :
– un chenillard (http://www.locoduino.org/spip.php?article1),
– un feu tricolore (http://diylisec.over-blog.com/2016/01/robotics-note-1-feu-tricolore.html),
– un dé (https://www.instructables.com/Arduino-Led-Dice/),
– une matrice 3×3, ou autre.

ATTENTION :
– NE PAS UTILISER PLUS DE 10 LEDS À LA FOIS
– TOUJOURS UNE SEULE LED PAR PIN
– UNE RÉSISTANCE PAR LED

-> Utilisez des leds en programmant des fondus en PWM.
Voir ce tutoriel : https://www.arduino.cc/en/Tutorial/Fade
Imaginez également un mini scénario exploitant le PWM avec 2 ou 3 leds.

-> Allez voir ce tutoriel pour comprendre pourquoi  la commande delay() n’est pas idéale :
https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
Mettez ce montage en œuvre et testez-le.

-> Pour ne pas faire de bêtises en utilisant des leds : https://www.locoduino.org/spip.php?article5
Attention, c’est un peu plus technique, mais c’est court et cela permet d’approcher des notions fondamentales d’électricité.

4. Utiliser des capteurs

Une LED est un actionneur, c’est-à-dire un élément placé en SORTIE. On peut utiliser du son et plein d’autres composants comme éléments de sortie. Mais pour générer de l’interaction, il faut aussi utiliser des ENTRÉES : les capteurs.

Pour vous convaincre de la diversité des capteurs disponibles sur le marché, allez voir sur une boutique en ligne qui vend du matériel Arduino : https://www.gotronic.fr/cat-capteurs-1114.htm
Il y en a pour tous les goûts, tous les projets et à tous les prix. Le plus dur, parfois, est de trouver comment les faire fonctionner avec votre carte Arduino et il est souvent nécessaire de rajouter des Bibliothèques (sortes d’extensions) à votre IDE.

a. Mise en pratique avec un capteur de distance

-> Par groupes de 3, vous allez commencer à explorer l’utilisation d’un capteur GROVE Ultrasonic Sensor V2.0 (soit un capteur de distance). Allez voir la documentation de ce capteur sur le site du fabricant :
https://wiki.seeedstudio.com/Grove-Ultrasonic_Ranger/
Le système GROVE propose des cartes toutes faites simples à connecter avec un plateau à rajouter à la carte Arduino, le Base Shield GROVE.

Vous allez devoir utiliser une carte Grove Base Shield à pluger sur votre carte Arduino (attention à ne pas tordre les broches) et installer une Bibliothèque supplémentaire : Menu croquis > Inclure une bibliothèque > Gérer les bibliothèques…
Pour toutes ces opérations, tout est expliqué dans le WikiSeed

Une fois que le code exemple fonctionne, imaginez quoi faire avec ce capteur et des leds. Réalisez les branchements nécessaires et modifiez le code en conséquence.

Pour utiliser d’autres capteurs, vous trouverez sur cette page (https://wiki.seeedstudio.com/Grove_Sensor_Intro/) des liens vers des guides thématiques. Essayez de trouver la page consacrée à votre capteur. Une fois trouvée, cherchez le titre « Play with Arduino » et suivez les étapes.

b. Variante

Puis, vous allez choisir, parmi ceux proposés, un autre capteur GROVE à votre convenance. Cherchez-en la mise en œuvre pour Arduino sur le wiki du site Seeduino et connectez-le à une sortie de votre choix : led ou autre. Testez que le capteur fonctionne bien et produise l’effet souhaité.

http://wiki.seeedstudio.com/
Voir la section GROVE dans le Menu de gauche. Cherchez bien la doc liée à votre capteur dont la référence est inscrite sur le circuit imprimé.

5. Exploration de briques techniques plus élaborées

Cette dernière partie peut-être commencée aujourd’hui si vous en avez le temps et poursuivie par vous-même ensuite.

Il vous est demandé de consulter un des projets proposés ci-dessous et d’essayer de le mettre en œuvre en rassemblant le matériel nécessaire (Bien noter ce que vous empruntez) par groupes de 3 étudiants, avec une carte UNO.
Il s’agit ici d’utiliser des composants individuels. Vous choisirez un projet dans un thème. Chaque groupe doit traiter un projet différent des autres afin de ne pas tous acquérir les mêmes compétences et pouvoir ensuite les partager.
La plupart du temps, il sera possible de remplacer certains composants par leur équivalent chez Grove, plus simples à utiliser, mais cela aura une conséquence sur le code fourni, qu’il faudra adapter.

ATTENTION, je n’ai pas testé ces tutoriels. Je vous aiderai donc dans leur mise en œuvre. Ne vous découragez pas si cela ne fonctionne pas tout de suite. Il faut persévérer car le chemin du maker est souvent semé d’embûches. Mais le résultat est à la hauteur de votre pugnacité.

Vous découvrirez également par ces tutoriels combien il est important dans le domaine de l’OpenSource de documenter correctement et de partager vos propres montages futurs.

Le niveau de difficulté est indiqué pour chaque projet par le nombre d’étoiles : * simple, ** intermédiaire, *** évolué.
Faites votre choix, venez récupérer le matériel nécessaire et lancez-vous en suivant le tutoriel en lien :

a. Capteur de distance à ultrasons HC-SR04
b. capter et restituer le son
c. Utiliser des afficheurs, écran lcd ou matrice de pixels
d. Connecter Arduino et Processing

6. Pour aller plus loin

Un guide d’initiation en français, plutôt complet pour démarrer avec Arduino : https://www.unilim.fr/pages_perso/deneuville/docs/Info2PC/Cours4.pdf

Quelques liens vers des ressources utiles

– Il faut toujours s’appuyer sur le site officiel Arduino. En fouillant un peu, vous y trouverez les explications des codes d’exemples fournis avec l’IDE : Menu Fichier > Exemples (https://www.arduino.cc/en/Tutorial/BuiltInExamples), ainsi que de nombreux projets inspirants.
– Fritzing, logiciel gratuit de prototypage virtuel. Indispensable pour dessiner et documenter ses propres circuits : https://fritzing.org/home/
– Le blog d’Eskimon, une mine sur Arduino et l’électronique. Assez pointu : https://eskimon.fr/
– Zeste de savoirs : https://zestedesavoir.com/tutoriels/757/la-fabrication-numerique/1079_arduino/
– Le cours d’OpenClassroom, un bon cours en français, à suivre sur la longueur, pour acquérir plus de maîtrise : https://openclassrooms.com/fr/courses/2778161-programmez-vos-premiers-montages-avec-arduino

Et pour trouver l’inspiration

– Le site Arduino : https://create.arduino.cc/projecthub
– Le site Instructables d’Autodesk : https://www.instructables.com/howto/arduino/
– Le site CreativeApplications : https://www.creativeapplications.net/category/arduino-2/
– Le site de Semageek, une boutique Arduino en ligne : http://www.semageek.com/category/electronique/arduino-electronique/
– Le site de SeedStudio, qui développe le système GROVE : https://www.seeedstudio.com/grove.html?t=Grove

Design collaboratif