1. Introduction

J'aime beaucoup le dessin, et c'est peu dire. Tout au long de mon cursus d'apprentissage, autant en cours que chez moi, je passe mon temps libre à dessiner.
Alors quoi de plus intéressant d'essayer de faire quelque chose qui dessine pour moi! Une imprimante oui, mais pas que, je veux quelque chose qui dessine, non qui imprime. Et c'est de là que part mon projet d'informatique de cet hiver.
L'idée est de se baser sur une imprimante 3d, elle-même "dessine" en 3 axes. Pour me simplifier la tâche, je ne vais que faire quelque chose qui dessine sur 2 axes. Ainsi donc, le dessin serait en trait continu.

2. Matériel et méthodes

2.1 Matériel

Un Raspberry Pi
Deux moteurs à pas
Deux courroies
Un support (en plastique idéalement)
Deux poulies crantées
Deux roulements à billes
Un stylo
Du scotch
Une alimentation 12 V
Un Adafruit DC & Stepper Motor HAT for Raspberry Pi

2.2 Méthode

Lors de ce projet, je me suis heurté à un problème d'ordre financier, je me suis rendu compte que mon projet en entier me couterait dans les environs de 70.- CHF. Ce qui est un peu trop pour moi, donc à la place de faire quelque chose de concret, ce qui m'est alors impossible, je me suis donné comme objectif d'aller aussi loin que possible dans la théorie de la chose.


Le schéma ci-dessus représente l'idée que j'avais du projet. Les deux moteurs seraient disposés de cette manière pour ainsi pouvoir piloter le stylo sur deux axes. De la manière d'une imprimante 3D, le moteur à pas du bas pilote la surface où se trouve la feuille de papier sur laquelle le stylo dessine. La plateforme, faite grâce à une imprimante 3D glisse sur des pieds eux-mêmes imprimés en 3D pour ainsi piloter l'un des axes, elle serait posée sur la courroie et bougerait avec elle. L'idée de base était de bouger la partie supérieure au lieu de la base, mais ça aurait été trop compliqué et trop lourd d'avoir un moteur qui aurait du bouger un autre moteur sur un axe.
Ensuite, pour le stylo, c'est le même système que pour le support, sauf orienté d'une autre façon pour pouvoir le bouger sur un axe différent.

Maintenant que l'idée du projet est posée, tout se passe du côté software, il me faut quelque chose qui peut scanner une image et ensuite envoyer des coordonnées aux moteurs.
Le moyen le plus simple pour effectuer ceci est de passer l'image au format vectoriel. Il existe sur internet pleins de code qui permettent de faire exactement cela sous python. J'ai décidé de prendre celui-ci car le rendu proposé était sympathique et irait bien en "impression stylo".

Ensuite, il faut que je comprenne comment faire pour pouvoir envoyer les coordonnées du fichier .svg aux moteurs.

3. Résultats

Malheureusement, il n'y a pas vraiment de résultats vu que je fus limité au niveau du hardware. Ainsi je n'ai même pas pu tester ce que j'ai fait.

4. Discussion

Pour ce projet, j'aurais dû penser au coût au préalable, il est vrai que je n'ai pensé qu'à vouloir faire ce que je voulais faire et non ce que je pouvais faire. Ainsi, voyant l'impossibilité d'effectuer le projet, j'ai un peu beaucoup perdu la motivation pour ce travail. Il aurait aussi fallu que je m'organise davantage, mais bon, parler au passé ne sert pas à grand chose haha. En somme, je compte me rattraper sur le prochain projet, essayer d'avoir quelque chose qui fonctionne cette fois-ci.

5. Conclusion

Je n'ai pas réussi à faire ce que je voulais et devais faire, mais au moins j'ai pu comprendre que ce genre de truc n'est pas à prendre à la légère !

Références

Pour comprendre comment fonctionne le HAT : https://learn.adafruit.com/adafruit-dc-and-stepper-motor-hat-for-raspberry-pi/installing-software
Possibles idées pour contrôler les moteurs : https://stackoverflow.com/questions/12118118/extracting-coordinates-of-a-path-from-an-svg-file
https://pypi.org/project/svglib/