Publié le 24 août 2023 - par

Arduino 3ème Edition : un livre de Jean-Christophe Quetin aux Editions ENI

Spécialiste d’Arduino et de Micro:bit, habitué à former des collégiens et lycéens, Jean-Christophe a craqué pour ces cartes de développement. Nous avons souvent participé ensemble à des événements makers comme la Maker Faire Paris ou la Maker Fight de Mulhouse, avec des stands voisins. J’ai pu apprécier l’homme mais aussi le maker et ses projets présentés avec passion. Je vous parle ici de la troisième édition de son livre sur Arduino.

Arduino de Jean-Christophe Quetin

Apprivoisez l’électronique et le codage

L’auteur du livre

Jean-Christophe, spécialiste d’Arduino et Micro:bit est utilisateur de MakeCode et MicroPython. Il travaille avec des collégiens et d’autres acteurs du microcosme comme Jean Reynaud (https://larajtekno.info/) ou Dominique Meurisse (https://arduino103.blogspot.com/).
Le livre s’appuie sur des exemples concrets (feux de circulation, générateur de morse, enregistreur de température…) mais aussi amusants (jouer de la musique avec des bananes, fabriquer un chapeau clignotant, une manette de jeu, un clone du jeu Simon…)

 

Présentation du livre

(texte présent sur la page de couverture)

Ce livre s’adresse aussi bien aux professeurs des écoles, professeurs de technologie, animateurs et parents qui souhaitent découvrir le fonctionnement de l’Arduino et appréhender l’apprentissage de l’électronique et du codage, qu’aux utilisateurs, amateurs de DIY qui cherchent à rafraîchir leurs connaissances ou trouver des idées pour la réalisation de projets maker nécessitant un microcontrôleur (détecteur de CO2, robot, jeux…).

Tout au long du livre l’auteur s’appuie sur des exemples concrets et ludiques : gérer des feux de circulation, envoyer un message en morse, créer un appareil enregistrant l’évolution des températures, jouer de la musique avec des bananes, contrôler plusieurs types de robots (mBot, Zumo, OTTO, Keyestudio 4WD Mecanum…), fabriquer un chapeau clignotant, un panneau de LED RGB, une manette de jeu, une télécommande pour ordinateur ou un clone du jeu Simon… Dans cette nouvelle édition, un nouveau chapitre présente désormais différentes cartes Arduino avec de nombreux exemples d’utilisation.

Pour commencer, vous ferez connaissance avec le matériel nécessaire, et particulièrement l’Arduino Uno. L’auteur consacre un chapitre aux notions indispensables d’électricité.

Vous découvrirez les principaux langages de programmation de l’Arduino et l’utilisation de l’IDE Arduino (versions 1 et 2) sous Windows, Mac OS X, Linux et Android. Vous étudierez la programmation par blocs avec Scratch, mBlock et Vittascience.

Pour illustrer les principes de base du codage, vous travaillerez sur des exemples concrets et vous utiliserez les composants électroniques les plus courants au format modules Grove ou Breadboard (LED, boutons, résistances, potentiomètres, buzzer) puis des composants et modules plus spécialisés comme les capteurs (analogiques ou numériques), les LED adressables (Neopixel), les relais, les différents types de moteurs ou les modules d’affichage (à LED ou LCD), de lecture/écriture (RFID, carte SD) ou de gestion du temps (horloge en temps réel).
Afin de faciliter l’apprentissage, tous les programmes de base sont présentés en deux versions : langage blocs et langage Arduino.

Dans un chapitre dédié, l’auteur explore différents modes de communication de l’Arduino (bus I2C, liaisons série, Bluetooth, radio, infrarouge, Ethernet, et USB avec le Raspberry Pi). Il poursuit avec la présentation d’autres modèles de cartes électroniques comme l’Arduino UNO Mini Limited Edition, l’Arduino Nano, l’Arduino Nano Every, l’Arduino Leonardo, l’Arduino Micro, l’Arduino Mega 2560, l’Arduino Zero, les Arduino MKR, l’Arduino Due et les mini cartes XIAO de Seeed Studio. La fabrication d’un Arduino avec le kit « Make Your UNO » ou à partir d’un microcontrôleur ATmega328P (et de quelques composants électroniques) est également détaillée.

Le dernier chapitre regroupe les principales instructions de l’IDE Arduino permettant de retrouver facilement une fonction pour en vérifier la syntaxe.

Les sketchs utilisés dans les chapitres 6 à 10 sont disponibles en téléchargement sur le site www.editions-eni.fr (et le code Vittascience est partagé sur le site).

Chapitre 1 – Présentation de l’Arduino

Jean-Christophe commence par une présentation de l’Arduino depuis sa création, ses clones basés sur des schémas et des typons de circuits imprimés (PCB) libres (FreeDuino, Metro d’Adafruit, Seeeduino…). La carte s’inscrit dans le mouvement maker car elle est facile à appréhender et à mettre en œuvre. Ses possibilités sont immenses et les exemples du livre ne font qu’effleurer les capacités de la carte, tout en donnant les bases pour se lancer dans des projets beaucoup plus ambitieux.

Chapitre 2 – Description technique

 

Ce chapitre est une description technique assez fine de la carte , depuis le PCB jusqu’aux entrées/sorties en passant par le microcontrôleur et le port USB.

 

Chapitre 3 – Matériel nécessaire

 

Ici vous trouverez les outils de base du maker « Arduino » : le multimètre, le fer à souder, et autres tournevis, pinces, cutters…
L’auteur aborde ensuite les shields (cartes d’extension) comme le Motor Shield, Easy Module Shield, ou encore le shield multifonction qui regroupent de nombreuses fonctions pratiques pour apprendre à programmer sans manipuler câbles ou fils. C’est d’ailleurs cette dernière carte que j’utilise lorsque j’anime des formations Arduino.
Il existe des dizaines de cartes d’extension, il est impossible de toutes les décrire mais vous aurez des éléments pour orienter votre choix.
Les connecteurs spéciaux complètent cette description. On y trouve Grove de Seeeduino, Gravity de DF Robots, mbot…

 

Jean-Christophe décrit également une source intéressante de matériel pour un maker, les lecteurs de DVD, disques durs, alarmes, jouets, appareils électroniques … dont certains éléments peuvent avoir une deuxième vie dans vos projets : blocs d’alimentation, aimants, LEDs, moteurs, buzzers, interrupteurs… J’appelle ça CPTS (Ça peut toujours servir) et comme tout bon maker j’en ai toujours une certaine quantité en stock, au détriment du WAF bien entendu… Après ça arrive de temps en temps d’avoir besoin d’un CPTS pour un projet, et de se rappeler qu’on a emmené le bazar à la déchetterie il y a 15 jours 😥
Vous trouverez ensuite quelques conseils au cas où vous souhaiteriez acheter un peu de matériel. Si vous êtes patient(e) les sites asiatiques sont une bonne source à condition de pouvoir patienter quelques semaines.

Chapitre 4 – Connaissances de base

Ce chapitre donne aux débutants les bases nécessaires à la compréhension de l’électricité : tension, courant et sens de circulation, puissance… Cela permet d’aborder l’alimentation des cartes Arduino à partir d’alimentations secteurs diverses, ou de blocs de piles, panneau solaire… C’est ensuite la breadboard (carte de prototypage) et son utilisation qui sont décrites. On a aussi une approche des résistances, LEDs, condensatuers, quartz, buzzer, capteurs, transistors, relais, circuits intégrés, moteurs (CC, servo, PAP). Chaque élément a droit à une courte description, un schéma et quelques notions indispensables à sa mise en œuvre.

Chapitre 5 – Les langages de programmation

Ici vous découvrirez les langages de programmation en commençant par le très officiel IDE. Pour les débutants vous apprendre comment l’installer sous Windows et… sous Linux ! ( 😛  merci Jean-Christophe). Si vous ne le connaissiez pas vous verrez aussi ArduinoDroid pour programmer un Arduino depuis une tablette ou un smartphone Android.

Vous rentrerez ensuite dans l’IDE avec une présentation de l’interface. L’Arduino peut également se programmer en Scratch, mBlock, VittaScience… Certains langages sont disponibles en ligne et/ou en local.
L’écosystème Arduino repose aussi sur des librairies. Certaines sont déjà présentes dans l’IDE, Jean-Christophe vous explique comment en installer de nouvelles grâce au gestionnaire de librairies.
Vous apprendrez aussi dans ce chapitre à décoder les messages d’erreur (qui n’en fait pas ?) pour déboguer vos programmes. Le moniteur série pourra aussi vous aider pour détecter les bugs.

Chapitre 6 – Premiers sketchs

Le chapitre 6 présente le programme de base, contenu dans l’Arduino qui vous arrive tout neuf : Blink. Ce programme fait juste… clignoter la LED orange qui se trouve sur la carte. En environnement Arduino, un programme s’appelle un sketch (croquis en français). Il est écrit dans un langage qui se rapproche du C ou du C++.
Les premières fonctions setup[ ] et loop[ ] ainsi que les commentaires seront votre première rencontre avec le langage Arduino.

Le premier « vrai » programme que vous écrirez sera un générateur de code Morse sur une LED externe.Vous connecterez une LED montée sur une breadboard à l’Arduino et vous la ferez d’abord clignoter (avec l’IDE et Scratch) pour vérifier que tout est bien connecté.

La découverte des constantes et variables est ensuite la porte d’entrée vers le générateur de code Morse.Jean-Christophe présente plusieurs solutions en IDE et en Scratch qui montrent bien qu’un même problème peut avoir plusieurs solutions.C’est aux choix faits pour créer le programme qu’on reconnait la « patte » du développeur (son expérience, ses habitudes, sa maîtrise de l’environnement…). Il n’y a pas de honte à écrire un programme « linéaire » (sans boucles, sans fonctions…) quand on débute. L’important c’est qu’il fonctionne, qu’on prenne plaisir à le faire et à le voir fonctionner. Et s’il ne fonctionne pas (c’est fréquent) qu’on comprenne pourquoi il ne fonctionne pas, même si ça prend parfois du temps au début (et après aussi 😉  ).

Plus compliqués, les feux tricolores, un grand classique mais très pédagogique. A vous de gérer deux feux tricolores, composés chacun de 3 LEDs  Rouge, Jaune et Verte. Partez du programme que vous trouverez dans le livre. vérifiez qu’il fonctionne et amusez vous à faire des modifications, c’est comme cela que vous apprendrez. Après essayez de réécrire un programme de gestion des feux tricolores à votre sauce. pour ne rien vous cacher, c’est comme ça que je procède quand je découvre un nouveau périphérique ou un nouveau langage. D’autres sont déjà passés avant vous. Pas la peine de réinventer le fil à couper l’eau chaude, profitez de leur expérience pour accroitre la vôtre.
L’Arduino est doté de sorties analogiques (en fait des PWM). jean-Christophe vous explique comment créer une LED « pulsante » dont la luminosité varie progressivement. Après une analyse de l’organigramme, il vous propose une solution en IDE et en Scratch.
Cette approche permet d’aborder les boucles (infinies ou pas) et les fonctions.

C’est ensuite le bouton poussoir qui a la vedette. Vous verrez comment le connecter avec une résistance de tirage (interne ou externe). Cela vous permettra d’améliorer votre programme de feu tricolore en ajoutant un appel piéton qui fera passer le feu au rouge quand quelqu’un veut traverse. Après, dans la vraie vie, ils sont parfois inefficaces 😛

Mettre une temporisation dans un programme bloque son exécution. Vous découvrirez comment attendre un temps donné sans mettre le reste du programme en sommeil et aussi comment utiliser les interruptions.

Un compteur binaire sert à mettre en évidence les rebonds qui se produisent quand on appuie sur un bouton poussoir. Ce programme explique ce qu’est le code binaire largement utilisé en informatique, et comment supprimer l’influence de ces rebonds.

L’utilisation d’un potentiomètre sur une entrée analogique de l’Arduino vous montre comment utiliser une valeur analogique pour afficher sa valeur ou piloter la luminosité d’une LED. En utilisant 3 potentiomètres, vous ferez changer la couleur d’une LED RGB.

Dans la série des LEDs, on trouve aussi les Neopixels qui sont des LEDs RGB adressables. Elles sont bien entendu au menu et vous piloterez 1 ou plusieurs anneaux de LEDs après avoir ajouté la bibliothèque Adafruit_Neopixel dans l’IDE.

Le chapeau du maker utilise lui aussi des LEDs Neopixel mais en ruban cette fois. Un Arduino Nano (quelques euros en Chine), des piles un ruban de LEDs et c’est parti. Vous avez le chapeau qui étonne !

Le chapitre se poursuit avec la mise en œuvre d’un encodeur rotatif, d’un buzzer avec lequel vous pourrez jouer de la musique.

La musique c’est le prétexte pour créer un « Piano Banane » qui va amuser petits et grands. Pour avoir vu et utilisé ce piano (banane, orange, champignon…) sur le stand de Jean-Christophe à la Maker Faire Paris en 2019, je vous confirme qu’il est très attractif !

Le chapitre se clôt sur un jeu de Simon, inspiré du jeu vintage, un jeu de mémoire pour lequel l’Arduino est bien adapté.

Chapitre 7 – Montages avancés

Dans ce chapitre, comme son nom l’indique, on trouve des montages plus élaborés et mettant en œuvre des capteurs (lumière, température, distance, mouvement, humidité, inclinaison, champ magnétique…). Chaque capteur est décrit et un exemple (montage et programme) permet de le tester.

Les actionneurs viennent ensuite : Galvanomètre, relais (chauffage pour poussins), moteurs commandés par transistor ou pont en H sur breadboard ou sous forme de module.

Les servomoteurs sont décrits et utilisés pour un positionnement précis, pilotés avec 2 boutons poussoirs ou avec un encodeur rotatif. La commande d’un moteur pas à pas termine cette description.

Jean-Christophe détaille ensuite l’utilisation d’un afficheur 7 segments, puis de plusieurs avec le branchement de registres à décalage, avant de passer à la matrice de LEDs (8×8).

Avec ces matrices vous pourrez afficher des symboles ou créer un journal lumineux défilant.

Vous verrez aussi comment utiliser des matrices à LEDs RGB et des matrices de plus grande dimension, unitairement ou en en couplant plusieurs.

 

Vient ensuite un afficheur LCD qui vous permettra de personnaliser les messages émis par vos projets. Il comporte 2 lignes de 16 caractères (mais il y a d’autres dimensions) et il est piloté par le bus I2C. La version Grove de l’afficheur est également présentée. En adjoignant un capteur Grove DHT11 (Température + Humidité) vous aurez un appareil qui vous affichera ces informations dans une pièce ou à l’extérieur.

Si vous ajoutez un capteur de qualité de l’air vous pourrez compléter ce projet.

Pour utiliser des badges sans contact (RFID) Jean-Christophe vous propose d’utiliser un module RFID. C’est l’occasion de découvrir cette technologie et de créer une barrière dont l’ouverture est commandée avec un badge. Les fichiers pour l’impression 3D sont en téléchargement gratuit sur Thingiverse.

Ce chapitre se poursuit avec une horloge temps réel basée sur un circuit intégré spécialisé utilisé sous forme de module, bien plus précis que l’horloge interne de notre Arduino et maintenu par une pile. Ceci garantit qu’après une coupure (même longue) de l’Arduino, celui-ci récupèrera la date et l’heure exactes.

Vous pourrez aussi compléter vos projets avec un lecteur de carte SD ou microSD pour réaliser un enregistreur de données (ici on enregistre la température).

Chapitre 8 – Communication

Ce chapitre aborde la communication avec l’Arduino ou entre deux Arduino.
La liaison se fait avec le bus I2C par exemple, en mode Master Writer, ou en liaison série, sans passer par l’USB.
Avec un module Bluetooth on peut communiquer comme avec une liaison série classique, la liaison filaire est simplement remplacée par une liaison hertzienne sur 2,4 GHz.

Pour relier deux Arduino on peut aussi utiliser des modules 433 MHz comme ceux-ci, un émetteur et un récepteur. Ils pourront échanger des informations, ici on les utilise pour piloter l’allumage de LED’s à distance. Un montage avec une LED réceptrice infrarouge et une télécommande (infrarouge) de récupération (ancienne télé ou magnétoscope) est également proposé.

Le chapitre de la communication continue avec l’utilisation d’une carte d’extension Ethernet. qui raccordera votre Arduino au réseau local (derrière votre Box) ou à l’extérieur (accès depuis Internet). Votre Arduino pourra générer une page web grâce à laquelle vous interagirez à distance.

Pour les fans de Raspberry Pi, Jean-Christophe vous explique également comment échanger des données entre Arduino et Raspberry Pi.

La partie suivante m’intéresse particulièrement. Pour un drone que je n’ai jamais fini (eh oui!) j’ai en stock cette télécommande Flysky 2,4GHz avec son récepteur 6 voies.

Jean-Christophe nous explique comment utiliser le bus série de la télécommande avec un Arduino !

Je sens que ma télécommande va ressortir pour piloter un rover ou un truc comme ça 😀

 

Enfin si vous voulez vous amuser vous pourrez aller plus loin comme avec cette cafetière connectée, présentée en 2019 à Maker Fight Mulhouse et à la Maker Faire Paris.

Chapitre 9  – Robots

Dans ce chapitre ça bouge ! Il est consacré aux robots…

Vous saurez programmer la carte mCore du robot mBot avec sa clé Bluetooth en mode graphique (Blockly) ou en IDE. Le chapitre détaille les commandes de base et l’utilisation des capteurs embarqués. Vous verrez comment faire un suivi de ligne et comment éviter les obstacles.
Le robot se pilote avec une télécommande infrarouge, une manette Bluetooth ou une application de smartphone. Les exemples sont fournis et détaillés.
L’auteur aborde également les extensions disponibles pour mBot avec des exemples d’utilisation : Matrice de LEDs, mini pince, pack servomoteur, lanceur de balles, pack roue codeuse, pack chenille, pack 6 pattes… De quoi passer de bons moments.

Un autre robot est présenté : le Zumo. Il est très compact, équipé de chenilles et de puissants moteurs. Vous installerez sa bibliothèque dans l’IDE et vous pourrez vous amuser avec ses capteurs, suiveur de ligne, buzzer…

Le robot bipède Otto est un robot rigolo à monter soi-même. Il est équipé d’une carte Arduino et de 4 servomoteurs, un buzzer, un capteur de distance à ultrason et un Shield Nano. Vous le programmerez en IDE ou en Blockly.

Si vous êtes bricoleur ou bricoleuse, il est tout à fait possible de monter votre propre robot sur un châssis en carton en bois… Il sera peut être moins joli et moins fini qu’un produit du commerce, mais ce sera VOTRE robot. vous trouverez dans ce chapitre toutes les informations pour mener votre projet à bien.

Le robot Keyesstudio 4WD Mecanum fait son apparition dans cette édition. Les roues Mecanum comportent des roulettes libres inclinées à 45° ce qui permet au robot de tourner sur lui même ou de se déplacer en diagonale. De quoi s’amuser pour programmer cet engin !

Mais vous aurez également les informations pour fabriquer votre propre robot…

Les yeux animatronic sont souvent présents sur les stands lors des expos maker et fablab. Pour piloter les nombreux servomoteurs une carte Adafruit PWM 16 servos est utilisée. Ici vous trouverez ce qu’il faut pour les réaliser.

Chapitre 10  – Autres cartes de développement

C’est sans doute ce chapitre qui a subi le plus de mises à jour du fait de l’évolution permanente de l’écosystème Arduino ! Vous y trouverez les « autres » cartes, toutes celles qui peuvent remplacer ou compléter l’Arduino de base.Chaque carte est décrite afin de vous aider à choisir pour équiper un projet. L’auteur explique également comment ajouter ces cartes à l’IDE pour pouvoir les programmer.

Cartes fonctionnant sous 5 V

  • Arduino Uno Mini Limited Edition
  • Arduino Nano
  • Arduino Nano Every
  • Arduino Leonardo
  • Arduino Mega 2560

Arduino UNO Mini – Sorti pour célébrer les 10 millions de UNO vendus

Arduino Nano sur Breadboard

Cartes fonctionnant sous 3,3 V

  • Arduino Zero
  • La gamme MKR
  • Arduino Due
  • Les mini cartes XIAO de Seeed Studio
    • XIAO-SAMD21
    • XIAO-nRF52840 Sense
    • XIAO-ESP32C3
    • XIAO RP2040

Lecteur de fichiers audio avec l’Arduino MKR Zero

On peut par exemple construire son propre Arduino à partir d’un ATMega328P.

Le kit Arduino Make your UNO

L’Arduino Leonardo quand à lui utilise un contrôleur ATmega32U4 qui peut dialoguer directement via l’USB avec un PC ou un Raspberry Pi. La plupart des autres cartes Arduino nécessitent une puce dédié à cette fonction.

Vous apprendrez ici comment construire une télécommande pour votre ordinateur, avec un capteur infrarouge et un Arduino Pro Micro. Vous pourrez ainsi programmer des raccourcis pour VLC, Youtube, Netflix…

La gamme des cartes Seedstudio, détaillées dans ce chapitre

LED clignotante avec l’ESP32C3 de Seeedstudio

Chapitre 11  – Le langage Arduino

Ce chapitre est un récapitulatif des principales fonctions utilisables dans le langage Arduino. Vous pourrez vous y référer pour avoir des informations sur l’utilisation d’une fonction, sans devoir parcourir la totalité du livre pour la retrouver.

Conclusion

Avec près de 600 pages ce nouveau livre se présente comme une bible de l’Arduino. Il est utilisable par le débutant mais aussi par l’utilisateur avancé qui trouveront une quantité d’informations utiles. De nombreux capteurs et actionneurs sont abordés et les exemples fournis facilitent leur mise en service rapide.
L’enchainement des projets est pédagogique et intègre au bon moment les notions nécessaires pour comprendre/réaliser un projet. Pour moi, c’est un livre à garder à portée de la main si vous pratiquez l’Arduino ! Que vous soyez animateur (FabLab, Espace Jeune, Espace numérique…) ou simplement un parent qui souhaite accompagner un enfant/ado passionné par la robotique et/ou l’électronique, c’est un bon point de départ pour découvrir le monde des makers !

Les programmes sont téléchargeables gratuitement.

Vous pouvez vous procurer le livre aux Editions ENI pour 38,90€  avec la version en ligne offerte (pendant 1 an). La version consultable en ligne est à 27,38€ (Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans. Version HTML)

Il est disponible également sur Amazon au prix de 38,90€.

Pour le commander chez votre libraire préféré :

  • Livre (broché) – 17 x 21 cm
  • ISBN : 978-2-409-04084-9
  • EAN : 9782409040849

Sources

Acheter le livre

https://fr.wikipedia.org/wiki/Arduino

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

2 réflexions au sujet de « Arduino 3ème Edition : un livre de Jean-Christophe Quetin aux Editions ENI »

  1. Ping : Arduino 3ème Edition : un livre de Jean-Christophe Quetin aux Editions ENI

  2. Landais

    Bonjour François,

    merci beaucoup pour cette présentation du livre de Jean-Christophe Quetin, je viens justement de ressortir mon Arduino (version Duemilanove) pour un projet de routeur solaire. Ton article tombe à point et m’a donné envie de commander le livre qui à l’air vraiment super et qui me sera utile.

    Très bonne fin de journée

    Eric (Vitré)

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.