La roue codeuse - Niveau intermédiaire
Dans ce projet, nous allons réaliser une roue codeuse. Une roue codeuse, ou roue optique codée est une roue équipée d'un dispositif électronique permettant de mesurer sa rotation. Grâce à des encoches taillées dans la roue et à des faisceaux de lumières qui seront bloqués ou non, nous pourrons déterminer la position de la roue de 0 à 9 et utiliserons au passage la numération binaire.
Pour en savoir plus, je vous renvoie à cette vidéo qui m'a servi de source d'inspiration pour ce projet. En description de la vidéo, son auteur - Electro Mic - fournit les fichiers pour impression 3D.
A la différence du projet présenté ci-dessus, j'utiliserai 4 LEDs à la place des 4 laser, plus faciles à dénicher ! J'utiliserai également une carte micro:bit pour le décodage du binaire en décimal et l'affichage du chiffre sur la matrice LED. C'est un peu surdimensionné dans la mesure où il existe des circuits intégrés faisant ce travail tout seul, comme le CD4543 présenté dans la vidéo, mais l'objectif est de s'amuser avec la carte micro:bit tout en apprenant une application concrète du code binaire.
Matériel nécessaire pour la réalisation de ce projet
Une imprimante 3D pour imprimer les pièces qu'Electro Mic met à disposition dans sa vidéo
4 résistance de 100 Kohms
une résistance de 80 ohms
4 LEDs blanches de préférence
4 photorésistances
des fils et du matériel de soudure
une carte micro:bit avec un shield permettant de brancher facilement des connexions sur les broches 12 à 14
La réalisation de la roue n'est pas simple à faire en cours avec des élèves mais peut tout à fait être réalisé dans le cadre d'un club par des élèves motivés par le bricolage en électronique. La roue une fois réalisée pourra être utilisée dans des projets d'élèves dans le cadre de SNT par exemple - voir les idées à la fin du tutoriel..
Méthode : Montage des LEDs
Voici le montage utilisé pour les LEDs. Je les ai monté en parallèle car elles ont toutes les 4 les mêmes caractéristiques et elles partagent une résistance de 80 ohms pour limiter le courant. Ce dispositif s'alimente en 5V et prend place dans la premier flanc de la roue.
Et voici ci-contre la réalisation sur le dispositif final. J'ai soudé les LEDs en parallèle en utilisant leurs pattes comme connexion et ai inséré la résistance de protection sans la gaine thermo.
On vérifie ensuite qu'en branchant l'alimentation de 5V, les 4 LEDs s'allument avec une bonne brillance.
Méthode : Montage des photorésistances
En face des LEDs, pour capter la lumière passant au travers de la roue, nous aurons 4 photorésistances dont la résistance diminue avec la lumière reçue. La carte micro:bit ne mesurant qu'une tension, il faut convertir cette résistance en tension. Cela se fait au moyen d'un pont diviseur de tension. On met en série de la photorésistance une résistance de 100 kOhms. On alimente le tout en 3,3v provenant de la micro:bit. La lecture de la tension se fait sur le point d'interconnexion entre la résistance et la photorésistance. Cela est bien sûr à répéter 4 fois. car on doit lire 4 bits.
Pour rendre les connexions plus robustes et plus fiables lors des transports et des démonstrations, j'ai soudé les composants sur une plaque de prototypage collée sur le flanc droit de la roue. Voici ce que cela donne. Les résistances sont au dos de la carte.
On constate au passage que les 3 premières photorésistances sont éclairées par les LEDs en face ce qui correspond bien au 7 affiché sur la micro:bit.
Méthode : Montage final
Le montage final est très simple car il n'y a que 3 parties. Ne pas oublier cependant de mettre un ressort entre le flanc droit de la roue (coté résistances) et la roue centrale afin d'avoir un positionnement bien franc avec des crans.
Pour verrouiller le flanc gauche de la roue (coté LEDs) j'ai utilisé des clous insérés dans les encoches, et fixés au bout par une goutte de colle chaude afin de permettre un démontage éventuel, mais surtout une bonne tenue de l'ensemble.
Après avoir vérifié le fonctionnement de la roue, on peut coller les chiffres à la super-glue. Voici ce que cela donne une fois fini.
Méthode : Le programme sur la micro:bit
Le plus difficile est terminé, place au codage. Ici c'est très simple car j'utilise la fonction int(chaine,2)
permettant de transformer une chaîne de caractère contenant un nombre binaire (ex "0b0101") en entier décimal.
from microbit import *
bits = [pin15, pin14, pin13, pin12]
while True:
binary = "0b"
for b in bits:
binary += str(b.read_digital())
display.show(int(binary,2))
sleep(100)
Vous pourrez adapter la liste bits avec les boches sur lesquelles sont connectées les 4 photorésistances.
Complément : Pour aller plus loin
Félicitations, vous avez réalisé une Interface Homme Machine (IHM) sous la forme d'un objet physique permettant la saisie d'un nombre dans un programme informatique. On peut imaginer divers projets utilisant cette interface :
Projet 1 : création d'un minuteur pour la cuisson des œufs ou des pâtes :) On sélectionne le nombre de minutes, on appuie sur le bouton A et le minuteur se lance. On appuie sur B et le minuteur se réinitialise. On peut ajouter un haut-parleur sur la broche 0 pour jouer un son quand e temps est écoulé. Pour ajouter un peu de sel (dans les pâtes) on peut afficher une animation sur la matrice LED qui montre le temps restant.
Projet 2 : créer une serrure de coffre fort à 4 chiffres. On saisit chaque chiffre l'un après l'autre en appuyant sur A entre 2 chiffres. Si la séquence est correcte on déclenche l'ouverture du coffre (qui peut être symbolisée par un servomoteur). On peut prévoir une procédure de changement de code pour étoffer un peu le projet.