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.

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.

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
- Arduino Distance Buzzer * : utiliser un buzzer et des leds pour traduire la distance d’une personne au capteur.
https://www.instructables.com/id/ARDUINO-DISTANCE-BUZZER/

- Distance Sensors Lab ** : affichage de la distance grâce à un afficheur 7 segments.
https://www.instructables.com/id/Distance-Sensors-Lab/

- Moving by distance *** : traduire visuellement la position de deux personnes avec deux capteurs de distance, et processing pour l’affichage écran.
https://www.instructables.com/id/Moving-by-Distance/

b. capter et restituer le son
- https://www.instructables.com/Arduino-Based-Visual-Music-Display/
- Draw Sound With Arduino ** : suivre un dessin au crayon gras peut produire du son.
https://www.instructables.com/id/Draw-Sound-With-Arduino/

- Arduino Vu Meter using a sound sensor * : mesurer le niveau sonore avec un capteur de bruit et le traduire avec des leds. Attention, penser à rajouter une résistance pour chaque led (150 ou 220 Ohms).
https://www.instructables.com/id/Arduino-Vu-Meter-Using-a-Sound-Sensor/

- Music Synced Led Lamp * : Le niveau sonore reçu par un capteur est traduit en lumière avec des leds.
https://www.instructables.com/id/Music-Synced-LED-Lamp-using-Arduino-and-Sound-Sens/

c. Utiliser des afficheurs, écran lcd ou matrice de pixels
- Arduino Game by LCD **** : un petit jeu de plateforme avec un bouton et un simple écran LCD 2 lignes.
https://create.arduino.cc/projecthub/muhamd-magdy/arduino-game-by-lcd-9a3bc2?ref=platform&ref_id=424_trending___&offset=115

- Making LCD Thermometer With Arduino and LM35 ** : un capteur de température, dont la valeur est affichée sur un écran LCD.
https://create.arduino.cc/projecthub/TheGadgetBoy/making-lcd-thermometer-with-arduino-and-lm35-36-c058f0?ref=platform&ref_id=424_trending___&offset=236

- Programming 8×8 LED Matrix *** : programmer une matrice de leds pour afficher des pictos.
https://create.arduino.cc/projecthub/SAnwandter1/programming-8×8-led-matrix-23475a?ref=platform&ref_id=424_trending___&offset=110

- Arduino LCD Project for Measuring Distance ** : tout est dans le titre, la distance sera affichée sur un écran LCD.
https://www.instructables.com/id/Arduino-LCD-Project-for-Measuring-Distance/

d. Connecter Arduino et Processing
- How to control a Simple Processing Game with Arduino *** : un jeu de plate forme où la position d’un avion est déterminée par un capteur de distance.
https://www.instructables.com/id/How-to-control-a-simple-Processing-game-with-Ardui/

- Controlling an RGB LED with Arduino And Processing ** : ici la communication part de processing pour piloter la couleur d’une LED RGB.
https://www.instructables.com/id/Controlling-an-RGB-Led-with-Arduino-and-Processing/

- Arduino Sonar *** : détecter la position de quelqu’un et la traduire grâce à Processing sur une image type sonar.
https://create.arduino.cc/projecthub/faweiz/arduino-radar-69b8fe?ref=platform&ref_id=424_trending___&offset=136

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



