Affichage des articles dont le libellé est Livre. Afficher tous les articles
Affichage des articles dont le libellé est Livre. Afficher tous les articles

samedi 17 octobre 2020

Livre: Les réseaux informatiques par la pratique

Les réseaux informatiques par la pratique
par Julien Launay
Éditions Eyrolles, Collection Serial Makers
2020
136 pages

Comme son titre l'indique, ce nouveau livre de la collection Serial Makers propose un certain nombre d'activités permettant d'explorer le fonctionnement des réseaux: choisir une adresse IP, scanner un réseau, tester un réseau par la commande ping, échanger des données par TCP, échanger et créer des pages web, utiliser un broker MQTT pour l'internet des objets...

Des marches à suivre détaillées sont offertes pour réaliser ces activités au moyen de divers outils: PC, smartphone et, surtout, l'ESP32, qu'on propose de programmer en MicroPython, ou avec Blockly (programmation en ligne par agencement de blocs, puis compilation du programme avec l'IDE Arduino).

Environ 25% du livre est consacré à la simulation de réseaux au moyen des logiciels Packet Tracer et Filius.

Julien Launay est également l'auteur des livres Python pour la carte micro:bit et  Créer des applis avec App Inventor.

Yves Pelletier (Twitter, Facebook) 

lundi 29 juin 2020

Livre: micro:bit Programmez la carte avec MakeCode et MicroPython

par Jean-Christophe Quetin
Éditions ENI (Collection La Fabrique)
2020
495 pages


J'ai eu le plaisir de recevoir le nouveau livre de Jean-Christophe Quetin, qui s'adresse aux adeptes de la carte micro:bit.

Une première particularité intéressante de ce livre, c'est qu'il couvre les deux principaux langages pouvant être utilisés pour programmer la carte: MakeCode et MicroPython. Il s'agit peut-être d'un inconvénient pour les lecteurs qui s'intéressent à un seul des deux langages (par exemple: quelqu'un qui a déjà des bonnes base en Python), mais c'est parfait pour le débutant qui ne sait pas encore quel langage il adoptera (je peux facilement imaginer que quelqu'un débute son initiation avec MakeCode et, réalisant les limites de l'outil, décide plus tard de s'attaquer à MicroPython).

L'approche pédagogique est similaire à celle que l'auteur avait appliquée dans son livre précédent (Arduino, Apprivoisez l'électronique et le codage): le lecteur est invité à apprendre les bases de la programmation...en programmant! La majeure partie du livre est donc consacrée à la présentation d'exemples concrets, expliqués soigneusement (mais sans blabla inutile). Les noms des variables sont en français, et les scripts en python comportent de nombreux commentaires.

Dans un premier temps (chapitres 2 et 3), le lecteur apprend à utiliser les nombreuses ressources intégrées à la carte: la matrice de LEDs, les boutons, l'accéléromètre, le magnétomètre, le capteur de température, le capteur de luminosité, les capteurs sensitifs, la communication radio, la communication série, le stockage de données sous forme de fichier... Je remarque qu'il n'y a rien concernant la communication en Bluetooth, qui permet pourtant des applications fort intéressantes (le bluetooth ne peut pas être utilisé en micropython, mais il peut l'être avec MakeCode).

Le chapitre 4 traite des entrées et des sorties, et on y apprend comment utiliser des composants externes communs: LED, LED RGB, module de LED adressables, bouton, potentiomètre, photorésistance, capteur d'humidité, buzzer, haut-parleur, capteur à ultrasons, détecteur de mouvement (PIR), relais, etc. Le moteur à courant continu et le servomoteur sont abordés un peu plus loin, dans un chapitre consacré aux robots.

Ensuite, ça semble un peu inévitable quand il s'agit du micro:bit, on en arrive aux cartes d'extensions spécialisées dans lesquelles il s'agit d'insérer la carte sans avoir à se poser de questions sur les connexions. Il est probablement impossible de couvrir tout ce qui est disponible sur le marché, mais la sélection est assez variée avec, pour chaque carte d'extension présentée, au moins un exemple en MakeCode et en Python.  J'ai particulièrement remarqué les cartes d'extension qui transforment le micro:bit en mini console de jeu (Joystick for micro:bit, Game ZIP 64) ou en robot (MOVE mini, Maqueen).

Je m'interroge un peu sur la pertinence des derniers chapitres, dans lesquels ont présente brièvement d'autres cartes utilisées dans le monde scolaire: Circuit Playground Express, Pyboard, Arduino, Makey Makey et Ozobot. C'est intéressant, mais un peu hors sujet.

L'absence de couleur donne au livre un aspect un peu austère, mais ça n'a pas eu de conséquence fâcheuse sur la clarté des schémas (seule exception: la figure de la page 282, dans laquelle un des fils du moteur est à toute fin pratique invisible). Un peu de couleur aurait aussi contribué à faciliter la compréhension des programmes présentés sous forme de blocs, puisque la couleur de chaque bloc donne une indication de la catégorie à laquelle il appartient. Malgré tout, les programmes en MakeCode sont très lisibles (sauf peut-être celui de la page 316, que les optométristes pourraient utiliser afin de diagnostiquer un début de presbytie).

En conclusion: si vous désirez vous initier au micro:bit, ce livre constitue un excellent choix.


À lire également:

Le livre commenté dans cet article a été fourni gratuitement par les Éditions ENI.

Yves Pelletier (Twitter, Facebook)



dimanche 23 février 2020

Livre: Python pour la carte micro:bit par Julien Launay

Python pour la carte micro:bit
par Julien Launay
Éditions Eyrolles, 2019
Collection Serial makers
168 pages


Les éditions Eyrolles nous proposent un nouveau livre consacré à la carte micro:bit, cette petite carte programmable conçue au départ pour être utilisée dans les écoles britanniques. Mais alors que les autres livres que j'ai eu l'occasion de consulter (40 activités avec la carte micro:bit et Petits robots à fabriquer) préconisent l'utilisation de l'environnement graphique Makecode, celui-ci propose d'apprendre à programmer la micro:bit en langage Python.

Après une brève présentation de la carte micro:bit et de quelques environnements de développement qui peuvent être utilisés pour la programmer, le contenu du livre se divise en 3 grandes sections:

1)  Les bases en MicroPython. Cette section s'adresse au lecteur qui n'a jamais eu l'occasion de programmer en langage Python auparavant. On y présente la syntaxe de base du langage (variables, conditions, boucles...), mais rien de spécifique à la carte micro:bit.

2) Applications simples avec la carte micro:bit. Dans cette deuxième partie, on explique comment utiliser les différents capteurs et actionneurs intégrés à la carte: la matrice de LEDs, les boutons, le capteur de température, l'accéléromètre, la boussole, les entrées et les sorties (mesure d'un signal logique ou analogique, production d'un signal logique ou PWM), la communication entre deux cartes (grâce au module radio ou à une connexion filaire) ...

3) Applications avancées avec la carte micro:bit. On termine avec quelques projets qui nécessitent l'utilisation de cartes d'extension: on mentionne la carte d'extension Shield Grove, la carte CODO, la carte pour servomoteurs et LED de Kitronik, le capteur à ultrasons Grove 2.0.

Les principes de base sont explorés à travers des applications concrètes:  jeu de "tir à la corde" virtuel, dé à jouer électronique, boussole, lampe contrôlable à distance, robot éviteur d'obstacle, robot contrôlé à distance, etc. Les codes complets sont fournis, mais ils sont accompagnés d'un algorithme en français, le but de l'auteur étant de bien faire comprendre les concepts.

Puisqu'on utilise essentiellement les capteurs et actuateurs déjà présents sur la carte (ou encore des cartes d'extensions prêtes à l'emploi), il s'agit d'abord et avant tout d'un livre d'informatique, avec assez peu d'électronique (il n'y a pas de circuits à monter).

Même si le public cible est visiblement le milieu scolaire, les dilettantes devraient y trouver leur compte également (en particulier ceux qui n'ont aucune expérience en programmation).

À lire également

Des commentaires sur d'autres livres traitant d'électronique.

Yves Pelletier (Twitter, Facebook)

mardi 20 août 2019

Livre: 40 activités avec la carte micro:bit

40 activités avec la carte micro:bit
Programmation avec Makecode
par Dominique Nibart
Publié en 2019 chez Eyrolles

La carte micro:bit a été conçue d'abord et avant tout pour initier les écoliers britanniques à la programmation. En plus d'entrées/sorties programmables, elle comporte une matrice de 25 LEDs, des boutons, un accéléromètre, une boussole, un capteur de température, bluetooth, et un module de communication radio permettant à plusieurs cartes de communiquer entre elles.  On programme la carte au moyen de MakeCode, un environnement graphique similaire à Scratch qui permet de construire un programme en imbriquant des blocs.

Grâce à ce livre, le néophyte apprendra à transformer sa carte micro:bit en un jeu de pierre-ciseaux-papier, une boussole, un podomètre, un chronomètre, un système d'alarme, un sabre laser, un robot éviteur d'obstacles, et j'en passe, puisqu'il y a en tout une quarantaine de projets proposés.

Tout comme le précédent livre de Dominique Nibart (36 activités avec le robot mBot) , ne cherchez pas de blabla inutile dans cet ouvrage: la plupart des projets occupent une seule page comportant une photographie du montage, une brève description, ainsi que le code "makecode" complet sous forme de blocs imbriqués.

Articles similaires

Vous serez peut-être intéressé par ces autres billets portant sur des livres consacrés à l'électronique.

Yves Pelletier   (Twitter, Facebook)

mardi 23 juillet 2019

Livre: Circuits électroniques pour les Kids


Circuits électroniques pour les kids
Øyvind Nydal Dahl
Éditions Eyrolles, 2019
Collection "Pour les kids"

Ce nouveau livre, à ne pas confondre avec "L'électronique pour les kids", du même auteur, propose aux électroniciens néophytes 10 circuits classiques :

- une simple LED qui s'allume
- un jeu d'adresse
- un interrupteur sensitif
- une alarme antivol (buzzer qui s'active à partir d'une certaine intensité lumineuse)
- une veilleuse de nuit  (LED qui s'allume quand il fait noir)
- une LED clignotante
- un feu de signalisation (deux LEDs qui clignotent en alternance)
- un éclairage de fête (plusieurs LEDs clignotantes)
- un piano numérique
- chenillard de LED

Tous ces montages sont réalisés au moyen de composants classiques: résistances, condensateurs, transistors bipolaires, LEDs, photorésistance, et trois circuits intégrés incontournables: le temporisateur NE555, le compteur décimal CD4017, et les portes inverseuses 74C14.

L'approche pédagoque m'a semblé simple et efficace. Dans les premières pages du livre, on explique comment construire sur breadboard un circuit simple qui correspond à un schéma conventionnel. Pour les autres circuits, on ne fournit que le schéma. Le lecteur est donc encouragé à comprendre comment passer de la représentation schématique à un circuit réel.

Pour la plupart des circuits, on fournit d'abord le schéma, on donne quelques recommandations sur la marche à suivre, puis on fournit une liste "d'erreurs fréquentes" à surveiller si le circuit ne fonctionne pas au premier essai. Finalement, on explique pourquoi le circuit se comporte comme il le fait: il ne s'agit donc pas de suivre une recette sans avoir la moindre idée de la théorie qui explique son fonctionnement.

Le livre cible un public jeune (à partir de 10 ans). À mon avis, ça peut tout aussi bien être utile à un adulte, peu importe son âge, qui désire faire ses tous premiers pas en électronique.

Yves Pelletier   (Twitter, Facebook)

samedi 13 juillet 2019

Livre: Programmer en Java pour le Raspberry Pi 3

Programmer en Java pour le Raspberry Pi 3
par Jean-Bernard Boichat
2019, Éditions Eyrolles, collection Serial Makers

Suite à la récente sortie du Raspberry Pi 4, on pourrait croire que je vous parle d'un vieux livre déjà désuet mais non: il a bel et bien été publié cette année (avec sa regrettable manie de sortir ses nouveaux modèles en prenant soin de ne pas les annoncer à l'avance, la fondation Raspberry Pi ne facilite certainement pas la tâche des éditeurs!).

Donc, comme le titre l'indique, il s'agit d'un livre sur la programmation d'un Rasbperry Pi en langage Java.

Un aspect du livre que j'ai beaucoup apprécié, c'est qu'il accorde une grande importance aux capteurs qu'on peut brancher aux broches GPIO du Raspberry Pi:  LED,  relais, photorésistance,  capteur de mouvement infrarouge (PIR),  buzzer, capteur de température DS18B20, télémètre à ultrason HC-SR04, bouton-poussoir, caméra Raspberry Pi... bref, les mêmes joujoux que j'adore moi-même contrôler avec des scripts en Python. De plus, vous y apprendrez comment programmer un serveur web en java, interagir avec une base de donnée SQLite, envoyer automatiquement une photo par email lorsqu'un mouvement est détecté par un détecteur infrarouge PIR...

Tout ça est clairement expliqué, les schémas Fritzing sont en couleur et, bien entendu, de nombreux exemples de programmes sont fournis.

La démarche préconisée par l'auteur consiste à d'abord tester le fonctionnement correct des capteurs grâce à un script en python, puis ensuite d'écrire un programme plus "professionnel" en Java dans l'environnement de programmation Eclipse (sur un ordinateur autre que le Raspberry Pi, roulant sous Windows 10).

Puisque je ne suis pas du tout familier avec Java, tout ça m'a semblé inutilement compliqué: moi, à partir du moment où ça fonctionne correctement avec un script en Python, je suis pleinement satisfait et je m'arrête là! Mais si vous connaissez déjà un peu Java (ou si vous êtes moins paresseux que moi), ce livre pourrait vous intéresser sérieusement.

Extrait du livre en format pdf.

Yves Pelletier   (Twitter, Facebook)

dimanche 24 mars 2019

Livre: Réparez vous-même vos appareils électroniques (2e édition)

Réparez vous-même vos appareils électroniques
(2e Édition)
Par Jean Boyer
Publié en 2019 chez Eyrolles (Collection Serial Makers)
408 pages

Je signale la parution de la deuxième édition de cet intéressant guide de réparation, qui semble être le seul de sa catégorie actuellement disponible sur le marché.

C'est étrange, quand on y pense: dans l'esprit de la plupart des gens, quelqu'un "qui se débrouille en électronique" sera forcément en mesure de réparer un téléviseur, une chaîne hi-fi ou une console de jeux vidéo. On trouve en librairie une grande quantité de livres qui expliquent comment réaliser ses propres montages électroniques, ainsi qu'un grand nombre de manuels théoriques de niveau universitaire qui permettent de comprendre pourquoi un transistor à effet de champ se comporte comme il le fait. Cependant, quelqu'un peut maîtriser tous ces sujets et, malgré tout, être totalement désemparé face à un téléviseur qui ne fonctionne plus correctement...d'où la nécessité de ce genre de livre.

Sans surprise, cet ouvrage devrait vous convenir si vous avez souvent l'occasion de réparer un appareil défectueux: on y expose des conseils et des méthodes de diagnostic qui aident à déceler les problèmes les plus fréquents pour diverses catégories d'appareils, mais ça demeure forcément assez général. Si, une seule fois dans votre vie, vous faites face à un problème très spécifique concernant un appareil en particulier, une recherche sur internet sera probablement plus fructueuse que la lecture de ce bouquin. Dans le même ordre d'idée, quelqu'un qui désire tenter de réparer sa cafetière en panne n'éprouvera probablement pas le besoin de mettre en place un atelier de réparation bien équipé, comportant un miroir fixé au mur, tel que décrit dans les premiers chapitres.

En comparant cette deuxième édition à celle qui l'a précédée, on constate que l'ordre de présentation des chapitres a été remaniée: les 4 derniers chapitres de l'édition originale, qui portaient sur les composants électroniques (caractéristiques, contrôle, remplacement, codification et marquage) ont été fusionnés pour devenir le chapitre 3. Ça me semble une bonne idée, puisque ces connaissances préalables sont nécessaires pour espérer s'attaquer à la réparation d'un appareil complexe. Cette partie du livre a également été condensée, passant de 78 à 47 pages: je crois qu'on a laissé tomber certains éléments plus théoriques, qui n'étaient pas strictement nécessaires dans le contexte de la réparation d'un appareil défectueux.

Je remarque également l'ajout du chapitre 6, qui concerne la réparation des électroménagers, de l'outillage électroportatif, et des éclairages à LED.

Tout comme c'était le cas dans la 1ère édition, le téléviseur demeure l'appareil vedette du livre, puisque 30% des pages lui sont spécifiquement consacrées.

Chapitre 1: Sécurité et prévention (car ça peut parfois être très dangereux)
Chapitre 2: L'espace de travail du réparateur (les outils et instruments nécessaires)
Chapitre 3: Identifier, contrôler et substituer les composants
Chapitre 4: Les opérations de base (souder/dessouder, isoler un signal)
Chapitre 5: Réparer les petits appareils électroniques (télécommandes, horloges à quartz, batteries rechargeables)
Chapitre 6: Réparer l'électroménager, l'outillage électroportatif et les éclairage à LED
Chapitre 7: Réparer le matériel informatique (souris, écran, ordinateur de bureau, ordinateur portable, tablette)
Chapitre 8: Réparer les appareils multimédias (consoles de jeu, appareils photo, caméscopes, radio portatives, chaînes hi-fi. magnétoscope, vidéoprojecteurs, smartphones...)
Chapitre 9: Réparer les téléviseurs à écran LCD/LED
Chapitre 10: Réparer les téléviseurs à écran plasma
Chapitre 11: Réparer les circuits d'alimentation

Si vous désirez plus de détail, les Éditions Eyrolles mettent à votre disposition ces quelques pages du livre.

Voilà, je suis prêt! Il ne me reste plus qu'à attendre que ce fichu téléviseur tombe en panne...

Yves Pelletier   (Twitter, Facebook)

dimanche 25 novembre 2018

Deux cahiers d'activités avec mBlock

Je vous présente aujourd'hui deux livres qui proposent à un jeune public des activités d'initiation à la programmation, à l'électronique et à la robotique au moyen du logiciel mBlock: Arduino pour les kids, par Frédéric Pain, et 36 activités avec le robot mBot, par Dominique Nibart.

mBlock est un logiciel qui permet de programmer un microcontrôleur (Arduino, micro:bit, mBot, etc.)  en utilisant le langage Scratch: il s'agit de faire glisser à l'écran des blocs représentant des bouts de programme, et de les imbriquer de façon à obtenir un programme complet. Puisque l'utilisateur n'a pas à apprendre la syntaxe du langage, il s'agit d'une façon simple et amusante d'initier les écoliers à la programmation.

(Je n'ai encore jamais eu l'occasion d'expérimenter mBlock, mais je vous ai déjà parlé de S4A et de Blockly@rduino, qui sont similaires).



Arduino pour les Kids
par Frédéric Pain
Publié par Eyrolles en 2018
64 pages

Ce petit livre a pour objectifs d'initier les écoliers de 8 ans et plus aux bases de la programmation et de l'électronique. En programmant une carte Arduino au moyen de mBlock, ils apprennent à faire clignoter une LED et à faire varier sa luminosité, à lire un potentiomètre ou une photorésistance, mesurer une température, etc.  Comme il se doit, les activités sont amusantes (déplacer un personnage animé au moyen d'un joystick, par exemple).

Des encadrés (dont la lecture n'est pas obligatoire pour réaliser les activités) présentent des explications supplémentaires pour mieux comprendre le comportement des circuits (PWM, utilisation de la loi d'Ohm).

Bien sûr, compte tenu de la jeunesse du public cible, il ne faut pas s'attendre à l'équivalent d'un manuel complet sur l'Arduino: chacun des 7 montages présentés est extrêmement simple.  (Si vous cherchez à assouvir la soif de connaissance d'un enfant un peu plus vieux, le livre À l'aventure avec Arduino sera peut-être plus approprié).

Extrait du livre "Arduino pour les kids" en format pdf


36 activités avec le robot mBot
par Dominique Nibart
Publié par Eyrolles en 2018
64 pages

Comme son titre l'indique, ce livre présente un grand nombre d'activités à réaliser avec le robot mBot. Il s'adresse au élèves du primaire, des collèges et des lycées.

mBot est petit robot sur roues commercialisé par la compagnie MakeBlock, et qui se programme avec au moyen du logiciel mBlock.  Il comporte une télécommande, un télémètre à ultrasons et un module de détection de lignes, mais il est également possible de lui ajouter des capteurs supplémentaires.

Sans trop de surprise, on y apprendra comment programmer le robot pour qu'il se déplace en suivant une ligne ou en évitant les obstacles, mais on est également invités à lui faire accomplir des actions qui sont moins traditionnellement associées aux robots, comme jouer de la musique ou produire des animations sur une matrice de LEDs.

Le livre va droit au but, sans digressions inutiles: la plupart des projets sont présentés en une seule page comportant un bref paragraphe d'introduction, un résumé de l'algorithme et le programme lui-même (généralement très court, puisqu'il s'agit d'accomplir une action spécifique).

Extrait du livre "36 activités avec le robot mBot" en format pdf.

Yves Pelletier   (Twitter, Facebook)

vendredi 2 novembre 2018

Livre: Le grand livre d'Arduino, 3e édition


Le grand livre d'Arduino
3e édition
par Erik Bartmann
Éditions Eyrolles, collection Serial Makers, 2018
528 pages

Au départ, je n'avais pas vraiment l'intention de commenter cette troisième édition du grand livre d'Arduino: après tout, j'avais déjà commenté le première édition: affaire réglée, donc.

Sauf que la 3e édition comporte tellement de changements comparativement aux deux éditions précédentes qu'une partie des commentaires que j'avais formulés à l'époque n'ont plus la moindre pertinence!

Par exemple, ma principale critique concernant la première édition était le nombre effarant de chapitres théoriques qui précédaient la première activité concrète impliquant l'Arduino:  le premier sketch était téléversé dans la carte à la page 163!  Ce problème a été réglé de façon spectaculaire dans cette nouvelle édition, puisque le premier téléchargement se fait maintenant à la page 39.

Un réaménagement majeur a donc été opéré dans les premiers chapitres du livre.  Plutôt que l'approche "d'abord la théorie, et ensuite les applications pratiques" privilégiée dans les 2 premières éditions, les informations théoriques sont maintenant présentées à l'intérieur des projets pour lesquelles elles s'avèrent pertinentes.  En ce qui me concerne, il s'agit d'une amélioration épatante.

Quelques nouveautés intéressantes: deux nouvelles options sont présentées pour programmer l'Arduino; en plus de l'IDE classique, l'auteur présente l'IDE en ligne Arduino Create (chapitre 2) et l'environnement graphique mBlock (montage 21).

On peut remarquer que la plupart des chapitres qui avaient été ajoutés dans la deuxième édition ne figurent plus dans la troisième: le chapitre sur Fritzing, et les deux projets impliquant la carte Yun ne sont plus là (le chapitre sur l'interaction entre Arduino et Raspberry Pi, par contre, a été conservé).

Tout ce qu'un débutant doit savoir me semble adéquatement couvert, mais on trouve aussi des sujets plus complexes, qu'on ne retrouve généralement pas dans les ouvrages qui s'adressent strictement aux débutants (l'initiation à la programmation orientée objet pour créer ses propres bibliothèques en est un bon exemple). C'est donc un livre qui peut vous accompagner très longtemps pendant votre apprentissage de l'Arduino.

En ce qui me concerne, les nombreuses interventions du personnage de bédé nommé Ardu sont tout aussi agaçantes que dans les éditions précédentes.  Et si on tient vraiment à conserver cet irritant personnage, pourrions-nous au moins engager un dessinateur professionnel pour le mettre en scène?

Les illustrations utiles, heureusement, sont irréprochables: nombreuses photographies (toujours en couleur) et schémas de circuit (Fritzing) en couleur aussi.

Pour vous faire votre propre opinion, voici un document pdf montrant les premières pages du livre.

Yves Pelletier   (Twitter, Facebook)

dimanche 16 septembre 2018

Livre: Raspberry Pi et ESP8266

Raspberry Pi et ESP8266
Domotisez votre habitation
par Kevin Sartor
Éditions ENI, collection La Fabrique
256 pages
2018

Voici un livre dont le public cible est parfaitement défini: les bricoleurs qui souhaitent être guidés dans la réalisation d'un système domotique résidentiel constitué d'un Raspberry Pi communiquant par Wi-Fi avec un certain nombre de capteurs et d'actionneurs branchés à des modules ESP8266.

L'objectif: améliorer le confort du domicile tout en diminuant le gaspillage d'énergie,  grâce à un système réalisé soi-même à faible coût.

Vous y trouverez de précieux conseils qui vous permettront, par exemple, de surveiller votre consommation d'électricité, d'eau et de gaz, d'automatiser la ventilation d'une pièce en fonction de son degré d'humidité, de réaliser votre propre thermostat connecté, d'arroser automatiquement votre gazon (mais uniquement lorsqu'il en a besoin), d'être alerté par email lorsque vous avez oublié d'éteindre une lampe, etc.

Pour en arriver là, on vous présente:

  • Une introduction à la domotique: son historique, ses possibilités...
  • Un tour d'horizon des principaux compteurs domestiques (eau, gaz, électricité), et des capteurs et actionneurs qui peuvent être pertinents dans votre installation domotique (interrupteur à lame souple, photorésistance, capteur de température, de pression, d'humidité, détecteurs de présence, relais, moteurs, bipeurs, etc.)
  • La marche à suivre pour installer l'IDE Arduino et le configurer pour programmer un module NodeMCU (la carte de développement qui comporte un ESP8266).  
  • La marche à suivre pour configurer le Raspberry Pi 3 et y installer le logiciel Domoticz.
  • Des exemples de projets spécifiques incluant, bien entendu des schémas de circuit (Fritzing) et des sketches complets et correctement commentés.
Bien que ces projets présentent un certain niveau de complexité (on dépasse nettement le simple clignotement d'une LED...) il me semble que les informations sont suffisamment détaillées pour qu'un néophyte puisse se débrouiller sans disposer d'une très grande quantité de connaissances préalables en électronique ou en programmation.

Yves Pelletier   (Twitter, Facebook)

dimanche 2 septembre 2018

Livre: Arduino, Apprivoisez l'élecronique et le codage



Arduino: Apprivoisez l'électronique et le codage
par Jean-Christophe Quetin
Éditions ENI (Collection La Fabrique), 2018
428 pages

Il est difficile de ne pas s'enthousiasmer devant la jeune collection "La Fabrique" des Éditions ENI, qui comporte déjà quelques bons ouvrages sur l'Arduino.  Certains sont très spécialisés (je pense entre autres à Arduino: Faites-le jouer au train, à paraître en octobre) ou s'adressent à un public déjà expérimenté (Arduino: S'exercer au prototypage électronique de Cédric Doutriaux).

"Arduino: Apprivoisez l'électronique" par Jean-Christophe Quetin entrerait plutôt dans la catégorie "manuel général à l'usage du débutant".  Le genre de livre que vous achetez au moment où vous souhaitez vous initier à l'Arduino, et auquel vous continuerez de vous référer à mesure que vous progresserez dans le domaine.

Je le recommande aux débutants, puisqu'il ne présuppose pas de connaissances préalables en électronique ou en programmation.  Si vous ne savez pas faire la différence entre une LED et un condensateur, ça vous sera expliqué.  Vous n'avez pas la moindre idée de ce que signifie l'expression "digitalWrite(LEDROUGE, HIGH);"?  On va vous l'expliquer aussi.  Environ la moitié du livre est consacrée aux concepts de base et à des projets simples impliquant essentiellement des LEDs, des boutons et des potentiomètres.  De plus, tout le langage Arduino est résumé de façon bien ordonnée dans le dernier chapitre.

La deuxième moitié du livre est consacrée à des capteurs et actionneurs plus spécialisés, mais très largement utilisés: photorésistance, capteur de température, télémètre à ultrasons, moteurs, afficheurs, cartes SD, etc.  Les différentes façons d'établir une communication entre deux cartes Arduino sont regroupées dans un même chapitre: I2C, liaison série, bluetooth, radio 433 MHz, infrarouge, ethernet, Wi-Fi (mais rien sur le populaire NRF24L01, toutefois).  On vous présente aussi quelques alternatives au classique Arduino Uno, comme l'ESP8266, l'ATTiny85 ou la fabrication de votre propre clone d'Arduino Uno.

Bref, de quoi vous occuper pendant plusieurs mois, jusqu'à ce que vous ne soyez plus du tout débutant.

Vous me ferez peut-être remarquer (avec raison) que des livres pour s'initier à l'Arduino, il y en a déjà bien d'autre.  Alors celui-ci, qu'est-ce qu'il a de particulier?
  • L'approche pédagogique est efficace et élégante.  Le lecteur acquiert progressivement de nouvelles connaissances en réalisant une suite de mini-projets concrets ordonnés de façon logique.  Chaque nouveau projet est une occasion d'apprendre un nouvel élément. Par exemple, les conditions (if, switch...case) et les différents types de boucles (while, do...while, for...) sont présentées au moment où elles se révèlent utiles dans un projet qui consiste à varier la luminosité d'une LED par PWM;  les tableaux (arrays) sont expliqués au moment de jouer une mélodie avec la fonction tone;  les registres à décalage sont présentés au moment de piloter un afficheur à 7 segments.  En ce qui me concerne, ce mode d'apprentissage est optimal.
  • Il va droit au but.  Vous y trouverez les informations nécessaires pour faire fonctionner les montages courants (incluant un schéma Fritzing et un exemple de code), mais les digressions non-essentielles sont rares. Avantage ou inconvénient?  Ça dépend du lecteur.  Je suppose que certaines personnes pourraient regretter l'absence de certaines informations complémentaires.
  • Les projets présentés sont très classiques: simulation de feux de circulation, jeu Simon (mémorisation musicale)...ce sont des applications éducatives déjà bien éprouvées qu'on retrouve dans d'autres livres et, bien sûr, sur de nombreux sites internet.  Au départ, je croyais que le "piano banane" était une création de l'auteur, mais non: Google m'a prouvé qu'il s'agit d'un projet bien connu déjà réalisé par des tas de gens.  L'auteur n'a pas tenté d'être original à tout prix en proposant un "piano raisin" ou des feux pour piétons contrôlables par une banane, si vous voyez ce que je veux dire.  Pour cette raison, j'hésiterais à conseiller ce livre à quelqu'un qui possède déjà d'autres livres sur l'Arduino.  (Seule exception notable:  11 pages sont consacrées à la Kitco, petite console de jeu dont je ne me souviens pas avoir entendu parler auparavant, et qui se voit ici accorder autant d'importance que l'ATTiny85,  l'ESP8266 ou le Leonardo.)
  • Le style de codage est uniforme tout le long du livre: les commentaires ainsi que les noms des variables et des routines sont en français; le nom des constantes est en majuscule et le noms des variables est en minuscules, etc. 
  • Comme les autres livres de la même collection, il a été écrit en français par un auteur francophone. En pratique, ça n'ajoute peut-être rien à la qualité intrinsèque de l'ouvrage, mais ça me semble quand même plus sympa que la traduction d'un livre précédemment publié dans une langue étrangère.
Pour terminer, je souligne quelques imperfections mineures:
  • J'ai remarqué à plus d'un endroit l'utilisation de l'expression "un courant de 5 V". Hérésie!!! (C'est bien sûr la tension qui est de 5 V.  Le courant, lui, se mesure en ampères.)
  • Je doute fortement que quelqu'un qui ne sait pas déjà comment piloter un moteur pas à pas avec une carte Arduino puisse apprendre à le faire en lisant les quelques lignes qui sont consacrées à ce sujet...il n'y a ni schéma de montage, ni indication sur la façon de brancher le moteur. C'est d'autant plus troublant que, dans les pages précédentes, le moteur à courant continu et le servomoteur sont couverts adéquatement.
  • Dans la version imprimée, les schémas Fritzing ne sont pas en couleur, ce qui complique parfois l'interprétation des schémas les plus complexes.
Si vous le désirez, vous pouvez feuilleter le livre sur le site web de la maison d'édition.

Yves Pelletier   (Twitter, Facebook)

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   (Twitter, Facebook)

dimanche 27 mai 2018

Livre: Petits robots à fabriquer

Petits robots à fabriquer
par Daniel Knox
Éditions Eyrolles, collection Serial Makers
2018
160 pages

Les 13 projets de robotiques présentés dans cet ouvrage sont classés en 3 catégories: les robots basiques, les robots simples et les robots évolués.  La relative simplicité des projets ainsi que l'importance accordée  la décoration du robot me permettent de supposer qu'on cible surtout un public assez jeune (10 à 15 ans).

Robots basiques

Les 5 premiers robots ne comportent ni microcontrôleur, ni véritable capteur.  Par conséquent, leur comportement n'a rien de très sophistiqué.  Toutefois, puisqu'il est relativement facile de les construire à partir de matériel facile à trouver, ils constituent une option très intéressante pour les débutants.

  • Le robot brosse est une brosse à ongles qui se déplace de façon aléatoire grâce aux vibrations générées par un petit moteur à courant continu.
  • Le mouvement du robot gribouilleur est tout aussi aléatoire, mais il est causé par une petite roue, mue par un moteur à courant continu, qui tourne autour d'un axe vertical.  Des crayons ont été fixés au robot, qui dessine donc des oeuvres d'art aléatoires.
  • Le robot papillon est une version miniaturisée du robot brosse: ici, la brosse à ongles est emplacée par l'extrémité d'une brosse à dents jumelée au vibreur d'un téléphone portable.
  • Construit au moyen d'un châssis de robot roulant, le robot insecte a un comportement plus intéressant que ses prédécesseurs:  chacun de ses deux moteurs est relié à un interrupteur actionné par une antenne.  Lorsque l'antenne touche un obstacle, la roue qui lui est associée se met momentanément à tourner en sens inverse, ce qui fait tourner le robot.
  • Grâce à deux moteurs à engrenages et un mécanisme constitué de bâtonnets d'esquimau, le robot spirographe est en mesure de tracer des motifs beaucoup plus élégants que ceux du robot gribouilleur.


Robots simples

Cette deuxième catégorie présente des robots qui, grâce à un microcontrôleur, font preuve d'un peu plus de jugeote que ceux de la catégorie "basique".  Tous les projets de cette catégorie nécessitent l'utilisation d'une carte de prototypage micro:bit, qui se programme dans un environnement graphique très similaire à Scratch.

Le mot "robot" est certainement un tantinet discutable en ce qui concerne le robot avatar, qui est en fait un prétexte pour montrer les bases de la programmation de la carte micro:bit. Les LEDs intégrées à la carte s'allument de façon à montrer un visage heureux ou triste selon le bouton sur lequel on appuie.

Le robot speed est un petit véhicule qui roule grâce à deux servomoteurs; on le contrôle via bluetooth grâce à un téléphone ou une tablette.

Le robot catapulte est en fait est une catapulte miniature qui, grâce à un servomoteur et un  détecteur de mouvement à infrarouge, bombarde automatiquement tout intrus qui oserait entrer dans la pièce.

Le robot jardinier vous avertit lorsque votre plante a besoin d'être arrosée (vous devrez l'arroser vous-mêmes, toutefois).  Ici encore, considérant l'absence totale de mouvement, je n'aurais pas tendance à considérer ce dispositif comme un robot.

Grâce à deux jambes constituées de servomoteurs directement fixés à la carte micro:bit, le robot marcheur... marche.  C'est le robot qu'on peut voir sur la page couverture.


Robots évolués

Finalement, après vous être fait la main sur des robots simples, vous pourrez passer à des projets plus ambitieux:

Le robot guerrier présente certaines similitudes avec le robot speed, mais il est conçu pour renverser son adversaire lors d'un combat de robots.  Il est basé sur un récepteur de radiocommande Hobby King, et propulsé par une paire de servomoteurs à rotation continue.

Le robot imprimeur est la classique machine à commande numérique (CNC) construite à partir de deux mécanismes de lecteurs CD.  Il s'agit du premier de deux projets impliquant une carte Arduino.  Le fichier de code Arduino est offert en ligne sur le site des éditions Eyrolles, mais le livre ne comporte aucune information sur son fonctionnement, la programmation en C étant considérée comme trop compliquée pour le lecteur débutant.

Finalement, le robot martien se veut une réplique du Mars Pathfinder.  C'est une plate-forme à 6 roues, contrôlable par smartphone par l'intermédiaire d'un Romeo BLE all-in-one de DFRobot (compatible Arduino).  Il comporte un faux panneau solaire, qui est purement décoratif!

En bref, il s'agit d'un bon livre pour un jeune qui veut faire ses tous premiers pas en robotique: les instructions sont claires et détaillées, les photographies sont nombreuses, les projets sont variés et présentés en ordre croissant de difficulté.  Il est toutefois important de remarquer que presque tous ces robots, quand ils n'ont pas un comportement aléatoire, sont conçus pour être contrôlés par un humain.  Ce livre ne vous apprendra pas comment fabriquer des robots autonomes, qui prennent leurs propres décisions en fonction des résultats tirés de leurs capteurs (il y a bien la catapulte automatique, mais il n'y a aucun robot suiveur de ligne ou éviteur d'obstacles, par exemple).


Yves Pelletier   (Twitter, Facebook)


lundi 23 avril 2018

Livre: Arduino, S'exercer au prototypage électronique

Arduino
S'exercer au prototypage électronique
(10 projets créatifs à réaliser soi-même)
par Cédric Doutriaux
Éditions ENI (collection La Fabrique), 2017
298 pages

Une première qualité de ce livre, c'est qu'il s'adresse à des gens qui ont déjà une petite expérience de l'Arduino (car, admettons-le, nous n'avons pas vraiment besoin d'un autre livre qui consacrerait des dizaines de pages à l'installation de l'IDE et à la mise à l'essai de l'exemple "blink"!).

Nul besoin d'être un expert, toutefois, pour apprécier les 10 projets présentés dans cet ouvrage, car ils sont tous expliqués clairement, et de façon détaillée.  Ainsi, on vous guidera dans la fabrication d'un synthétiseur thérémine, d'un jeu de mémorisation musicale, d'un petit système d'arrosage automatique, d'un oscilloscope minimaliste, d'un robot suiveur de ligne, d'une lampe multicolore contrôlable via bluetooth, d'une station météo consultable par wi-fi, d'un télémètre à ultrasons, d'un robot hexapode capable d'éviter les obstacles et, finalement, d'un affichage "POV" (persistance rétinienne) monté sur une roue de vélo.

Bien sûr, il est possible de trouver de nombreuses variantes de tous ces projets sur internet.  Mais un aspect qui m'a semblé très intéressant, c'est que l'auteur ne se contente pas de nous présenter le code de la version finale du programme; il nous guide plutôt dans un processus qui consiste à coder une première version du programme et à vérifier son fonctionnement correct avant d'ajouter des fonctionnalités supplémentaires.  Par exemple, dans le jeu de mémorisation musicale, on commence par produire un sketch qui joue une mélodie.  Après avoir vérifié que tout fonctionne convenablement, on ajoute la partie qui enregistre la séquence de boutons actionnés et la compare avec la bonne réponse.  Finalement, on ajoute une fonction qui génère des nouvelles mélodies.
Je pense qu'il s'agit d'une bonne façon de faire acquérir au lecteur une méthode de travail qui lui sera utile lorsqu'il voudra concevoir ses propres projets.

Yves Pelletier   (Twitter, Facebook)

samedi 10 mars 2018

Livre: À l'aventure avec Arduino


À l'aventure avec Arduino
par Becky Stewart
Collection Pour les kids
Éditions Eyrolles
340 pages
2015

La particularité de ce livre d'initiation à l'Arduino, c'est qu'il s'adresse à des lecteurs âgés entre 10 et 15 ans.  Je précise donc tout de suite que 35 années me séparent du public cible (mes trois enfants en font partie, par contre).

En quoi un livre sur Arduino destiné aux jeunes adolescents diffère-t-il d'un livre sur Arduino destiné aux adultes?
  • On tutoie le lecteur.
  • Les mises en garde de sécurité sont fréquentes.
  • En plus du codage et de la réalisation d'un circuit électronique, les projets comportent tous une bonne part de bricolage impliquant du carton, de la colle et des ciseaux.
Ce livre est particulièrement efficace, à mon avis, dans sa façon de proposer la fabrication de bidules inhabituels comportant un circuit électronique relativement simple: un panneau d'affichage qui illumine le message de votre choix, un coffre-fort à combinaison dont le couvercle s'ouvre tout seul si vous placez les 3 potentiomètres dans la bonne position, un carillon à vent qui produit des sons synthétiques lorsque ses grelots conducteurs entrent en contact, un labyrinthe à bille, etc.

Pendant la réalisation de ces projets, en plus d'apprendre les principes de base de la programmation, les jeunes auront l'occasion d'utiliser des LEDs, un servomoteur, un élément piézoélectrique, un registre à décalage...  Sans transformer votre enfant en ingénieur diplômé, on dépasse nettement le circuit où une petite lumière s'allume lorsqu'on appuie sur un bouton.

Puisque le livre s'adresse à une génération dont le premier réflexe est de se documenter sur Youtube sous prétexte que 30 images par secondes valent...heu...30 000 mots par seconde, je ne suis pas certain qu'une description de ce genre soit optimale:  "Insère l'un des fils de la résistance dans une rangée courte de la moitié haute de ta plaque, vers le bord gauche. Insère l'autre fil dans la rangée courte en face de la précédente, dans la partie basse de la plaque."  Heureusement, de nombreux schémas Fritzing rendent superflues ces longues descriptions.

Le plupart des sketches du livre sont présentés en deux versions distinctes: une version en français (commentaires et noms de variable en  français) et la version originale en anglais (commentaires et noms de variable en anglais).  J'ai beau chercher, la pertinence de présenter la version en anglais m'échappe totalement.

Et pendant qu'on parle de français et d'anglais, j'aurais quelques commentaires négatifs à formuler... Le traducteur explique son choix de conserver la plupart des recommandations de lecture de l'édition originale, c'est à dire en anglais.  "Malheureusement, les sources d'informations les plus à jour et les plus complètes sont presque toujours dans la langue de Shakespeare..." et "En plus, cela améliorera ton niveau en anglais".

!!!

Je sais que je ne suis pas tout à fait neutre, mais...il existe des tas d'excellentes ressources sur l'Arduino en français sur le web!  Comment peut-on proposer la consultation de DIY Drones (site anglophone n'ayant pas grand chose à voir avec le sujet du livre) et se contenter de citer deux uniques blogs en français (le blog de MC Hobby, qui est effectivement excellent, et le défunt TutoArduino, qui l'était moins)?  Comment peut-on proposer des vidéos en anglais sur Youtube et ne pas remarquer qu'il en existe une énorme quantité sur les mêmes sujets qui sont en français?  Et pourquoi recommander la lecture de Getting Started With Arduino, par Massimo Banzi dans sa version anglaise, alors que sa traduction française "Démarrez avec Arduino" en est à sa 3e édition?  Même dans la description du site officiel arduino.cc, le forum en français n'est mentionné qu'en dernier recours, en cas de "difficultés avec la langue anglaise"!

Malgré cette préoccupante négation d'une communauté francophone de pasionnés de l'Arduino, il me semble que ce livre atteint correctement son but.  Bien sûr, vous pouvez également opter pour la version originale anglaise publiée chez Wiley, puisque "ça améliorera ton niveau en anglais"... 😉

Yves Pelletier   (Twitter, Facebook)

jeudi 19 octobre 2017

Livre: Les microcontrôleurs PIC pour les débutants


Les microcontrôleurs PIC pour les débutants qui veulent programmer sans patauger
par Rémy Mallard
Elektor,  2013
446 pages

Même s'il ne s'agit d'une nouveauté, ça me semble une bonne idée de signaler l'existence de cet excellent livre de Rémy Maillard, dont  le titre complet est "Les microcontrôleurs PIC pour les débutants qui veulent programmer sans patauger avec mikroPascal: intermédiaire idéal entre BASIC (trop facile) et C (trop difficile)" !

Les amateurs de microcontrôleurs PIC trouveront dans ce livre de quoi occuper de nombreuses soirées:  présentation des différentes familles de microcontrôleurs PIC, configuration d'un PIC (oscillateur, chien de garde, etc.), interruptions, pilotage d'un relais ou d'un moteur, production d'un signal sonore, utilisation des comparateurs, mesure d'une tension, d'un rapport cyclique et d'une fréquence, production d'une tension analogique, utilisation de différents capteurs (lumière, température, humidité, pression, accéléromètre), multiplexage des entrées/sorties, affichage sur écran LCD, utilisation d'un EEPROM, données RS232, données MIDI, données RC5/RC6, données DMX, liaisons SPI et I2C, liaison USB, liaison Ethernet, liaison OneWire, etc.

Les travaux de Rémy Mallard, que ce soit sur papier ou sur le web, constituent toujours une valeur sûre.  Ce monsieur réussit toujours à présenter ses vastes connaissances d'une façon claire et même...amusante!

Une seule réserve:  le choix du langage Pascal!  Ça m'a rappelé de bons souvenirs de l'époque où je programmais mon Macintosh au début des années 1990, mais j'ai l'impression que des exemples en C auraient été plus utiles, sans être significativement plus compliqués.  Heureusement, la conversion en C d'un bout de code rédigé en Pascal ne pose généralement pas de problème majeur.

En ce qui me concerne, la lecture de ce livre m'a donné le goût d'expérimenter un peu avec mon MPLAB Xpress Evaluation Board, qui traîne au fond d'un tiroir depuis plus d'un an:  je vous en reparle bientôt.

N.B.:  Au moment où j'écris ces lignes, le livre est offert en solde (25 euros)  sur le site d'Elektor.

Yves Pelletier   ( Twitter , Facebook )

mercredi 2 août 2017

Livre: À la découverte des cartes Nucleo, par Marc Laury


À la découverte des cartes Nucleo
par Marc Laury
Éditions Eyrolles, Collection Serial Makers
280 pages
2017

Saluons avec enthousiasme la parution de ce livre de Marc Laury: trois ans après la mise en marché des premières cartes STM32 Nucleo, les livres qui en parlent sont encore bien rares, et celui-ci, en plus, est en français!  (Du côté anglophone, McGraw-Hill annonce un livre sur le Nucleo par Donald Norris, mais il ne sera disponible que dans quelques mois).

Avant d'entreprendre la lecture de ce livre, je m'attendais à y trouver une bonne part d'informations avec lesquelles j'étais déjà familier, puisque j'utilise assez régulièrement les cartes Nucleo.  Ce ne fut pas le cas:  alors que j'utilise l'IDE en ligne Mbed pour programmer mon Nucleo, Marc Laury préconise plutôt l'utilisation de STM32CubeMX pour la configuration des GPIO, puis de Keil μVision5 pour l'écriture du programme.  Mbed n'est abordé que très brièvement, dans le 18e et dernier chapitre du livre (et une part importante de ces quelques pages explique comment importer un code qui se trouvait sur Mbed pour l'utiliser dans Keil μVision5!).

Première mise en garde, donc:  il ne s'agit pas d'un livre sur la programmation des cartes Nucleo avec mbed.

Deuxième mise en garde: ce livre n'est pas une initiation à la programmation, ni une initiation à la l'électronique.  Tout un tas de livre sur l'Arduino et le Raspberry Pi vont vous expliquer en détail ce qu'est une LED et une boucle "while", car ils supposent vous n'en avez jamais entendu parler auparavant.   Ce n'est pas du tout l'approche de ce livre:   pour être en mesure de bien l'apprécier, vous devriez déjà connaître les bases du C++ et, dans une moindre mesure (puisqu'on utilise exclusivement des shields prêts à l'emploi), quelques bases d'électronique.

Si vous faites partie de ce public cible, le contenu devrait vous plaire:  marches à suivre très détaillées, nombreuses captures d'écran en couleur, par un auteur qui maîtrise très bien son sujet (Marc Laury travaille chez STMicroelectronics depuis deux décennies).

(J'ai peut-être été un tantinet irrité par des répétitions fréquentes d'un chapitre à l'autre.  Par exemple, un variante de la phrase "La compilation via le menu Project and Rebuild all target fils doit donner en bas de l'environnement de développement l'indication 0 Error (s), 0 Warning (s)." apparaît à 22 reprises tout le long du livre.  Le paragraphe "Enfin, connectez la carte Nucleo à l'ordinateur avec un cordon USB, puis lancez la programmation du STM32L152RET6 dans le menu Flash and Download.  La LED LD1 clignote alternativement vert et rouge pendant la programmation, puis se stabilise au rouge une fois la programmation terminée." revient 10 fois.  Je suppose que le livre n'a pas été conçu pour être lu d'une couverture à l'autre.)

Au menu:

Chapitre 1:  un premier chapitre très théorique sur ce qui caractérise les processeurs ARM  Cortex-M (pipeline, architecture RISC, organisation mémoire, etc.) et la famille STM32 en particulier.

Chapitre 2:  description du "hardware" présent sur une carte Nucleo.

Chapitre 3:  L'environnement de développement pour STM32 (STM32 ODE)

Chapitre 4:  Mise au point d'un programme avec Keil μVision5.

Chapître 5:  On fait clignoter une LED...

Chapitre 6:  Port virtuel par USB (communication série entre le Nucleo et l'ordinateur)

Chapitre 7:  Afficheur 7 segments par liaison I2C

Chapitre 8:  Jeu de lumières par liaison SPI

Chapitre 9:  Mesure d'une tension par l'ADC

Chapitre 10:  Capteur de température interne sous l'environnement SW4STM32

Chapitre 11:  Lumière progressive avec un compteur

Chapitre 12:  Interruption par compteur

Chapitre 13:  Alarme par RTC (l'horloge temps réel intégrée du STM32)

Chapitre 14:  Mode faible consommation

Chapitre 15:  Application temps réel (FreeRTOS)

Chapitre 16:  Gestion d'un afficheur TFT

Chapitre 17:  Contrôleur de carte SD

Chapitre 18:  L'environnement de développement MBED

Voici, finalement, un extrait du livre disponible sur le site d'Eyrolles.

Yves Pelletier (Twitter) (Facebook)

lundi 3 juillet 2017

Livre: Raspberry Pi 3 ou Pi Zero par François Mocq

Raspberry Pi 3 ou Pi Zero
Exploitez tout le potentiel de votre nano-ordinateur
par François Mocq
ENI Editions
2016
850 pages

J'ignore si vous réalisez à quel point la rédaction d'un livre général sur le Rasbperry Pi est héroïque. Premièrement, il faut avoir des connaissances encyclopédiques concernant le Raspberry Pi, Linux, les GPIOs,  Python, Scratch et tous les logiciels fournis par défaut avec Raspbian.  Il faut s'assurer que le livre sera aussi utile à ceux qui veulent construire un robot qu'à ceux qui veulent mettre sur pied un serveur web.  Il faut être capable d'expliquer ça clairement, en partant du principe que, très souvent. la personne qui débute avec le Rasbperry Pi n'a jamais utilisé Linux auparavant.   Finalement, puisque les choses bougent vraiment très rapidement dans le monde du Rasbperry Pi, il faut se résigner à ce qu'une bonne partie de ce qu'on a écrit doive être mise à jour dans les mois qui suivront!

Quiconque visite régulièrement Framboise 314 a pu constater à quel point François Mocq communique habilement ses vastes connaissances en matière de Raspberry Pi.  Et pour ce qui est de se tenir à jour, pas d'inquiétude: ce livre, publié fin 2016, fait suite à celui sur le Rasbperry Pi 2 (publié en 2015) et celui sur le Rasbperry Pi tout court (publié en 2014).

Voici un petit survol des nombreux sujets traités dans ce volumineux bouquin de 850 (!!!) pages:

Chapitre 1:  Présentation de l'historique du Raspberry Pi.

Chapitre 2:  Une description très précise et détaillée du côté "hardware" du Raspberry Pi 3 et du Raspberry Pi Zero (les version précédentes ne sont pas couvertes ici).

Chapitre 3:  Raspbian est le système d'exploitation dominant, mais plusieurs autres OS peuvent être utilisés sur le Raspberry Pi.  Ce chapitre nous les présente brièvement.

Chapitre 4:  Marche à suivre très détaillée pour préparer notre carte micro SD.

Chapitre 5:  Le premier démarrage de Raspbian (raspi-config, etc.).

Chapitre 6:  L'utilisation de Raspbian Jessie en mode graphique, incluant une impressionnante visite guidée des applications pré-installées.  Évidemment, on ne peut pas inclure dans un seul livre le guide d'utilisation complet de chacune de ces applications, mais c'est intéressant de savoir à quoi sert chacune d'entre elles.

Chapitre 7:  Utilisation de la ligne de commande; le strict minimum à connaître pour naviguer dans les fichiers sur Linux, et parfois un peu plus (initiation aux scripts shell!).

Chapitre 8:  Se connecter à distance au Raspberry Pi (SSH et VNC).

Chapitre 9: Gestion du réseau (avec beaucoup d'information théorique bien vulgarisée sur le fonctionnement d'un réseau, qu'il comporte un Raspberry Pi ou non).

Chapitre 10:  Utilisation d'une mémoire de masse externe (clé USB ou disque dur)

Chapitre 11:  Démarrage à partir d'un disque externe

Chapitre 12:  "Que faire avec un Raspberry Pi?" :  bureautique, centre multimédia, serveur web et caméra de surveillance.  Évidemment, il existe de nombreuses autres possibilités qui ne sont pas abordées ici, mais c'est une sélection intéressante.

Chapitre 13:  La programmation en Scratch, incluant la création d'un jeu complet.

Chapitre 14:   La programmation en Python

Chapitre 15:  Utilisation des entrées/sorties GPIO en ligne de commande, avec Python et avec Scratch.

Chapitre 16:  Exploration de quelques périphériques pour le Rasbperry Pi (caméra, cartes HAT, HifiBerry DAC+, ADC Pi Plus, IO Pi Plus, RTC Pi Plus, PiFace Digital 2, moteur pas à pas, moteur cc)

Chapitre 17:  Dépannage du Raspberry Pi.  Que faire si votre Raspberry Pi refuse de démarrer, si vous avez des problèmes avec la qualité de l'image ou du son ou encore ... si le clavier est QWERTY?!?!? Mais ce n'est pas un problème, ça!  Au Québec, c'est une configuration AZERTY qui serait fichtrement problématique.  Si je me mettqit q écrire sur un tel clqvier, il y qurait tout plein de mquvqises lettres dans mes textes!

Voilà!  Ça nous fait beaucoup, beaucoup de sujets différents dans un même livre, mais puisque l'auteur dispose de 850 pages, chaque thème est traité avec une profondeur appréciable.  Il s'agit donc d'un excellent livre de référence, très probablement le meilleur de sa catégorie.

Yves Pelletier   (Twitter, Facebook)

mardi 6 juin 2017

Livre: Mouvement, lumière et son avec Arduino et Raspberry Pi, par Simon Monk


Mouvement, lumière et son avec Arduino et Raspberry Pi
par Simon Monk
Éditions Eyrolles
Collection Serial makers
Publié en 2016
352 pages

Je n'ai pas remarqué de référence explicite à ce sujet, mais je crois qu'on peut considérer que ce livre est le complément logique d'un autre livre intitulé Les capteurs pour Arduino et Raspberry Pi, dont la version originale anglaise avait également été publiée chez Make (mais qui a toutefois été traduit chez Dunod).

Dans les deux cas, on présente dans un même chapitre la façon de procéder (connexions à la carte et exemples de programmes) avec un Arduino et avec un Raspberry Pi, afin d'en arriver rapidement à un résultat fonctionnel.

Mais alors que "Les capteurs pour Arduino et Raspberry Pi" se consacrait à différents capteurs branchés aux entrées de la carte, "Mouvement, lumière et son avec Arduino et Raspberry Pi"  traite plutôt des actionneurs branchés aux sorties de la carte.

Après les traditionnels chapitres d'introduction (comment installer l'IDE Arduino, comment configurer le Raspberry Pi, comment utiliser une breadboard...) vous y apprendrez donc comment piloter des LED, des moteurs CC, des pompes, des vérins,  des servomoteurs, des moteurs pas à pas, des éléments chauffants, des refroidisseurs Peltier, des relais et des écrans OLED.  De plus, un dernier chapitre aborde brièvement l'internet des objets.

Tout est clairement expliqué, avec de nombreuses photographies et schémas Fritzing.  À mon avis, tout débutant disposera grâce à ce manuel des informations nécessaires pour arriver rapidement à un résultat concret.

Les différents types de moteur constituent clairement le sujet principal du livre (plus du tiers des pages leur sont consacrées).  Par comparaison, le chapitre concernant les afficheurs m'a déçu:  on y parle très brièvement des rubans de LEDs (mais pas des matrices bidimensionnelles), et des écrans OLED (mais pas des afficheurs LCD Hitachi, ni des afficheurs à 7 segments). Ce déséquilibre m'apparaît un peu étrange.  Le dernier chapitre, qui traite de l'internet des objets, n'est également qu'un survol très rapide.

Je vois très bien ce livre figurer dans toute bonne bibliothèque de référence technique (école, fablab, etc).  Il s'agit également d'une excellente acquisition pour le débutant qui désire à la fois se familiariser avec l'Arduino et le Raspberry Pi (ce débutant aura probablement besoin aussi de consulter Les capteurs pour Arduino et Raspberry Pi par Tero Karvinen,  Kimmo Karvine et Ville Valtokari ).   Bien sûr, toutes les informations contenues dans ce livre sont disponibles sur de nombreux sites web (y compris sur le blog que vous lisez actuellement...), mais peut-être pas toujours de façon aussi claire et ordonnée.

Si vous avez déjà un peu d'expérience avec l'Arduino et le Raspberry Pi, certaines sections du livres pourraient vous être utiles (l'explication de la régulation PID est particulièrement bien réussie), mais vous risquez d'y trouver une bonne quantité d'informations que vous connaissez déjà.  Nous ne suivons pas tous le même parcours mais, dans mon cas, le contrôle de LED et de moteurs est arrivé très rapidement dans mon apprentissage de ces deux plate-formes.

Si vous voulez juger par vous-mêmes, les Éditions Eyrolles mettent à notre disposition les 36 premières pages du livre, en format pdf.

Les sketches Arduino et les scripts en python, quant à eux,  sont disponibles ici sur Github.

Yves Pelletier   (Twitter, Facebook)

samedi 27 mai 2017

Livre: Arduino Music and Audio Projects par Mike Cook



Arduino Music and Audio Projets
par Mike Cook
481 pages
Éditions Apress, 2015

Mes recommandations concernant Arduino Music and Audio Projets sont simples: si vous ne vous intéressez pas particulièrement au potentiel musical de l'Arduino, cette publication ne sera d'aucun intérêt pour vous.  Par contre, si vous aimeriez fabriquer des instruments de musique à base d'Arduino, ou encore utiliser l'Arduino pour produire ou modifier des sons, alors la lecture de ce livre est essentielle!

Mike Cook, qui est physicien de formation,  est également co-auteur du livre Raspberry Pi pour les Nuls. S'il vous arrive de fréquenter la version anglophone du forum Arduino, vous avez peut-être eu l'occasion de profiter de ses  interventions fort pertinentes rédigées sous le pseudonyme de Grumpy_Mike:  au moment où j'écris ces lignes, il y en a presque 50 000!

Arduino Music and Audio Projets est divisé en trois parties:

Première partie:  MIDI et OSC

Dans cette première partie, qui occupe à elle seule plus de la moitié des pages du livre, l'auteur nous présente les protocoles MIDI et OSC, qui permettent la communications entre instruments de musique électroniques.

Plusieurs projets complets, de niveaux de difficulté variables, nous sont présentés:  même note jouée simultanément sur plusieurs canaux, accord à un doigt, arpégiateur, écho, délais, looper MIDI, Spoon-o-Phone (un clavier MIDI rudimentaire qui se joue au moyen d'une cuillère), thérémine MIDI (à base de télémètres infrarouge SHARP), MIDI air drums (avec Wii Nunchuck), jeu de lumière contrôlé par MIDI, harpe MIDI (comportant une vraie harpe dont chaque corde peut être pincée par un mécanisme à moteur), Dunocaster (un instrument qui rappelle une guitare électrique), monome OSC, pendule MIDI, clavier MIDI géant (actionné en marchant sur les touches), Glockenspiel MIDI (chaque lamelle étant frappée par un solénoïde).

À titre d'exemple, la vidéo ci-dessous montre l'Arduinocaster en action.



Deuxième partie:  synthèse de son

Alors que dans la première partie, l'Arduino servait à produire ou à relayer des messages MIDI ou OSC, on s'attaque ici à la production d'un signal sonore au moyen de l'Arduino, auquel on a branché un haut-parleur:  onde carrée, triangulaire, en dent de scie ou sinusoïdale, polyphonie.  Ces concepts sont mis en pratique dans la fabrication d'un SpoonDuino:  un autre instrument  contrôlé par une cuillère, capable de produire des sons complexes (voir la vidéo ci-dessous).




Troisième partie: traitement de signal sonore

Finalement, cette troisième partie consiste à échantillonner de véritables sons et les modifier avant de les transmettre à un haut-parleur. Par exemple:  enregistrer votre voix et la rejouer un octave plus haut ou plus bas, ajouter de l'écho, des filtres, etc.   Ici, on s'approche des limites (mémoire et rapidité) de l'Arduino Uno, ce qui oblige à faire certains compromis concernant la durée des échantillons, la fréquence d'échantillonnage et la résolution.  Pour certains projets, on doit même utiliser l'Arduino Due, plus puissant que l'Uno.

Tout est clairement expliqué:  Mike Cook ne se contente pas de vous fournir la recette, il vous explique de façon détaillée comment les choses fonctionnent et les raisons pour lesquelles on procède de cette façon (c'est quand même un livre de 500 pages).  Évidemment, tous les sketches sont fournis (et peuvent être récupérés en ligne sur gitHub).

En lisant ce livre, vous aurez l'occasion d'apprendre tout un tas de concepts concernant l'acoustique, l'électronique et la programmation.  Je ne le recommanderais pas à un débutant, toutefois:  pour profiter pleinement du contenu, vous devriez avoir déjà eu l'occasion de réaliser quelques projets simples avec l'Arduino.

Bien sûr, il faut comprendre l'anglais...puisqu'il s'agit d'un livre très spécialisé, je serais surpris qu'il soit un jour traduit en français.

Yves Pelletier   (Twitter, Facebook)