Un casse briques avec des matrices de leds MAX7219

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 :

Casse_briques_MAX7219.ino (5.36 KB)

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

Test_menu_MAX7219_v2.ino (2.72 KB)

Fonctions_globales.h (899 Bytes)

Casse_briques.h (3.76 KB)

Snake.h (4.36 KB)

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

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.

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

Voici les déclarations des bibliothèques :

#include <MD_MAX72xx.h>
#include <avr/pgmspace.h>
#include <SPI.h>
#include <TrueRandom.h>

et l'instanciation des LEDs :

#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 :

Apr 2018 version 2.11.0
- Restructured header file to make hardware flags more obvious
- Added drawHLine(), drawVLine(), drawRectangle() methods

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

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

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

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.

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.

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)

Test_menu_MAX7219_v2.zip (6.02 KB)

super idée ! je suis fan. et ça tombe bien,j'ai de ces matrices de leds qui trainent...

Merci !

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.

Elles ne sont pas fixées. J'ai fait un cadre en MDF et elles sont encastrées dans le cadre, donc ça tient un peu comme ça peut (depuis j'ai tout démonté...)

Merci pour ces précisions. J'en ai commandé sur EBay, je verrai comment faire à la réception.

Bonjour,
J'ai eu les cartes, elles ont des trous à l'arrière qui permet de fixer sur un support. Je pense concevoir un circuit pour y loger toutes les commandes (3 BP) et le contrôleur (un PIC). Je connais beaucoup mieux les PIC que Arduino mais je ne désespère pas d'apprendre.

Cool, tu nous montreras le résultat ?

lesept:
Cool, tu nous montreras le résultat ?

Seulement si je n'en ai pas honte ... C'est mécaniquement que ça me pose des problèmes.