Publié le 21 mars 2021 - par

Arduino 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, 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 deuxième édition de son livre sur Arduino.

Arduino de Jean-Christophe Quetin

Apprivoisez l’électronique et le codage pour donner vie à vos projets

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…)

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 en premier la (longue) liste de la grande famille des cartes Arduino. Chacune est détaillée pour vous aider à choisir une carte lors de l’élaboration d’un projet. La page Wikipedia consacrée à l’Arduino vous aidera également à vous repérer :

  • Uno
  • Nano
  • Nano Every
  • Leonardo
  • Micro
  • Mega 2560

Viennent ensuite les bases sur le choix et l’utilisation des 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 ytrouve 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 te amusez vous à faire des modifications, c’est comme cela que vous apprendrez. Après essayez de réécrire un programme de gestion des feus 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.

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.

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.

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.

Chapitre 10  – Autres cartes de développement

Dans ce chapitre vous trouverez les « autres » cartes. On peut par exemple construire son propre Arduino à partir d’un ATMega328P. c’est ce qui est proposé en début de chapitre.
Vous pouvez aussi partir sur un ATtiny85 (version miniature de l’ATmega328P) que vous programmerez… avec votre Arduino !

Il existe aussi des kits comme la console de jeu Kitco, le module ESP8266 (qui embarque le Wi-Fi),

la WeMos D1R2 avec un ESP intégré dans une carte au format Arduino…

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…

Les imprimantes 3D sont elles aussi très souvent équipées de cartes à base d’Arduino. Elles sont alors compatibles Marlin. Ce type de carte mère est très souple et peut convenir à de nombreuses applications (imprimantes 3D, graveur laser, CNC, robot…).

La PyBStick26 est un développement commun de Garatronic et Mc Hobby. J’ai déjà eu l’occasion de vous en parler sur le blog. Conçue et fabriquée en France     elle est cependant vendue à un prix compétitif (une dizaine d’euros). Elle se programme en microPython mais peut aussi être utilisée avec l’IDE d’Arduino dans lequel elle est intégrée d’origine.

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 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 !

Les programmes sont téléchargeables gratuitement.

Vous pouvez vous procurer le livre aux Editions ENI pour 34€  avec la version en ligne offerte. La version consultable en ligne est à 25,50€.

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

  • Livre (broché) – 17 x 21 cm
  • ISBN : 978-2-409-02927-1
  • EAN : 9782409029271

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.

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.