123Tourelle : Différence entre versions

Ligne 16 : Ligne 16 :
 
Il s'agit de réaliser une Bento qui aura plusieurs fonctionnalités :
 
Il s'agit de réaliser une Bento qui aura plusieurs fonctionnalités :
  
- Un mode normal avec affichage de la température et de la pression atmosphérique
+
* Un mode normal avec affichage de la température et de la pression atmosphérique
  
- Un mode "Détection", qui indiquera sur les 10 dernières secondes (via une LED RING) si un mouvement a été détecté et affichera un message si un certain niveau sonore est dépassé
+
* Un mode "Détection", qui indiquera sur les 10 dernières secondes (via la LED Ring) si un mouvement a été détecté et affichera un message si un certain niveau sonore est dépassé
  
- Un mode jeu, basé sur le principe du jeu "1, 2, 3 Soleil", dans lequel il faudra non pas toucher la personne qui dit "1, 2, 3, Soleil !" mais faire "exploser" la tourelle via un détonateur (qu'il faudra préalablement activer) pendant une phase de mouvement (lorsque la tourelle est retournée) et sans se faire repérer pendant les phases d'immobilité (tourelle face à nous). 4 niveaux de jeu sont codés (utilisation de 1 à 3 capteurs de mouvements, tourelle plus rapide, angles de rotation différents et aléatoires, phases de mouvement plus ou moins courtes, pertes plus ou moins importantes de "vies"). A chaque fois que le joueur se fait repéré, il perd des "boucliers" (1 à 3, selon le mode de jeu et le nombre de capteurs l'ayant détecté) et une perte d'énergie (selon le niveau et de plus en plus importante à mesure que le nombre de boucliers diminue).
+
* Un mode jeu, basé sur le principe du jeu "1, 2, 3 Soleil", dans lequel il faudra non pas toucher la personne qui dit "1, 2, 3, Soleil !" mais faire "exploser" la tourelle via un détonateur (qu'il faudra préalablement activer par branchement de 2 fils) pendant une phase de mouvement (lorsque la tourelle est retournée). Ceci, sans se faire repérer pendant les phases d'immobilité (tourelle face à nous). 4 niveaux de jeu, de difficultés croissantes, sont codés (utilisation de 1 à 3 capteurs de mouvements, tourelle plus rapide, angles de rotation différents et aléatoires, phases de mouvement plus ou moins raccourcies, pertes plus ou moins importantes de boucliers ou d'énergie). A chaque fois que le joueur se fait repérer, il perd des "boucliers" (1 à 3, selon le mode de jeu et le nombre de capteurs l'ayant détecté) et une perte d'énergie (plus ou moins aléatoire et selon le niveau et de plus en plus importante à mesure que le nombre de boucliers diminue).
  
 
Le joueur gagne s'il faire exploser la tourelle pendant une phase de mouvement.
 
Le joueur gagne s'il faire exploser la tourelle pendant une phase de mouvement.
  
Il perd s'il n'a plus de bouclier ou plus d'énergie.</translate>
+
Il perd s'il n'a plus de bouclier (sauf niveau 1) ou plus d'énergie (dans tous les modes).</translate>
 
}}
 
}}
 
{{Materials
 
{{Materials
Ligne 131 : Ligne 131 :
 
{{Tuto Step
 
{{Tuto Step
 
|Step_Title=<translate>Mise en route</translate>
 
|Step_Title=<translate>Mise en route</translate>
|Step_Content=<translate></translate>
+
|Step_Content=<translate><br />{{Info|L'affichage des LEDs rouges pour signifier la détection d'un mouvement lors d'une phase d'immobilité ne démarre que 2s (et quelques, voir code) après la retour de la tourelle en position initiale. Cela est du au fait que les capteurs détectent le déplacement de la tourelle et sont actifs pendant 2s (minimum) et il n'y a apparemment pas de solution pour les désactiver temporairement et les réactiver lors du retour de la tourelle. Lors du retour en position initiale, si le joueur est détecté 1 seconde avant la phase d'immobilité, il sera positif encore 1 seconde après l'arrêt de la tourelle. Malgré cela, selon mes essais, la détection reste précise et les détections se jouent au centième de seconde.
 +
Pour le côté utilisateur, ça laisse un petit côté "suspense" d'attendre les 2s pour savoir si on a été détecté, ensuite la détection et son résultat est affiché immédiatement.}}<br /></translate>
 
}}
 
}}
 
{{Notes
 
{{Notes

Version du 4 février 2022 à 11:23

Auteur avatarChristophe M | Dernière modification 10/02/2022 par 2XCs

Pas encore d'image

Introduction

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 :

  • Un mode normal avec affichage de la température et de la pression atmosphérique
  • Un mode "Détection", qui indiquera sur les 10 dernières secondes (via la LED Ring) si un mouvement a été détecté et affichera un message si un certain niveau sonore est dépassé
  • Un mode jeu, basé sur le principe du jeu "1, 2, 3 Soleil", dans lequel il faudra non pas toucher la personne qui dit "1, 2, 3, Soleil !" mais faire "exploser" la tourelle via un détonateur (qu'il faudra préalablement activer par branchement de 2 fils) pendant une phase de mouvement (lorsque la tourelle est retournée). Ceci, sans se faire repérer pendant les phases d'immobilité (tourelle face à nous). 4 niveaux de jeu, de difficultés croissantes, sont codés (utilisation de 1 à 3 capteurs de mouvements, tourelle plus rapide, angles de rotation différents et aléatoires, phases de mouvement plus ou moins raccourcies, pertes plus ou moins importantes de boucliers ou d'énergie). A chaque fois que le joueur se fait repérer, il perd des "boucliers" (1 à 3, selon le mode de jeu et le nombre de capteurs l'ayant détecté) et une perte d'énergie (plus ou moins aléatoire et selon le niveau et de plus en plus importante à mesure que le nombre de boucliers diminue).

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).

Étape 1 - Découpe laser et collage des éléments de la Bento

Dans le cadre de notre formation, les éléments bois nous ont étés 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).



Étape 2 - Impressions 3D

3 impressions 3D sont à réaliser :


- Le cache écran, élément nécessaire à la fixation de l'écran sur la Bento (fichier stl joint aux fichiers)


- La tourelle, élément semi décoratif du 3eme étage, car il permet aussi la visualisation de l'état de la Bento dans le jeu 123 Soleil, étape de mouvement ou d'immobilisation

Lien ThinkerCAD : https://www.tinkercad.com/things/3wK0G7hVzjL

- Le détonateur, élément essentiellement décoratif /fun, car il pourrait être remplacé par un simple bouton pressoir, plus fiable et moins soumis à controverse (explication plus base dans ce tutorial).

Lien ThinkerCAD : https://www.tinkercad.com/things/21ObtVLrXG0-detonateur


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.


NB : l'impression de la tourelle nécessite la création de supports pour la réalisation du canon ainsi que la tenue du dôme, un travail de nettoyage des supports est donc à effectuer.

Étape 3 - Préparation au câblage électronique

Avant de procéder au câblage des divers composants, des étapes de préparation de la Bento est nécessaire :


  • Décoration/peinture de la Bento (facultatif mais fort appréciable pour la valorisation de votre travail et l'attrait pour travailler dessus)
  • Fixation de l'Arduino sur la base de la Bentolux ; attention, les trous de l'Arduino ne correspondaient pas aux trous de la plaque de bois, un perçage a été nécessaire
  • Fixation de l'écran sur le cache (ruban adhésif utilisé) puis fixation de l'écran sur la Bento par collage
  • Découpe de la base de la Bento afin de pouvoir insérer la fiche du chargeur fourni avec petite scie et cutter (pas d'ouverture pour la fiche chargeur par défaut)
  • Découpe rectangulaire du haut du second étage afin de créer un espace pour pouvoir insérer la base du servo moteur. Cette découpe a été effectuée par perçage puis scie et cutter. Elle pourrait aussi être effectuée par découpage laser (création d'un nouveau GCode ou ajoutée au modèle d'origine de découpe de la Bento). Autre solution, la réalisation de ce "trou" par fraisage.
  • Perçage au forêt bois sur le haut du second étage afin d'insérer un bouton pressoir
  • Réalisation des soudures (ajout de fils électriques si nécessaire) de tous les composants requis pour la réalisation, donnés dans la liste des matériels du tutorial.
La LED RING est située juste au-dessus de l'écran, lors des soudures réfléchissez bien à comment éviter la sortie des 4 fils écrans en amont (personnellement j'ai soudé avec un angle de 90° par rapport à la LED RING et fait passer mes fils par le centre de la boite)
La soudure des LED RING pose souvent problème au débutants (casse fréquente des fils). Cette difficulté peut être réduite par la soudure de broches (plus solides) au lieu de souder directement les fils sur la LED RING
La LED RING a un sens, la LED N°0 est normalement indiquée par une petite étoile à l'arrière, pensez-y avant de la fixer

Étape 4 - Réalisation du câblage électronique

Pour l'organisation et une bonne répartition des composants (et fils associés), prévoir de positionner :

  • Au premier étage de la Bento :
    • Capteur humidité/pression
    • Ecran OLED
    • Interrupteur on/off
    • Potentiomètre
  • Au second étage :
    • Raccord de type Wago pour l'alimentation électrique
    • Wago pour les liaisons à la masse
    • Led Ring
    • Capteur sonore
  • Au 3eme étage
    • Les 3 capteurs de mouvement
    • Le servo moteur
    • Le capteur capacitif
    • Et/ou le bouton pressoir

Tous ces éléments sont à raccorder selon le plan de câblage joint.

Evitez d'utiliser la breadboard pour le câblage final, celle-ci est volumineuse et ne devrait servir qu'à la réalisation de tests
Raccourcissez les fils en n'oubliant pas de se laisser une marge si l'on doit ouvrir la Bento pour investiguer une panne/un défaut ou pour faire une amélioration (ajout composant, ...) et évitez les entrelacements pour faciliter l'insertion des nombreux fils dans la Bento et sa maintenance

Étape 5 - Code Arduino

Code Arduino commenté en fichiers joints ; voir le code pour les détails.

Le programme nécessite l'installation de plusieurs librairies Adafruit (voir lignes "include"), pensez à les installer
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.

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.

Étape 6 - Mise en place des décors et du détonateur

Étape 7 - Mise en route


L'affichage des LEDs rouges pour signifier la détection d'un mouvement lors d'une phase d'immobilité ne démarre que 2s (et quelques, voir code) après la retour de la tourelle en position initiale. Cela est du au fait que les capteurs détectent le déplacement de la tourelle et sont actifs pendant 2s (minimum) et il n'y a apparemment pas de solution pour les désactiver temporairement et les réactiver lors du retour de la tourelle. Lors du retour en position initiale, si le joueur est détecté 1 seconde avant la phase d'immobilité, il sera positif encore 1 seconde après l'arrêt de la tourelle. Malgré cela, selon mes essais, la détection reste précise et les détections se jouent au centième de seconde. Pour le côté utilisateur, ça laisse un petit côté "suspense" d'attendre les 2s pour savoir si on a été détecté, ensuite la détection et son résultat est affiché immédiatement.

Commentaires

Draft