ENIB 2024 : TwoSnakeBetterThanOne

De Les Fabriques du Ponant
Révision datée du 31 janvier 2024 à 10:56 par B1heysch (discussion | contributions) (Les différents Joystick)
Aller à : navigation, rechercher

Titre de la fiche expérience :

description (résumé)

éventuelle photo de l'équipe

Zinzin.jpg

SNAKE

Image Snake.png

Introduction

A l'occasion d'un hackathon, nous devons créer un jeu électronique en deux jours.

Nous avons choisi de créer un jeu Snake sur une plaque de LED 16x16.

outil et matériel

Partie électronique :

- Plaque de LED 16x16
- Joystick Analogique
- Bouton poussoir
- Carte D1 mini
- Breadboard
- Fils

fichiers à joindre

code, ficher d'impression 3D, de découpe laser ou vinyle, ...

Voici le code que nous avons pris : https://projecthub.arduino.cc/vasiljevalentin/snake-led-16x16-matrix-game-15a475

Mettre du code Arduino

1  
2 Le code modifié n'est pas encore présent

étapes de fabrication

indiquer autant d'étape que nécessaire, chacune illustrée par des images (phot, dessins, ...)

étape 1 : Tester le matériel

étape 2 : Trouver un code

Nous vous conseillons de prendre le code fournit, que nous avons nous-même trouver sur Internet.

étape 3 : Tester le code et le débugger

étape 4 : Construire le jeu

étape ...

troubleshouting

quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?

- Joystick
- Changement du signe 

Les commandes gauches droites étaient inversées Changement de signe de dx et dy -> Créait des bugs avec les bords (mais on sai tpas pourquoi

Les différents Joystick

Il existe plusieurs types de Joystick, nous en avons utilisé deux :

- Les Joystick analogiques, qui renvoient la position du Joystick en fonction des axes X et Y, ils renvoient donc deux valeurs, sous forme de vecteur. 

"Photos du Joystick analogique"

- Les Joystick numériques, qui sont composés de quatre boutons poussoirs. La position du Joystick est décrite par quatre valeurs binaires (pour chaque boutons renvoient 1/0).

Image Joystick TSBTO.jpg Image Joystick2 TSBTO.jpg Image Joystick3 TSBTO.jpg

Nous avions commencé avec un joystick numérique, cependant le code que nous avions pris était écrit pour un joystick analogique. C'est à dire, la direction de serpent est contrôlée par des valeurs (X, Y). C'est donc un problème car un joystick numérique ne renvoie pas ces valeurs.

Les problèmes de direction

Lorsque notre matériel marchait, nous avons pu tester notre code.

Et celui-ci ne marchait pas, certaines directions étaient inversées. En effet, quand les directions droite et gauche étaient fonctionnelles, les directions haut et bas, elles, étaient inversées. Nous avons donc essayer d'inverser nous-même ces directions dans le code. Quand nous faisions cela, les bords de la plaque étaient buggés et nous ne savions pas pourquoi. Pour inverser les directions nous avons changé le signe de la dérivé dx.

Nous avons finalement réussi à empêcher ces bugs en modifiant également le signe de la dérivée dx dans les conditions des bords.

"Photos des parties de codes modifiées"

Sources et documentation complémentaire

Je ne crois pas qu'il y ait de bonnes ou de mauvaises documentations.

Moi si je devais résumer ma vie avec vous aujourd'hui, je dirais que c'est d'abord des rencontres, des gens qui m'ont tendu la main à un moment ou je ne pouvais pas, ou j'étais seul chez moi.

Et c'est curieux de se dire que les hasards, les rencontres forgent une destinée, parce que quand on a la gout de la chose, le gout de la chose bien faite, le beau geste, et bien parfois on ne trouve pas l'interlocuteur en face, je dirais le miroir qui vous aide à avancer.

Alors moi, ça ne m'ait pas arrivé, comme je vous l'ai dit, j'ai pu et je dis merci à la vie, je lui dit Merci, je chante la vie, je danse la vie, je ne suis qu'amour.

Et finalement, quand aujourd'hui, beaucoup de gens me demande : mais comment fais-tu pour avoir toute cette humanité ? Et bien je leur répond simplement que c'est ce gout de la chose qui m'a poussé à entreprendre une construction mécanique, mais demain, qui sait, peut être simplement me mettre au service de la communauté, à faire don, don de soi...

D'autre sources de Snake

ne pas modifier sous cette ligne