Robotique et programmation au collège

Dans le cadre de la préparation d’une formation académique sur la robotique et la programmation, j’avais commencé en juin dernier un article publié sur mon blog de la SI au LP2I :

https://blogpeda.ac-poitiers.fr/lp2i-si/2016/06/12/robotique-et-programmation/

Les objectifs ont été redéfinis au niveau académique. Il s’agit maintenant de préparer 2 journées de formation sur l’utilisation du numérique en technologie au collège. Je serai amené à compléter ici l’article précédent sur les spécificités liées au collège.

A suivre !

Utilisation d’un afficheur OLED 128×64 en I2C avec Blockly Arduino

Je poursuis mon travail de création de nouveaux blocs pour Blockly Arduino pour utiliser un module audio mp3, un afficheur graphique OLED I2C, des modules Leds RGB avec liaison série, … Ces blocs sont disponibles en ligne ici :

http://www.technologiescollege.fr/blockly@rduino/?lang=fr&card=dfrobot_romeo

Je présente ici mes tests d’un afficheur graphique OLED 128×64 commandé par une liaison série de type I2C.

Je trouve cet afficheur très intéressant car il a un très bon rapport qualité prix chez Banggood (pub) : 5€46 l’afficheur (à partir de 3 achetés), frais de port compris, livré sous 10 jours ouvrés :
http://www.banggood.com/0_96-Inch-4Pin-IIC-I2C-Blue-OLED-Display-Module-For-Arduino-p-969147.html

Cet écran OLED ne fait que 0.96 pouces de diagonale (soit 25 mm) mais sa résolution de 128×64 et son contraste le rende très lisible, de près. Il est simple à mettre en oeuvre car 4 fils suffisent : 5v, Gnd et une liaison série I2C. Il s’intègre facilement comme interface de dialogue avec une carte Arduino. En ajoutant 4 boutons on peut gérer des menus : choix A ou choix B, et suivant ou précédent. (Source : banggood.com)

Ce petit afficheur permet de nombreuses applications que ne permettent pas les afficheurs LCD alphanumériques habituellement utilisés. (source : eevblog.com/forum par linux-works)

Avec cet afficheur on peut facilement afficher 4 lignes de textes avec une police 10. (Source : pinshape.com par fred2088)

Cet afficheur n’a rien à voir avec un simple afficheur LCD alphanumérique. On peut faire beaucoup plus de chose avec et le rendu est bien meilleur.  Il s’intègre facilement comme interface de dialogue avec une carte Arduino, pour afficher des valeurs de capteurs en temps réel par exemple. En ajoutant 4 boutons on peut même gérer des menus : choix A ou choix B avec deux boutons dessous, et suivant ou précédent avec deux boutons sur le côté droit.

Cet afficheur a beaucoup d’avantages : sa petite taille permet de l’intégrer plus facilement sur une petite carte ou un petit boîtier, il consomme peu (moins de 20 mA généralement, contre 50 à 90 mA pour un LCD classique car ici il n’y a pas de rétroéclairage : chaque pixel produit sa lumière avec un bon contraste, donc super pour l’autonomie), on peut afficher 2 à 3 fois plus de textes et des graphiques, il fonctionne très bien avec une liaison série de type I2C (pas d’Entrées/Sorties utilisées), l’interface est très rapide (400 kHz), …

Cet afficheur est à base de SSD1306 standard. J’ai donc utilisé la librairie u8glib pour Arduino disponible ici :

https://github.com/olikraus/u8glib

Voici un premier programme de test réalisé avec cet afficheur et quelques uns des nouveaux blocs que j’ai créé pour Blockly Arduino :

Programme de test de l'afficheur OLED avec Blockly Arduino (Source : Collège Jean Macé)

Programme de test de l’afficheur OLED avec Blockly Arduino (Source : Collège Jean Macé)

A suivre (en cours de rédaction) !

 

Utilisation d’un module audio, le DFPlayer Mini mp3 de DFRobot, avec Blockly Arduino

En cours de rédaction

Je poursuis mon travail de création de nouveaux blocs pour Blockly Arduino pour utiliser un module audio mp3, un afficheur graphique OLED I2C, des modules Leds RGB avec liaison série, … Ces blocs sont disponibles en ligne ici :

http://www.technologiescollege.fr/blockly@rduino/?lang=fr&card=dfrobot_romeo

Je commence par présenter ici mes tests d’un module audio, le DFPlayer Mini mp3 de DFRobot.
Wiki dédié à ce module audio par DFRobot :
http://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299

Module audio DFPlayer disponible chez Gotronic :
http://www.gotronic.fr/art-module-mp3-dfr0299-22404.htm

Ou chez Banggood à un prix très intéressant :
http://www.banggood.com/DFPlayer-Mini-MP3-Player-Module-For-Arduino-p-969191.html
encore plus intéressant par 5 chez Banggood :
http://www.banggood.com/5Pcs-DFPlayer-Mini-MP3-Player-Module-For-Arduino-p-981365.html
3,24 € le module le module audio (à partir de 5 modules), sans frais de port chez Banggood (pub), livré sous 10 jours ouvrés !

Module audio DFPlayer Mini MP3 de DFRobot. Très intéressant pour générer du son à partir d’une carte microSD embarquée et d’une carte Arduino, surtout avec les nouveaux blocs de Blockly Arduino (Source : banggood.com)

Module audio DFPlayer Mini MP3 de DFRobot : un lecteur mp3 basé sur un DSP et un ampli audio mono 3W. (Source : banggood.com)

Ce module audio est vraiment petit et ne nécessite aucun composant externe. On intègre facilement une fonction audio à un robot. (Source : dfrobot.com)

C’est un tout petit module facile à mettre en œuvre. Il nécessite juste 3 ou 4 fils : le 5V, la masse (Gnd), une sortie digitale pour gérer une liaison série (transmission de commandes telles que le numéro du fichier mp3 à lire dans la carte microSD embarquée sur le module), et éventuellement une entrée digitale pour savoir quand le module à fini de lire le fichier mp3.

Avec les nouveaux blocs proposés dans Blockly Arduino le câblage par défaut est le suivant. Connecter la broche Rx du module audio à la broche 11 de la carte Arduino (liaison série logicielle pour envoyer des commandes comme la lecture d’un fichier audio stocké sur la carte micro SD en donnant le numéro du fichier). Connecter la broche Busy du module audio à la broche 12 de la carte Arduino pour éventuellement attendre la fin de la lecture en cours. (Source : dfrobot.com)

Avec les nouveaux blocs proposés dans Blockly Arduino le câblage par défaut est le suivant. Connecter la broche Rx du module audio à la broche 11 de la carte Arduino (liaison série logicielle pour envoyer des commandes comme la lecture d’un fichier audio stocké sur la carte micro SD en donnant le numéro du fichier). Connecter la broche Busy du module audio à la broche 12 de la carte Arduino pour éventuellement attendre la fin de la lecture en cours.

Les fichiers mp3 doivent être enregistrés sur la carte micro SD dans un dossier à la racine nommé “mp3”.
Le nom de chaque fichier mp3 doit commencer par un nombre :
0001 Exemple1.mp3
0002 Exemple2.mp3
Pas d’accent dans le nom des fichiers.

Je teste actuellement les nouveaux blocs que j’ai créés pour Blockly Arduino, notamment ceux pour piloter ce module audio DFPlayer Mini MP3 de DFRobot à partir de la bibliothèque fournie par DFRobot :

Lien pour le téléchargement de la librairie à installer impérativement dans le logiciel Arduino :

Librairie DFPlayer library V2.0.

Exemple de programme de test du module audio MP3 avec les 3 nouveaux blocs de Blockly Arduino :

Exemple de programme de test du module audio MP3 avec les 3 nouveaux blocs de Blockly Arduino (Source : Collège Jean Macé)

Exemple de programme de test du module audio MP3 avec les 3 nouveaux blocs de Blockly Arduino (Source : Collège Jean Macé)

A suivre (en cours de rédaction) !

Utilisation de modules Led RGB WS2812B avec Blockly Arduino

Je poursuis mon travail de création de nouveaux blocs pour Blockly Arduino pour utiliser un module audio mp3, un afficheur graphique OLED I2C, des modules Leds RGB avec liaison série, … Ces blocs sont disponibles en ligne ici :

http://www.technologiescollege.fr/blockly@rduino/?lang=fr&card=dfrobot_romeo

Je présente ici mes tests du module Led RGB WS2812B disponible à un prix très intéressant :
0,26 € la Led RGB (à partir de 3 lots de 10), sans frais de port chez Banggood (pub), livré sous 10 jours ouvrés !

http://www.banggood.com/10Pcs-DC-5V-3MM-x-10MM-WS2812B-SMD-LED-Board-Built-in-IC-WS2812-p-958213.html

Module Led RGB WS2812B. Puissance max = 0,3W environ (3×18 mA max sous 5V). Taille réelle = 10 mm. (Source : ebay.fr/itm)

Côté soudure du module Led RGB WS2812B. Le connecter sur la gauche à une carte Arduino avec 3 fils : 5V, Gnd et une sortie digitale pour envoyer les données en série (couleur sous forme de 3×8 bits). A gauche on peut facilement relier le module à d’autres modules pour transmettre l’alimentation et la liaison série. La couleur de chaque module peut être pilotée de manière indépendante en envoyant le numéro du module par la liaison série. (Source : ebay.fr/itm)

C’est un petit module très facile à mettre en œuvre. Il nécessite juste 3 fils, comme d’habitude : le 5V, la masse (Gnd), et une sortie digitale pour gérer une liaison série (transmission de la couleur sous forme de 3×8 bits pour les coordonnées RGB). Le courant d’alimentation des Leds est régulé à 3×18 mA maxi par chaque module RGB. On peut très facilement chaîner des modules en conservant la possibilité d’alimenter et de piloter chaque module de manière indépendante à partir des 3 fils connectés au premier module. Avec juste 5 modules chaînés, l’effet wouah est garanti auprès des élèves. Il est à noté que Banggood livre généralement ces modules sous forme de 10 modules à dégrapper. On obtient très facilement deux bandes de 5 avec les sorties en face des entrée (ce qui n’est pas le cas sur la photo sur leur site).

Les modules sont livrés sous forme de grappes facilement dégrappables. Généralement les sorties sont orientées face aux entrées, ce qui n’ets pas le cas sur cette image. (Source : banggood.com)

Je teste actuellement les nouveaux blocs que j’ai créés pour Blockly Arduino, notamment deux nouveaux blocs pour piloter ces modules Led RGB à partir de la bibliothèque fournie par Adafruit qu’il faut installer au préalable dans le logiciel Arduino :

https://www.adafruit.com/products/1655

Extrait d'un programme de test de deux nouveaux blocs pour piloter ces modules Led RGB WS2812B (Source : Collège Jean macé)

Extrait d’un programme de test de deux nouveaux blocs pour piloter ces modules Led RGB WS2812B (Source : Collège Jean macé)

A suivre (en cours de rédaction) !

Utiliser Linux en technologie

Quel est l’intérêt de Linux en technologie au collège ?

Linux est un système d’exploitation concurrent de Windows qui a l’avantage d’être libre, gratuit, et très léger. Il peut fonctionner normalement sur des PC obsolètes disposant de peu de ressources matérielles. Il peut s’installer sur une petite partition d’un disque dur, mais il peut aussi s’utiliser sur une clé USB, ce qu’on appelle une version live USB. Cette solution sur clé USB permet de faire fonctionner Linux sur un PC sans rien installer sur celui-ci, même si son disque dur est hors service ou si Windows ne démarre plus. On peut alors installer sur la clé USB les logiciels qu’on souhaite, en version Linux. C’est particulièrement intéressant en Technologie au collège puisque généralement on n’a pas les droits administrateur pour installer les logiciels qu’on souhaite. En ce qui me concerne, j’ai commencé à utiliser cette solution avec mes élèves, au collège et parfois au lycée, pour utiliser le logiciel Arduino (avec le plugin Ardublock qui permet de programmer graphiquement).

Comment créer une clé live USB avec Linux ?

– Utiliser une clé USB d’au moins 4Go. Une clé de 8 Go coûtera environ le même prix, soit environ 6€ pour une clé de marque, en USB3.

– Formater la clé en FAT32 (Formatage rapide depuis Windows : clic droit sur la clé depuis l’explorateur, puis formater).

– Télécharger l’image ISO de la version souhaitée de Linux.

J’ai choisi Linux Mint avec l’interface graphique Mate téléchargeable ici :

http://www.linuxmint.com/download.php

– Télécharger le logiciel unetbootin qui vous permettra de créer facilement votre clé live USB.

http://unetbootin.sourceforge.net/

– Lancer le logiciel.

Il permet de télécharger automatiquement une image ISO d’une version de Linux. Je préfère télécharger directement sur le site de l’éditeur.

– Cocher donc directement Disque Image ISO et sélectionner l’image ISO que vous avez téléchargée.

– Unetbootin permet de créer sur la clé une partition où sera stocké les changements de configuration du système et les nouveaux logiciels installés. C’est ce qu’on appelle le mode persistant. Il semblerait que réserver 2000 Mo soit largement suffisant.

– Sélectionner votre clé USB (attention à ne pas vous tromper de lecteur) et cliquer sur OK pour lancer la création de votre clé live USB Linux.

– Une fois terminé, insérer la clé sur un PC, et démarrer le PC. Si le PC démarre le système Windows du PC, il faut aller dans le Boot menu du Bios (touche F12, ou F2, …). Mettre la clé USB en priorité 1 pour le démarrage.

– Redémarrer. Si le PC démarre sur la clé USB, il affiche un menu avec Linux Mint. Cliquer sur Défault (ou attendre la tempo). Linux Mint démarre en environ 1 minute sur n’importe quel PC, même obsolète.

– Il est ensuite possible de configurer le système Linux. La configuration sera conservée sur la clé lorsque vous cliquer sur “Quitter” (menu en bas à gauche)

 

Comment archiver ou restaurer une clé USB bootable ?

Si on veut avoir une douzaine de clés bootables identiques, il suffit d’en créer une puis d’en obtenir une image (une archive) et de restaurer cette image sur une clé vierge. Cela prend environ 10 min par clé.

J’utilise le logiciel portable appelé USB Image Tool (ou USBIT) présenté ici. Il est gratuit, portable, très simple d’utilisation, et fonctionne très bien. Quand j’ai une clé USB bootable qui ne démarre plus normalement (ça arrive parfois) je la restaure en moins de 10 minutes avec ce logiciel. Je prends garde à refaire une image si j’ai installé un nouveau logiciel par exemple.