
String Art
Bonjour à toutes et à tous !
Avez-vous déjà entendu parler du String Art ?
C’est une technique qui permet de réaliser des dessins à partir de fils tendus et de clous placés sur une planche. En reliant ces clous avec du fil, on forme des lignes droites qui peu à peu dessinent des formes et des courbes.
Notre projet consistait donc à créer une machine capable d’automatiser ce processus. Le but étant de choisir une image numérique et de la transformer en une série de chiffres correspondant aux clous. Nous avons 100 clous sur notre support. Par exemple, pour dessiner un carré nous devions envoyer {0;25;50;75;0} et ainsi, la machine tisse un carré en partant du clou 0, puis en faisant le tour de celui-ci avant d’aller au clou suivant et ainsi de suite, jusqu’à la fin de la séquence.
Conception de la machine
Pour commencer, nous devions trouver un exemple de machine déjà existante. Notre choix s’est porté sur celle-ci :

Nous avions donc à disposition une vidéo explicative ainsi qu’un GitHub avec les différents programmes utilisés, les pièces prêtes à l’impression 3D et les pièces en bois sous format SolidWorks.
Après avoir étudié le système, nous avons donc imprimé en 3D toutes les pièces présentes dans le GitHub et découpé les 3 pièces en bois : le support, le plateau rotatif et le tableau.
Puis nous avons commandé tous les composants nécessaires au bon fonctionnement du système : le moteur pas à pas, le servomoteur, le driver, les différents roulements, du fil… Une fois tous ces éléments en notre possession, nous les avons donc tous assemblés.
Tout ne s’est pas passé comme prévu, nous avons dû modifier certaines pièces comme le tableau et le plateau rotatif dont nous avons divisé la taille par deux car il était beaucoup trop grand pour rentrer dans la machine CNC (capable de découper, d’usiner différents matériaux).
Certaines pièces 3D ne nous convenaient pas ou compliquaient le fonctionnement de la machine donc nous les avons modifiées puis imprimées de nouveau comme la pièce mobile de la machine à tisser. Une tige passait tout le long de cette machine, la permettant d’avancer lorsque le servomoteur faisait une rotation, il était prévu de placer un roulement dans les trous prévus à cet effet puis la tige dans les roulements, sauf que cela ne fonctionnait pas. Après avoir fait des tests, nous avons décidé de supprimer les roulements et de laisser seulement un trou pour que la tige coulisse directement dedans et cela fonctionnait parfaitement !
Il y avait aussi un problème avec notre servomoteur qui était différent de celui utilisé par notre exemple de machine, donc la roue dentée fixée sur celui-ci était trop haute pour pouvoir s’emboîter avec la pièce mobile de la machine à tisser. Il a donc fallu la modifier pour qu’elle corresponde à celle-ci.
Une fois l’assemblage fini, il a donc fallu se pencher sur l’électronique.
L’électronique
Nous avions identifié les éléments nécessaires au bon fonctionnement de notre machine, qui étaient :
- moteur pas à pas : moteur qui avance petit à petit, par étape très précises (que l’on appelle des “pas”)
- servomoteur : petit moteur que l’on peut contrôler pour qu’il tourne jusqu’à un certain angle et s’arrête précisément là où on lui dit.
- une carte Arduino : petit circuit électronique que l’on peut programmer pour contrôler des composants.
- un driver pour le moteur pas à pas : il sert à envoyer le bon courant au moteur, au bon moment pour qu’il fasse ses pas correctement, il reçoit des ordres simples de la carte Arduino et les traduit en signaux électriques que le moteur comprend, c’est l’intermédiaire entre la carte Arduino et le moteur.
- une alimentation
- capteur : il sert à compter chaque clou qui passe sous le capteur.
- bouton marche-arrêt
Il fallait donc relier les deux moteurs à des éléments permettant de les faire fonctionner et de les contrôler.
Tout d’abord, nous avons relié le servomoteur à la carte Arduino. Le moteur a trois fils, un pour l’alimentation électrique, un pour la masse et un troisième pour recevoir les ordres de la carte (c’est le fil de signal, qu’on connecte à une des broches de l’Arduino).
Pour le moteur pas à pas, il a fallu lire la fiche technique du moteur pour comprendre à quoi servaient ses quatre fils et ensuite les brancher au driver. Une fois les fils connectés le driver devait être relié à une alimentation externe puis à la carte Arduino grâce à trois broches :
- STEP : dire au moteur de faire un pas.
- DIR : indiquer la direction (avant ou arrière).
- ENABLE : activer ou désactiver le moteur.
Afin de connecter le bouton marche/arrêt, nous avons utilisé trois fils tous branchés sur la carte Arduino. Un est branché à la masse de celle-ci, un autre à l’alimentation (3,3V) et le dernier est relié à une entrée numérique de la carte (une des broches).
Nous avons aussi installé un capteur . Nous l’avons simplement relié à la masse et au 5V de l’alimentation et à une des broches de la carte Arduino.
Une fois tous les composants reliés correctement, il a fallu s’attaquer à la programmation.
Programmation
Afin de pouvoir contrôler les deux moteurs nous avons donc utilisé une carte Arduino UNO que nous avons programmée grâce au logiciel Arduino.
Nous avons commencé par programmer le servomoteur. Il effectue un mouvement très simple mais super important : il fait avancer ou reculer l’aiguille qui guide le fil. Lorsque nous souhaitons passer le fil derrière un clou, il faut que l’aiguille recule derrière le clou puis le plateau se décale légèrement (de 12 pas) puis l’aiguille revient en place devant les clous. Dans notre programme, on indique l’angle exacte qu’il doit prendre. Dans notre cas 10° pour reculer et 150° pour revenir à sa place d’origine.
Le moteur pas à pas, lui fait tourner le plateau sur lequel sont fixés les clous. À chaque étape du tissage, le programme exécute ces consignes :
- 1. Regarder quel clou vient ensuite dans la séquence.
- 2. Choisir s’il est plus rapide de tourner dans le sens horaire ou antihoraire.
- 3. Calculer le nombre de clous à parcourir.
- 4. Commencer le mouvement.
- 5. Compter le nombre de clous passant sous le capteur.
- 6. S’arrêter et passer le fil derrière le clou une fois la position atteinte.
- 7. Recommencer pour le clou suivant.
Ce système permet de former une image avec du fil simplement à partir d’une séquence de numéros.
Le bouton marche/arrêt avait pour but de mettre le programme en pause ou le reprendre. Le programme vérifie donc à tout moment si ce bouton est appuyé ou non. Si c’est le cas, il change l’état d’une variable appelée “paused“, ce qui permet, en fonction de l’état de cette variable, de mettre en pause ou de relancer le programme.
Par ailleurs, nous avons ajouté un capteur au-dessus des clous. Celui-ci incrémente un compteur à chaque fois qu’un clou passe en dessous de lui. Grâce à ce capteur, nous pouvons compter précisément le nombre de clous lors de la rotation et arrêter celle-ci lorsque l’aiguille atteint le bon clou.
En partant de zéro, nous avons réussi à fabriquer une machine capable de tisser automatiquement une image avec du fil. Elle n’est pas encore parfaite et de nombreux aspects peuvent encore être améliorés mais ce projet nous a permis d’apprendre énormément que ce soit dans la programmation, en électronique ou même en mécanique.
Merci d’avoir pris le temps de nous lire !
Noémie Pelletier et Lisa Pasquier





