Introduction

De nos jours, les gens deviennent de plus en plus paresseux et les compagnies de technologie inventent de plus en plus de gadget pour rendre la vie plus simple et moins fatigante. Dans ce projet, le même objectif est poursuivi : faire d’une action quotidienne un programme automatique qui demande moins d’effort. Pour atteindre ce but, il a été décidé que l’on devenait trop paresseux pour tourner la page de son livre. C’est pour cela que le robot Page Turner fait son apparition. Ce petit robot thymio, d’un simple claquement de main, devient votre assistant et tourne la page à votre place. Il sépare les pages pour faciliter le changement de l’une d’entre elles à une autre et vous permet de passer à la page suivante sans devoir plisser le coin de cette dernière.
Cependant le robot Page Turner n’est pas le seul robot existant pouvant vous aider à tourner une page. D’autre compagnies se sont déjà intéressées au concept et en ont créé leur propre version unique. Elles offrent des perspectives différentes, mais plus encombrantes.

Matériel et Méthode

Matériel

Le matériel nécessaire à la réalisation de ce robot est :

  • Un robot thymio,
  • L’application Aseba Studio for Thymio,
  • Un ordinateur,
  • Un livre avec des pages plutôt épaisses pour éviter la déchirure,
  • De quoi fabriquer un support (carton ou bois)

Méthode

Codage Informatique

La première étape a été de configurer le robot pour qu’il détecte un clappement de main et qu’il y réagisse en conséquence :

# setup threshold for detecting claps
mic.threshold = 250

Ce code et son commentaire a permis de définir un clappement de mains.

L’étape suivant fût de tester la détection en impliquant un output :

onevent mic
if mic.threshold==250 then
call leds.top(32,32,32)
end

Cette opération a permis le contrôle de l’instruction écrite précédemment en obligeant les leds sur le dessus de s’illuminer en blanc lorsque le récepteur du microphone préservait un clappement.

La troisième étape fut d’ajouter l’action de la roue droite du thymio pour parvenir plus tard à créer le mouvement voulu :

onevent mic
if mic.threshold==250 then
motor.left.target = 0
motor.right.target = 500
end

Ce code a permis au fonctionnement de la roue de se faire à partir d’un tapement de mains par l’action du moteur correspondant.

La quatrième étape fut de trouver un moyen pour arrêter le fonctionnement du moteur droit et donc de la roue. Pour cela j’ai décidé qu’il faudrait taper sur le dessus de la machine et que ceci arrêterait la roue et la led du dessus de celle-ci :

onevent tap
if acc2>1 then
motor.left.target = 0
motor.right.target = 0
call leds.top(0,0,0)
end

Pour faire ceci, il a fallu utiliser le détecteur de l’accélération verticale et définir une valeur pour l’activation. Ce qui correspond au acc2>1.

Une fois les deux codes assemblés et l’ensemble testé, le travail de codage était terminé et l’on pouvait passer à la partie d’assemblage et la structure.

Assemblage structurel

Comme le thymio était premièrement posé à plat et qu’il tournait en rond à chaque entrechoquement des mains, il a fallu trouver un support qui permettrait à une roue de tourner dans le vide mais aussi qui maintiendrait le thymio dans sa position et l’empêcherait de tourner en rond.
La première étape fut de construire une boite en carton aux dimensions du robot à laquelle on a amputé le couvercle et l’une des quatre faces verticales de la longueur du côté avec roue.
Ensuite, il a fallu surélever la boite pour que la roue se retrouve dans le vide pour avoir la possibilité de tourner une page.
Une fois cela fait, il a fallu trouver le livre sacrifice et ajuster la surface sur laquelle il était posé pour que la roue puisse y avoir accès. Le tout assemblé, il a fallu s’assurer que la structure ne bougerait pas et donc ajouter des poids nécessaire pour son bon fonctionnement.

Résultat

Code Source

# setup threshold for detecting claps
mic.threshold = 250
onevent mic
if mic.threshold==250 then
motor.left.target = 0
motor.right.target = 500
call leds.top(32,32,32)
end

onevent tap
if acc2>1 then
motor.left.target = 0
motor.right.target = 0
call leds.top(0,0,0)
end

Une fois le code correspondant écrit, il a fallu le tester. Le thymio, placé sur son module, est capable de séparer une page des autres et de la soulever de quelques centimètres. Qu’il soit placé au centre du livre ou à son extrémité, le résultat est le même.

Discussion

Dans l’ensemble, la réalisation du projet n’était pas d’une complexité insurmontable et il a été mené jusqu’à terme malgré le succès incomplet en résultant. Le robot est capable de soulever une page mais ne peux malheureusement pas la tourner complétement et donc il lui faut l’assistance d’un humain pour finir le geste. Pour cela, il aurait fallu avoir un second robot avec lequel communiquer qui aurait servi de rotateur et aurait, une fois la page soulevée, fait passer celle-ci de l’autre côté en utilisant un mécanisme de rotation fixée sur une roue qui aurait dû faire un tour complet. Cependant comme je n’avais pas accès à un second robot, étant donné que cette découverte a été faite sur la fin de la réalisation du projet, je n’ai pas pu tester ma théorie mais j’ai pu observer des mécanismes similaires en faisant des recherches sur internet. J’ai fait des recherches sur la manière d’envoyer des signaux d’un thymio à l’autre et j’ai essayé d’écrire le code correspondant à cette fonction mais je n’ai pas abouti cette piste et j’ai donc abandonné l’idée bien que pertinente.

Conclusion

En conclusion, on peut dire que l’objectif principale du projet n’a été atteint que partiellement vu que le robot n’est pas capable de complétement tourner une page par lui-même et qu’il faut l’intervention de la personne pour s’assurer de son bon fonctionnement. En réalisant ce projet, j’ai pris plus confiance en mes compétences très limitées en informatique et j’ai pu remettre en pratique les connaissances acquises en début d’année concernant l’utilisation du thymio.
Ce projet dans des conditions plus réelles que sa confection privée pourrait être utilisé de manière plus sophistiquée pour tourner les pages d’une partition de musique ou encore à la commande vocale d’un paralysé pour tourner la page à laquelle il ou elle n’a pas accès. Dans ces deux cas, le moyen d’action du robot devrait être différent car un musicien ne peux quitter son instrument et un paraplégique n’en a pas la capacité. Pour le premier, on pourrait imaginer un système activé par un bouton pressé par l’appui du pied. Cependant pour le deuxième, ce cas de figure est encore une fois improbable et donc, comme mentionné précédemment, un mécanisme activé vocalement serait un choix préférable. On peut en conclure que ce type de projet peut avoir une utilité dans la vie de certain type de personnes mais pas nécessairement à la majorité de la population.