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   (TwitterFacebook)

mardi 6 novembre 2018

Kit: oscilloscope de poche DSO150


Aujourd'hui, je vous glisse quelques mots concernant un oscilloscope de poche DSO150 acheté sous forme de kit. (Prix payé:  19 USD, frais de port inclus.)

Le kit est constitué de deux cartes sur lesquelles de nombreux composants montés en surface on déjà été soudés, d'une douzaine de composants traversants à souder soi-même, d'un boîtier en plastique, de câbles pour la prise de mesure et d'un manuel d'instructions.

Pour fonctionner, l'oscilloscope nécessite toutefois une alimentation en courant continu de 9 V, et cette dernière n'est pas fournie.




Le manuel d'instructions est assez bien fait: les photographies en couleur sont très claires, et l'anglais est tout à fait compréhensible.  Le seul inconvénient (mineur), c'est qu'il y a une seule version du manuel pour les deux versions possibles du kit: celle où on doit aussi souder les composants montés en surface, et celle où les composants montés en surface sont déjà soudés. Certaines étapes sont donc superflues lorsqu'on a la version la plus simple du kit. Le manuel prétend aussi que nous devons nous-mêmes souder 15 résistances et 4 condensateurs céramique sur la carte analogique alors que dans mon kit, tout ça était déjà installé.



Après avoir vérifié le fonctionnement correct de l'écran couleur, on soude 8 composants sur la carte principale: le connecteur pour le signal de test, un connecteur d'alimentation secondaire (qui deviendra inaccessible lorsque nous aurons assemblé le boîtier!), un interrupteur marche/arrêt, une barrette de 4 broches (qui servira plus tard à brancher le codeur rotatif), et 4 gros boutons poussoirs.  De plus, il faut retirer la résistance R30, dont l'unique fonction a été de nous permettre de vérifier le bon fonctionnement de l'écran avant d'avoir soudé l'interrupteur marche/arrêt.





Nous passons ensuite à la carte analogique. Nous devons y souder trois condensateurs électrolytiques, un commutateur à 3 positions (AC-DC-GND), le connecteur BNC qui nous permettra de prendre des mesures et une barrette comportant deux rangées de 5 broches (ces broches feront le lien entre la carte principale et la carte analogique).



Ensuite, on soude le codeur rotatif sur la petite carte qui lui est destinée...



...qu'on visse et soude à la carte principale.


Roulement de tambour...c'est le moment de vérifier que toutes nos soudures sont bien réussies: on assemble la carte analogique à la carte principale (en insérant les 10 broches mâles de la carte analogique dans les 10 connecteurs femelles de la carte principale), on allume l'appareil, on place le commutateur en position GND, et on mesure la tension à 8 endroits. Si les tensions mesurées correspondent à celles qui sont indiquées à l'étape 4 des instructions, tout va bien et l'assemblage est presque terminé.  Sinon, on révise nos soudures... (à la toute fin du manuel, la section "troubleshooting" indique la cause probable de chaque mauvaise mesure).


Il y a aussi deux condensateurs variables C3 et C5 qu'on doit ajuster avec un petit tournevis pour éviter une déformation du signal à l'écran.

Il ne reste plus qu'à assembler le boîtier...



... et notre oscilloscope est prêt à être utilisé!

L'utilisation est assez simple: pour ajuster l'échelle de l'ordonnée, on appuie sur le bouton V/DIV, et on tourne le codeur rotatif. Pour ajuster l'échelle de l'abscisse, on appuie sur le bouton SEC/DIV et on tourne le codeur rotatif.  Le bouton TRIGGER permet de modifier le mode de déclenchement horizontal, et le bouton OK permet de figer l'affichage pour que ça cesse de bouger.  Si on appuie au moins 3 secondes sur le bouton OK, une liste de paramètres numériques apparaissent à l'écran:



Parmi les points forts de l'oscilloscope, nous pouvons citer:
  • son prix!
  • sa petite taille (la nécessité de lui adjoindre une alimentation 9 V le rend un tout petit peu moins portable, mais ce truc demeure tout de même plus petit qu'on multimètre!)
  • sa facilité d'utilisation
  • la possibilité de mesurer un signal d'une amplitude maximale de 50 V
  • le plaisir de participer à la construction de l'appareil, même s'il faut bien admettre que l'essentiel du travail avait déjà été accompli en usine.


Mais soyons réaliste,  il ne s'agit aucunement d'un appareil de mesure destiné aux professionnels. Parmi les inconvénients notables:
  • la bande passante de 200 kHz en fait un appareil plutôt lent. C'est acceptable si on désire visualiser un signal PWM ou un signal de fréquence audible, mais ça peut devenir un inconvénient important pour des signaux plus rapides.
  • Il n'y a qu'un seul canal, on ne peut donc y brancher qu'une seule sonde. Bien difficile, donc, de comparer entre eux deux signaux différents, mesurer un déphasage, etc.
  • L'écran est très, très petit.
  • Je ne suis pas convaincu que les petits interrupteurs à glissière pourront tenir le coup éternellement (bien sûr, je pourrai les remplacer au besoin).
Donc, un gadget utile pour certaines applications, mais qui ne doit pas être considéré comme l'équivalent d'un véritable oscilloscope de bonne qualité.  Si vous n'avez pas les moyens de vous procurer un tel oscilloscope, c'est certainement mieux que rien du tout...

Yves Pelletier   (TwitterFacebook)

dimanche 4 novembre 2018

ESP8266 ou ESP32 et afficheur LCD 16 X 2

Lorsque vous créez un objet connecté au moyen d'un  ESP8266 ou d'un ESP32, il est parfois utile que votre dispositif soit en mesure d'afficher un court message de façon autonome, ne serait-ce que pour indiquer que sa tentative de connexion au réseau WiFi n'a pas fonctionné, pour afficher son adresse IP, etc.

C'est pourquoi je vous présente aujourd'hui un court article sur le contrôle d'un afficheur à cristaux liquides 16 X 2 basé sur le contrôleur Hitachi HD44780, au moyen d'un module ESP8266 ou ESP32.


Préparation de l'IDE Arduino

Nous allons programmer l'ESP au moyen de l'IDE Arduino. Les fichiers nécessaires à la programmation de ce module doivent donc avoir été ajoutés au moyen du gestionnaire de cartes du logiciel; pour plus d'informations à ce sujet, voir voir cet article pour l'ESP8266 ou celui-ci pour l'ESP32.

Connexions

L'afficheur LCD occupe 6 broches de l'ESP, sans compter l'alimentation. Assurez-vous d'utiliser un afficheur qui accepte de fonctionner à un niveau logique de 3,3 V, car ce n'est pas toujours le cas.  De plus, si vous programmez le module avec un convertisseur USB-série, il est très important qu'il s'agisse d'un modèle fonctionnant sous 3,3 V, et non 5 V.

Les 16 broches de l'afficheur LCD sont connectées de la façon suivante:
  • Broche 1 de l'afficheur (VSS): GND
  • Broche 2 de l'afficheur (VDD): 3,3 V
  • Broche 3 de l'afficheur (contraste): potentiomètre variant de 0 à 3,3 V.
  • Broche 4 de l'afficheur (RS): broche GPIO4 de l'ESP8266
  • Broche 5 de l'afficheur (RW): GND
  • Broche 6 de l'afficheur (E): GPIO05 de l'ESP8266
  • Broches 7, 8, 9 et 10 de l'afficheur (D0, D1, D2, D3): pas connectées
  • Broche 11 de l'afficheur (D4): GPIO12 de l'ESP8266
  • Broche 12 de l'afficheur (D5): GPIO13 de l'ESP8266
  • Broche 13 de l'afficheur (D6): GPIO14 de l'ESP8266
  • Broche 14 de l'afficheur (D7): GPIO15 de l'ESP8266
  • Broche 15 de l'afficheur (rétroéclairage): 3,3 V
  • Broche 16 de l'afficheur: GND
Ce qui donne ce résultat avec ma carte de développement ESP32:

...et celui-ci avec une carte Wemo D1 Mini:


De plus, si vous utilisez un module ESP8266 qui n'est pas intégré à une carte de développement (genre NodeMCU ou Wemos), vous devrez, comme d'habitude, brancher ses broches VCC, RST et CH_PD (enable) à 3,3 V, et brancher ses broches GND et GPIO0 à GND. La broche TXD de l'ESP8266 se branche sur le RX du convertisseur USB-série, et la broche RXD de l'ESP8266 se branche sur le TX du convertisseur USB-série.



Sketch minimal

Bonne nouvelle: si vous avez déjà utilisé ce type d'afficheur avec une carte Arduino, ce sera exactement la même chose, puisque la bibliothèque LiquidCrystal fournie avec l'IDE Arduino est pleinement compatible avec l'ESP8266.

Voici un premier sketch qui ne fait que le strict minimum: afficher un message sur l'afficheur LCD.




Affichage d'un message éditable par une page web

Essayons maintenant un mini-projet qui utilisera un peu mieux les caractéristiques de l'ESP8266 / ESP32: le message qui sera affiché par le LCD pourra être modifié à distance au moyen d'une page web.



Au démarrage du sketch, l'ESP8266 se connecte au réseau WiFi et son adresse IP s'affiche dans le moniteur série de l'IDE Arduino.  Il s'agit de coller cette adresse IP dans le navigateur web d'un appareil (ordinateur ou téléphone) branché au même réseau local pour faire apparaître une page web générée par l'ESP8266.


Vous écrivez un message dans les champs de texte de la page web (un champ pour chaque ligne du LCD) et, lorsque vous cliquez sur le bouton "Appliquer", le message s'affiche sur le LCD.

Yves Pelletier   (TwitterFacebook)

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   (TwitterFacebook)