Dans le cadre de notre projet développement, nous avons dû réaliser une machine à dons capable d’obtenir de l’argent pour financer le matériel du fablab. Notre machine à dons est constituée d’un théâtre de marionnette. Tout d’abord, l’utilisateur fait un don sur PayPal, à l’aide d’une tablette mise à sa disposition. Ensuite, le rideau s’ouvre et la marionnette commence à danser. A la fin de la danse, le rideau se referme, et l’utilisateur peut effectuer un nouveau don.
Le spectacle est le suivant :
Matériel utilisé
6 servomoteurs
Du fil de pêche
Une carte Arduino
Du bois
Une imprimante 3D et matériel associé
Compétences requises :
Quelques connaissances en informatique et électronique
Lancement du programme
Tout d’abord, lorsqu’ un don est effectué sur PayPal, il renvoie vers une page que nous avons créée, pour l’instant hébergé sur le site d’un des membres du groupe : http://anisayari.com/projetdev/launch.php
Cette page permet de lancer le spectacle de la machine.
Le site possède trois pages : check.txt, launch.php et check.php. La page check.txt contient le caractère 0 ou 1. Lorsqu’un don est effectué, PayPal renvoie vers la page Web launch.php que nous avons créée. Cette page écrit alors 1 dans la page check.txt . La page check.php va aller chercher la valeur contenue sur la page check.txt et la renvoyer en écho pour qu’elle puisse être récupérée par l’Arduino.
En effet, toutes les deux secondes, l’Arduino va lire sur la page check.php la valeur contenue (0 ou 1) dans check.txt. Si la valeur lue est 1, l’Arduino lance le programme du spectacle de la marionnette et la page check.php écrit 0 sur la page check.txt pour qu’un nouveau don puisse être effectué. Si la valeur lue est 0, il ne se passe rien.
Le codage des pages a été réalisée en HTML. Nous avons pour cela repris un template sur le site beauxthemes que nous avons modifié. Chaque template comprend un fichier html et un autre d’extension CSS. Le code HTML permet d’écrire le texte et de choisir les images à mettre sur la page, et le code CSS gère la mise en forme (les couleurs, le placement des textes et images, etc.) en traduisant les balises de mise en forme situées dans le fichier html. Les codes sources de nos pages sont disponibles sur le lien https://github.com/rchaaben/machine-dons.
La marionnette et sa danse
La marionnette a été réalisée en épicéa. Pour faire les articulations, nous avons suivi l’aide du site http://www.compagnie-skowies.com/Les-articulations.html.
La danse de la marionnette est gérée par des doigts mécaniques, réalisés à l’imprimante 3D. Nous avons pris le modèle sur le site https://www.youmagine.com/designs/flexy-hand.
Les doigts sont constitués de différentes pièces comme on peut le voir sur le schéma ci-dessous :
La paume de la main ne nous étant pas utile, nous avons seulement imprimé les doigts.
Pour faire bouger les doigts, nous les avons fixés à des servomoteurs. Les servomoteurs sont activés par une carte Arduino que nous avons programmés. La carte Arduino commande aussi l’ouverture et la fermeture du rideau à l’aide d’un servomoteur relié à une baguette en bois qui tire ou détend le fil en fonction du sens de rotation du servomoteur. Le rideau est également relié à un contre-poids, qui permet sa fermeture lorsque le fil se détend.
Le code Arduino
La carte Arduino se code avec un langagé qui lui est propre, proche des langages C et C++. les servomoteurs sont activés grâce à la librairie servo.h. La matrice de danse est la suivante :
Action 1 | Action 2 | Action 3 | Action 4 | Action 5 | Action 6 | Action 7 | Action 8 | Action 9 | |
serv1 | 0 | 0 | 90 | 0 | 0 | 0 | 0 | 0 | 0 |
serv2 | 90 | 90 | 90 | 90 | 30 | 90 | 90 | 90 | 90 |
serv3 | 50 | 90 | 90 | 90 | 90 | 90 | 90 | 90 | 50 |
serv4 | 90 | 90 | 90 | 90 | 90 | 90 | 50 | 50 | 90 |
serv5 | 90 | 90 | 180 | 180 | 180 | 180 | 180 | 90 | 90 |
serv1 | pouce |
serv2 | index |
serv3 | majeur |
serv4 | annulaire |
serv5 | auriculaire |
Le code de la carte Arduino est disponible sur le site : https://github.com/rchaaben/machine-dons.
Ce projet pourrait être amélioré en ajoutant des danses et des musiques ou en améliorant la décoration de la machine. La machine pourrait être redécorée en fonction des occasions, et finie en utilisant des matériaux plus solides. La communication tablette Arduino est aussi à retravailler.