Go Down

Topic: Un casse briques avec des matrices de leds MAX7219 (Read 1 time) previous topic - next topic

lesept

Hello
Je viens de terminer un petit jeu de casse briques dont le display utilise des matrice de leds 8x8 qu'on trouve pas cher en Chine. J'utilise 2 modules comme celui-ci (mais le code est modifiable simplement pour changer le nombre et la configuration). Ils sont branchés en cascade et un clone nano suffit à les alimenter. La raquette se déplace avec un potentiomètre (j'ai prévu dans l'habillage d'en mettre 2 au cas où je veux étendre le jeu avec un tennis ou autre du genre)


Quelques photos :



A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

lesept

J'ai ajouté un jeu de Snake. Au lancement, un "menu" avec 4 choix est proposé. Pour l'instant il n'y a que 2 jeux donc seuls les choix 1 & 2 sont actifs. Si on laisse l'un des deux en surbrillance pendant 2 secondes, le jeu choisi est lancé.

  • Casse briques
  • Snake
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

tartiflette

J'aime beaucoup le concept.
Je vais acheter les matrices Led :-)

lesept

Merci
Le plus compliqué c'est de les faire tenir ensemble, c'est pourquoi j'ai découpé ce cadre avec 2 trous pour faire passer les potentiomètres. J'attends encore les capuchons pour les habiller...
Même avec le cadre parfois les barrettes de LEDs bougent, il faudrait les attacher d'une manière ou d'une autre.
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

tartiflette

Bonjour, tu utilises quoi comme librairie ?
J'ai essayé la MajicDesigns (version 2.10) et j'ai des erreurs de compilation:

Casse_briques_MAX7219:55: error: 'class MD_MAX72XX' has no member named 'drawRectangle'
...
Casse_briques_MAX7219:87: error: 'class MD_MAX72XX' has no member named 'drawVLine'
...

Merci

lesept

Voici les déclarations des bibliothèques :
Code: [Select]
#include <MD_MAX72xx.h>
#include <avr/pgmspace.h>
#include <SPI.h>
#include <TrueRandom.h>

et l'instanciation des LEDs :
Code: [Select]
#define MAX_DEVICES 8
#define CLK_PIN   13  // or SCK
#define DATA_PIN  11  // or MOSI
#define CS_PIN    10  // or SS
// SPI hardware interface
MD_MAX72XX Display = MD_MAX72XX(CS_PIN, MAX_DEVICES);


La bibliothèque utilisée est bien MD_MAX72xx. Il faut prendre une version récente pour avoir Vline et rectangle :
Code: [Select]
Apr 2018 version 2.11.0
- Restructured header file to make hardware flags more obvious
- Added drawHLine(), drawVLine(), drawRectangle() methods
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

al1fch

Merci lesept !!
Ta réalisation  est très intéressante.

tartiflette

Merci, ça marche ! je dois installer le potard et tester les jeux maintenant.
en tous cas, bravo, c'est original

lesept

Merci !
J'ai une autre idée pour un 3ème jeu, mais je manque de temps (bcp de boulot à la maison) : surveillez le fil de temps en temps...
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

tartiflette

ok, compilé et testé, ça marche.
Par contre, je ne trouve pas les commandes au potard trés intuitive. Je pense modifier le programme pour que ça soit géré via 2 boutons poussoirs.

lesept

C'est vrai : c'était un choix a priori, mais je me suis rendu compte à l'usage que c'était peu adapté à ce genre de jeu.
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

lesept

#11
May 31, 2018, 10:57 pm Last Edit: May 31, 2018, 11:19 pm by lesept
Alors j'ai vu un jour mon fils jouer à un jeu dans lequel il fait voler un oiseau dans un espace qui change, et la commande de l'oiseau est juste de battre des ailes pour le faire monter, et ne rien faire pour descendre.

J'ai adapté ça à mon écran de leds, avec un bouton tactile pour la commande. Le bouton est une simple pièce de un centime, soudée sur un fil qui se branche sur la breadboard. Et la bibliothèque CapacitiveSensor fait le reste.

Voici le code en pièce jointe pour ceux qui veulent tester, et quelques photos...

Le plan de travail : on distingue le bouton tactile en bas à gauche du support des leds.


Le menu de choix du jeu (à ce jour  1, 2 ou 3) :


Les 2 points isolés sont le vaisseau ou l'oiseau qu'on fait bouger entre les deux parois haut et bas, qui se déplacent. Pour faire monter l'oiseau, toucher le bouton tactile (sous le doigt)


A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

bricofoy

super idée ! je suis fan. et ça tombe bien,j'ai de ces matrices de leds qui trainent...
-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

lesept

A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

Gerard68

Bonjour,
Je passe par ici et ça me plait bien.
J'ai juste une question, comme as-tu fixé les 2 x 4 matrices ensemble?
La mécanique et moi, on ne fait pas bon ménage.

Merci d'avance pour tes idées.

Go Up