mardi 7 août 2018

Livre: Arduino, le guide complet, par J. M. Hugues

Arduino, le guide complet
par J.M. Hugues
Éditions First
628 pages
Publié en 2018

J'aimerais bien qu'on m'explique comment un livre intitulé "Arduino, a technical reference" peut s'affubler en français d'un  titre aussi pompeux et trompeur que "Arduino, le guide complet".  Bien que ce livre présente certaines qualités, il est très, très loin d'être complet.

Dans son introduction, l'auteur indique lui-même que le livre s'adresse à ceux "qui ont exploité le plus possible les livres d'initiation et les guides pratiques de création de projets".  J'en déduis que l'auteur n'a jamais eu la prétention d'avoir écrit un guide complet!

Je qualifierais plutôt ce livre de "référence complémentaire", car l'auteur choisit souvent d'insister sur des aspects qui ne sont pas abordés dans les autres livres portant sur l'Arduino.  L'aspect positif de ce choix, c'est que ça rend ce livre pertinent si vous avez déjà lu quelques livres sur l'Arduino.  Par contre, le choix des sujets traités semble parfois arbitraire, et j'ai vraiment eu l'impression de lire 3 ou 4 livres différents rassemblés dans un même volume.

La première partie (chapitres 2 à 6), beaucoup plus aride que ludique, pourrait s'intituler "Ce que vous n'avez pas vraiment besoin de savoir pour programmer l'Arduino". On y présente, par exemple,  les caractéristiques techniques des microcontrôleurs AVR, quelques éléments de langage assembleur, comment programmer l'Arduino en utilisant autre chose que l'IDE Arduino (que le traducteur appelle "l'atelier Arduino").  Bref, le genre de connaissances qui étaient peut-être nécessaires pour programmer un microcontrôleur AVR lorsqu'Arduino n'existait pas, mais qui ne le sont plus maintenant qu'Arduino existe.

Le chapitre 7 présente en détail les bibliothèques fournies avec l'IDE Arduino, en énumérant les classes et méthodes de chacune de ces bibliothèques. Il s'agit à mon avis d'une initiative intéressante, car je ne me souviens pas avoir vu ce genre de référence dans d'autres livres.  Mais puisqu'il s'agit, selon le titre, du guide complet sur l'Arduino, on peut s'étonner qu'il n'y ait nulle part une liste des fonctions régulières du langage Arduino (domme digitalWrite(), delay(), etc.). Je mentionnerais aussi que certaines des bibliothèques qui ne sont pas fournies avec l'IDE Arduino (et qui ne sont donc pas présentées dans le livre) sont beaucoup plus utilisées que des bibliothèques ultra spécialisées comme Esplora...

Les chapitres 8 et 9 empruntent un style radicalement différent de tous ceux qui ont précédé: ça devient un genre de catalogue qui énumère une très grande quantité de boucliers (shields) et capteurs pouvant être branchés à une carte Arduino. Ça peut permettre au débutant d'avoir une idée de ce qui existe sur le marché.  Toutefois, les descriptions sont extrêmement brèves, et sont totalement insuffisantes pour permettre d'utiliser ces produits lorsque vous en avez fait l'acquisition.

Pourtant, dans son introduction, l'auteur déclarait "En tant qu'ingénieur, je suis souvent déçu d'acheter quelque chose d'intéressant, pour devoir constater qu'il n'y a aucune documentation. Cela m'oblige à me lancer dans une longue quête afin de trouver un peu de documentation sur Internet, et dans une langue que je peux comprendre (donc par exemple pas en chinois)."  À mon avis, ces chapitres ne font absolument rien pour régler ce problème!  On trouve bien quelques schémas de circuit ici et là, mais la grande majorité des descriptions vous fournissent moins d'informations qu'une annonce typique sur eBay.

Finalement, les derniers chapitre du livre adoptent un autre style différent: il s'agit maintenant de présenter, de façon détaillée, 4 projets spécifiques: le Greenshield (un système de surveillance et de contrôle pour l'horticulture), le Switchinator (14 sorties programmables), un générateur de signal et un thermostat intelligent. Il s'agit de projets assez ambitieux, incluant la conception de circuits imprimés au moyen des logiciels Eagle et Fritzing.  C'est la partie du livre qui m'a semblé la mieux réussie.

Bien qu'on mentionne à quelques reprise que les fichiers de code source sont disponible "sur le site de l'éditeur ainsi que sur GitHub", l'url n'est fourni nulle part dans le livre.  Voici un lien direct.

Je termine par une courte liste d'erreurs ou de négligences qui me semblent un peu embarrassantes:

Page 340, dans un paragraphe consacré aux photorésistances: "Ils réagissent bien moins vite que les composants basés sur une diode ou un transistor, mais cela suffit à créer par exemple un jeu de lumière piloté par de la musique".  (Détecter de la musique au moyen d'une photorésistance me semble une véritable prouesse technique.)

Page 353, dans une brève explication du principe de fonctionnement d'un télémètre à ultrasons: "Il suffit de diviser par deux le délai entre l'émission et la réception pour connaître la distance. Cette mesure est possible parce que la fréquence des ultrasons est bien inférieure à celle de la lumière. Il n'est donc pas difficile de distinguer les deux moments, si le programme va suffisamment vite."  (La mesure du délai est possible parce que la vitesse des ultrasons est beaucoup plus faible que celle de la lumière, peu importe leur fréquence.)

Page 270, au sujet de la fabrication de nos propres shields pour Arduino: "Vous pouvez faire le vôtre avec une plaque à pastilles et les connecteurs appropriés que vous trouverez chez tous les fournisseurs. Je rappelle que les connecteurs des cartes Arduino sont à la norme industrielle de 2,54 mm d'espacement (un dixième de pouce). Tous les électroniciens possèdent ce genre de connecteurs dans leur stock de base".  (Cette distance de 2,54 mm  n'est pas respectée entre les broches 7 et 8, ce qui complique considérablement l'utilisation d'une plaque à pastilles conventionnelle).

En résumé: un livre sans véritable fil conducteur, pas du tout conseillé aux débutants et, contrairement à ce que prétend le titre, pas du tout complet!

Yves Pelletier   (TwitterFacebook)

1 commentaire:

  1. Merci pour cette analyse :)
    J ai bien aimé celui ci :
    https://www.framboise314.fr/arduino-esp8266-et-python-trois-nouveaux-livres-dans-la-collection-la-fabrique/#Arduino_Apprivoisez_l8217electronique_et_le_codage
    Mais je suis sans doute partial car nous avons le même éditeur...
    Voulez vous le lire et en faire une critique ? Je peux vous le faire parvenir ��
    Vous me direz si ca vous interesse (contact AT framboise314.fr)
    Cordialement
    Francois

    RépondreSupprimer