Ligne 152 : | Ligne 152 : | ||
{{Info|Le programme nécessite l'installation de plusieurs librairies Adafruit (voir lignes "include"), pensez à les installer}}{{Info|Le code comprend toute une mécanique pour sélectionner le mode via le potentiomètre. L'utilisation du potentiomètre a été essentiellement choisie pour les besoins de la formation (mais apporte aussi un feeling plus agréable pour ma part) ; cependant un simple bouton poussoir ou capteur capacitif aurait été plus adapté et plus précis.}}<br />{{Idea|La vérification de la victoire du joueur pourrait être améliorée (plus propre) par l'utilisation des interruptions (bouton poussoir ou récepteur capacitif), au lieu de tester dans une boucle. Cependant, côté ressenti utilisateur, peu de différence à prévoir.}}{{Info|Le code occupe plus de 90% de la mémoire de l'Arduino. Des actions ont du être effectuées pour réduire l'impact mémoire : chaines de caractères mises dans mémoire intégrée à l'Arduino, suppression de quelques animations plus ou moins superflues, suppression de certains "define", suppression de tous les messages de type Serial.print}}<br />{{Info|Pour éviter les "tremblements" du servo, celui-ci est activé (fonction "attach") à chaque besoin, puis désactivé ("detach") lorsque l'on n'en a plus besoin immédiatement}}</translate> | {{Info|Le programme nécessite l'installation de plusieurs librairies Adafruit (voir lignes "include"), pensez à les installer}}{{Info|Le code comprend toute une mécanique pour sélectionner le mode via le potentiomètre. L'utilisation du potentiomètre a été essentiellement choisie pour les besoins de la formation (mais apporte aussi un feeling plus agréable pour ma part) ; cependant un simple bouton poussoir ou capteur capacitif aurait été plus adapté et plus précis.}}<br />{{Idea|La vérification de la victoire du joueur pourrait être améliorée (plus propre) par l'utilisation des interruptions (bouton poussoir ou récepteur capacitif), au lieu de tester dans une boucle. Cependant, côté ressenti utilisateur, peu de différence à prévoir.}}{{Info|Le code occupe plus de 90% de la mémoire de l'Arduino. Des actions ont du être effectuées pour réduire l'impact mémoire : chaines de caractères mises dans mémoire intégrée à l'Arduino, suppression de quelques animations plus ou moins superflues, suppression de certains "define", suppression de tous les messages de type Serial.print}}<br />{{Info|Pour éviter les "tremblements" du servo, celui-ci est activé (fonction "attach") à chaque besoin, puis désactivé ("detach") lorsque l'on n'en a plus besoin immédiatement}}</translate> | ||
|Step_Picture_00=123Tourelle_code-Arduino.jpg | |Step_Picture_00=123Tourelle_code-Arduino.jpg | ||
+ | |Step_Picture_00_annotation={"version":"2.4.6","objects":[{"type":"image","version":"2.4.6","originX":"left","originY":"top","left":0,"top":0,"width":800,"height":960,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.75,"scaleY":0.75,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://wikifab.org/images/thumb/6/68/123Tourelle_code-Arduino.jpg/800px-123Tourelle_code-Arduino.jpg","filters":[]},{"type":"textbox","version":"2.4.6","originX":"center","originY":"center","left":347.63,"top":70.98,"width":187.79,"height":22.6,"fill":"#FF0000","stroke":"#FF0000","strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":1.32,"scaleY":1.32,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"text":"Photo d'illustration","fontSize":20,"fontWeight":"normal","fontFamily":"sans-serif","fontStyle":"normal","lineHeight":1.16,"underline":false,"overline":false,"linethrough":false,"textAlign":"left","textBackgroundColor":"","charSpacing":0,"minWidth":20,"styles":{} }],"height":720,"width":600} | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step |
Auteur Christophe M | Dernière modification 10/02/2022 par 2XCs
Bento, jeu, 123soleil, Arduino 123Tourelle_Bento_Final.jpg Bento Arduino - Jeu
Réalisation d'une Bentolux dans le cadre la formation IMT, à Alès - Initiation à la Fabrication Numérique.
Il s'agit de réaliser une Bento qui aura plusieurs fonctionnalités :
Le joueur gagne s'il faire exploser la tourelle pendant une phase de mouvement.
Il perd s'il n'a plus de bouclier (sauf niveau 1) ou plus d'énergie (dans tous les modes).
Dans le cadre de notre formation, les éléments bois nous ont été donnés prédécoupés. Dans les fichiers joints, le fichier "123Tourelle_Fichier_decoupe_bois_BENTO.pdf" indique les découpes à réaliser.
Concernant le panneau central du second niveau de la Bento, il a été découpé en séance afin de voir les possibilités d'une découpeuse laser : découpe laser (double passe) de la façade et personnalisation de celle-ci par gravure de motifs (simple passe, passe rapide et puissance laser diminuée).
Le découpage laser s'effectue selon les directives des fichiers GCode. Ces fichiers ont étés générés via Inkscape et son plugin "J Tech Photonics Laser Tool", après avoir converti les contours de l'image en chemins. Les fichiers utilisés dans Inkspace sont joints à ce tutorial (fichiers .svg)
Tous ces éléments bois sont à coller (avec colle bois), selon le guide montage Bentolux (voir guide de montage fourni).
3 impressions 3D sont à réaliser :
Le cache écran a été réalisé avec le logiciel de modélisation 3D Sketchup, qui permet la réalisation de formes complexes.
La tourelle et le détonateur ont été réalisés avec ThinkerCAD 3D, qui permet une prise en main et des réalisations simples et rapides d'objets 3D pouvant être réalisés avec des formes basiques (pavé, cylindres, dôme, ...).
Les fichiers 3D utilisés sont joints au format STL pour l'impression 3D.
Avant de procéder au câblage des divers composants, des étapes de préparation de la Bento sont nécessaires :
Pour l'organisation et une bonne répartition des composants (et fils associés), prévoir de positionner :
Tous ces éléments sont à raccorder selon le plan de câblage joint.
L'utilisation du capteur capacitif est fonctionnelle mais plus soumise à controverse d'un point de vue électronique (mais utilisation intéressante dans le cadre de la formation), car il fonctionne grâce à une astuce : un fil électrique a été largement dénudé des deux côtés (10 cm de chaque environ) : un de ces côté a été enroulé en spirale et collé avec ruban adhésif sur le capteur capacitif afin de créer une surface conductrice suffisamment importante contre le capteur. L'autre côté largement dénudé est enroulé autour du levier du détonateur. L'appui avec le doigt sur le détonateur fait contact avec le fil du levier, information qui est transférée grâce au fil vers le capteur qui passe ainsi actif. Cette méthode est donc aussi moins fiable de celle mécanique du bouton poussoir. Evitez de jouer dehors, en hiver, avec vos moufles, il y a fort à parier que ça ne marchera pas avec le capteur capacitif ! Utilisez le bouton poussoir pour les puristes et la fiabilité dans le temps ou le capacitif pour le fun de devoir raccorder le câblage du fils pour pouvoir faire exploser la tourelle (après le système de raccord de fil peut facilement s'intégrer avec la solution du bouton poussoir).
Si vous ne savez jamais vous décidez, faites comme moi, installez les deux...
Code Arduino commenté en fichiers joints ; voir le code pour les détails (fichier 123Tourelle_IMT_Bento_123Soleil.ino)
Matériel nécessaire :
Soit environ 70 à 80€ pour une seule unité ; pour plusieurs unités, avec achat de lots, les tarifs devraient être bien revus à la baisse.
Outils
Logiciels :
fr none 0 Draft
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #