PROJET FABLAB Tétris en Arduino sur LCD avec manette 3D¶
Réalisation 3D d'une manette sur FreeCAD avec boutons poussoirs pour jouer au jeu Tétris que j'essaierai de programmer sans aide en C. Le jeu sera réalisé à partir d'une carte Arduino, d'un écran LCD et de câbles de connexion.¶
Première étape : Conception de la manette.¶
J'ai lancé un fichier Freecad dans lequel j'ai créé une boîte de [9cm x5.5cm x1.5cm] de façon à adapter la taille de cette manette à la taille de la main.
La manette devait accueillir 4 boutons poussoirs de 1,2cm de diamètre, et les câbles de connexion de la manette à la carte Arduino afin de transmettre les signaux en mouvement sur le programme Tétris.
Voici les plans de la manette réalisés principalement à base d'extrusions sur deux plans : la face avant avec les trous pour les boutons poussoirs et une face latérale qui permet de soustraire l'intérieur de la manette afin d'y laisser la place pour les câbles de connexion.
Voicis la forme finale de la manette :
|
Ensuite j'ai dû ajouter des supports pour tenir les boutons qui allaient se placer dans les trous, tout en leur laissant la place pour les connexions, donc j'ai imaginé une barre qui passerait en dessous et entre les connecteurs sous les boutons qui ressemble à ça pour chaque emplacement de boutons.
![]() |
![]() |
![]() |
![]() |
Le fichier final FreeCad de la manette : ManettePoussoirs.FCStd
Voici le rendus de l'impression de la manette :
![]() |
Le désavantage des support en arbre¶
Les supports en forme d'arbre sont généralement plus faciles à enlever la plupart du temps, mais pour mon impression en petit modèle, notamment les 4 supports qui retiennent les boutons, ils peuvent considérablement augmenter le temps d'impression en raison de la complexité de la structure. Le second problème est que les fils qui retiennent les boutons sont très fins et en enlevant les arbres supports, il se crée un risque de fissure forçant une réimpression. Pour remédier à cela j'aurais pu confectionner en 3D des tiges droites en moindre quantité que les arbres.
Il est donc préférable d'adapter le type de support, cela permet aussi d'économiser des matériaux.
Le désavantage des impression de précision¶
Comme je l'ai dit précédemment, la manette devait accueillir des boutons qui, après mesure au pied à coulisse, ont un diamètre de 1.2cm, la même mesure que j'ai donc utilisée pour faire rentrer parfaitement les boutons. En sortie d'impression, le trou n'était pas assez épais, j'ai dû utiliser une foret à bois de 1.2cm de diamètre pour supprimer les parties restantes. Le bouton rentrait alors parfaitement.
En me renseignant, j'ai appris que le problème pourrait venir de l'épaisseur du fil des imprimantes 3D : e = 1.75mm
J'ai donc imaginé une formule pour vérifier la précision que notre impression aura vis-à-vis de la mesure voulue :
Pourcentage de rapprochement = (1−(e/D))×100
_
Avec :
D = mesure effective de la pièce
e = épaisseur réelle du trait imprimé = 1.75mm¶
Ce qui donne dans mon cas :
=(1−(12/1.75)×100
=(1−0.1458)×100
= 85.42%
En conclusion, je me suis rapproché à environ 85% de la mesure exacte que je voulais imprimer. On peut imaginer une application à cette mesure dans l'industrie de précision sur des insertions de pièce telles que dans ma situation, afin de vérifier selon la dureté du matériau s'il pourra s’insérer ou non (ex : Si mon bouton était plus compressible, j'aurais pu le faire rentrer en raison d'un pourcentage de rapprochement de 85.42%).
Cependant après consultation, je ne pense pas que ce soit la cause réelle.
Cela pourrait être dû à la "Tesselation". En effet, sur FreeCAD, on peut arranger le paramètre de précision du cercle pour le rendre plus lisse de l'intérieur avec ce paramètre :
![]() |
Par exemple réglé a 5% plutôt qu'environ 28% de base
Problèmes généraux rencontrés¶
Lors de la fabrication de la manette, j'ai dû apprendre en premier à programmer en Arduino. Pour cela j'ai confectionné à partir de tuto un programme simple qui consistait à faire clignoter une LED :
table{width:40%}.
|!programme11.png!|
J'ai rencontré de nombreux problèmes qui m'ont malheureusement empêché d’aboutir à la fin de mon projet.
Premièrement, en créant la structure, malgré le tutoriel qui me donnait les informations nécessaires, certains composants ne fonctionnaient pas, comme plusieurs câbles de connexion entre la carte Arduino et le PC que j’ai dû changer plusieurs fois. Cela m’a bloqué pendant un long moment, car le programme ne pouvait pas se lancer.
J’ai rencontré de nouveaux problèmes similaires lors du câblage, avec certains fils qui ne fonctionnaient pas non plus.
Et au final, le problème qui m’a fait perdre le plus de temps est celui du « USB Arduino Dialout ». En effet, l’ordinateur ne reconnaissait pas correctement la carte Arduino et je n’avais pas les autorisations nécessaires pour accéder au port USB. À cause de cela, il était impossible de téléverser le programme sur la carte, même lorsque le câblage et le code étaient corrects.
Pour résoudre ce problème, j’ai d’abord vérifié que le câble USB fonctionnait correctement, car certains câbles permettent uniquement de charger un appareil sans transférer de données. Ensuite, j’ai installé ou réinstallé les pilotes nécessaires pour que l’ordinateur reconnaisse correctement la carte Arduino. J’ai également ajouté mon utilisateur au groupe « dialout », qui permet d’avoir les autorisations nécessaires pour accéder aux ports USB sous Linux. Après cela, j’ai redémarré l’ordinateur afin que les modifications soient prises en compte. Enfin, j’ai vérifié dans le logiciel Arduino que le bon port et la bonne carte étaient sélectionnés avant de relancer le téléversement du programme.
Conclusion
Pour conclure avec les différents problèmes que j'ai rencontrés, je n'ai pas pu aboutir à la fin de mon projet. Cependant j'ai essayé d’apporter un maximum de solution aux problèmes afin que la prochaine personne essayant de faire fonctionner de l'Arduino puisse s'en sortir sans problèmes ! ^^¶





