Pocket Tetris
Un classique en version portable
Pour occuper les petits dans les longs voyages sans leurs prêter votre smartphone, ou passer le temps aux plus grands qui s'ennuient dans les cours de français, j'ai redonné vie à un classique jeu des années 80 : le Tetris ! mais en version de poche. Les pièces, générées de façon aléatoire, apparaissent en haut d'un écran de 64 leds multicolores et descendent, d'abord lentement vers la ligne du bas... A vous de jouer au maçon, en les déplaçant à gauche ou à droite avec deux boutons latéraux, ou de les faire tourner avec le poussoir du milieu. Le but étant de faire des lignes complètes qui s'effacent pour laisser la place aux éléments suivants qui descendent en accélérant progressivement. Chaque rang complet disparu vaut 100 points et le jeu s'arrête dès que la pile est bloquée.
Deux niveaux de difficultés, le mode K (kids = enfant ) et N (normal), permettent de s'adapter au jeu ... Le premier se limite par l'envoi de pièces simples que l'on déplace à gauche ou droite. Sur l'autre on retrouve les pièces du vrai Tetris avec la possibilité de rotation. Une petite musique synthétique bien agaçante ponctue les accusés de réception des actions sur les boutons, marque le démarrage, ainsi que la suppression des lignes complètes, et le game over quand la partie est terminée.
J'ai adapté ma version matérielle au programme de Mr Mirko Pavleski ( vive l'open source ) pour avoir un jeu qui tienne dans la main, totalement autonome sur une batterie rechargeable par USB-C
Le Matériel :
1. Le Chargeur de batterie: Le TP4056 est un chargeur avec fiche micro USB-C permet la recharge ou le fonctionnement sur une source extérieure. Deux leds respectivement rouge et bleue, renseignent si l'accu est en charge ou complètement chargé. Le temps de charge dépend de la capacité de la batterie et de son avancement dans la décharge ... Caractéristiques du module:
Tension d'entrée: 5V
Tension de coupure de charge: 4.2V ± 1%
Courant de charge maximum: 1000mA
Tension de protection contre la décharge excessive de la batterie: 2.5V
Courant de protection contre les surintensités de batterie: 3A
2. L'élévateur de tension: Pour générer du 5 volts, à partir du 3,7 volts, je confie la tâche à un circuit convertisseur DC/DC 3,6 -->5v Boost converter qui va monter, redresser et filtrer la tension à 5 volts pour l'alimentation de tous les composants. Une led bleue sur le circuit nous renseigne sur son bon état de fonctionnement avec une puissance maximale de 1,5 ampère (1A constant ) .
3. Le Microcontrôleur: L'ATMEGA328P-PU est un microcontrôleur de chez ATMEL (maintenant Microchip) de 28 broches, 32K de mémoire et qui peut être cadencé jusqu'à 20MHz. Il est souvent utilisé sur l'Arduino UNO et c'est pour cette raison que je l'ai choisi; en effet l'IDE Arduino permet un développement aisé et la sortie compilée des binaires au format hex . Il n'est pas cher et un programmateur, genre Dataman, permet de buriner ses mémoires avec ce fichier. Les datasheets vous révéleront les possibilités énormes de ce micro et les nombreux modes de communication disponibles.
4. L'Horloge de cadencement: Un quartz de 16 MHz sert d'horloge pour cadencer le processeur. Lors de la programmation il faudra bien penser à paramétrer les bits des registres dans ce choix d'oscillateur.
5. Les condensateurs de stabilisation: Deux condensateurs de 18 à 22 pF sont reliés sur chaque patte du quartz pour 'tirer' les harmoniques et garantir la stabilité .
6. La Résistance du reset: Une résistance de 10K tient au potentiel haut la pin de reset du microprocesseur, pour permettre à celui-ci de 'tourner' en mode normal .
7. Le Connecteur des boutons et du Buzzer: Un connecteur cinq broches reçoit les fils qui s'en vont vers les boutons et le haut-parleur piezzo ! La masse étant commune, les trois boutons tirent respectivement les entrées PB0, PB1,PB2 au potentiel bas lorsqu'ils sont actionnés. Les résistances de pull-up sont déclarées par logiciel. Un buzzer joue une suite de sons (on ne va pas dire mélodie) dans les phases du jeu . Il est impératif de prendre un modèle haute impédance pour ne pas claquer la sortie PD2, limitée à 30mA .
8. Le connecteur de l'écran : Ce connecteur à trois pins alimente la matrice de leds en 5 volts (VCC-GND) et envoie les datas issues de PD6 de l'ATMega, vers le panneau de 64 leds intelligentes WS2812B. ( Pas d'affolement, une librairie s'occupe de la gestion)..
9. Deux connecteurs batterie et Inter Marche/Arrêt : Ici va se connecter la batterie . Attention à l'orientation du détrompeur pour respecter la polarité . Et sur l'autre, l'interrupteur de mise en service . Ici la polarité est sans importance .
La batterie : C'est une batterie rechargeable au Lithium polymère 3.7V 2000mAh avec électronique de gestion de charge disponible chez Aliexpress pour très peu d'euros. Attention le connecteur est à remplacer car il est au pas de 2 mm alors que les miens sont au pas normalisé de 2,54 mm.
Le Panneau de Leds intelligentes 8x8 : Cette matrice de taille: 65mm * 65mm comprend 8*8 = 64 éléments de couleurs RGB, équipés de la puce: WS2812b pour l'interfaçage IO qui permet 256 niveaux de brillance en trois couleurs, utilisant un protocole d'adressage par trame de 24 bits pour chacune en mode série, espacée de pauses de 50µsecondes ou plus, pour la synchro . Le tout est alimenté en DC 5 volts et consomme au maximum environ 900 mA en plein éclat.
Le Schéma :
Pas de commentaire à faire devant la simplicité de la page déjà bien dégrossie dans la présentation du matériel ci-dessus.
Le Circuit Imprimé:
Ce circuit ne pose aucun problème de réalisation par l'amateur ... Une simple face, sans strap, réalisé comme c'est décrit ICI . J'ai joint les fichiers Gerber si vous souhaitez le faire réaliser en industrie .
La mise en Boîte:
Le boîtier est réalisé à l'imprimante 3D, en deux pièces élaborées avec Designspark Mechanical : le fond et l'enjoliveur qui sert de couvercle, qui maintien le tout. Avec deux ouvertures aménagées, respectivement pour le passage de l'interrupteur marche/arrêt et l'autre pour la connexion de la fiche USB-C en cas de recharge. Tout ça est dans le pack de fichiers ci-dessous .
Une plaque translucide en Macrolon supporte le panneau de leds et les 3 boutons poussoirs. Une fois usinée et percée aux dimensions, j'ai mis sur sa tranche et sur tout le périmètre un adhésif résistant, non élastique bien étanche, puis j'ai coulé une résine d'inclusion et posé, en l'ajustant, l'écran avant polymérisation ... Les bavures et coulures sont ébarbées au cutter avant le montage des boutons, et du buzzer piezzo dont j'ai dû occulter partiellement le trou de sortie tant le son est agaçant !
Les Fichiers de Réalisation :
Dans 3 répertoires: Mécanique, Electronique, et Logiciel
Pocket tetris (739.03 Ko)
A ce jour, mon record est de 700 points (sept lignes ) ! Oui je sais, c'est minable, mais on ne peut pas être bon partout, je m'aime ainsi et je ne suis pas au bout de vos surprises, car je vais m'entraîner, na !
Ajouter un commentaire