Retour à l'accueil

Jeu de réaction sur ATmega32 pour deux joueurs

La deuxième version du gadget de réaction sur ATmega32 ajoute trois LEDs par joueur, comptage jusqu'à trois et animation. Décrit le schéma, la soudure, la logique firmware et la comparaison avec le prototype sur ATmega328P. Convient aux développeurs embarqués intermédiaires/seniors.

Réacteur DIY sur ATmega32 : améliorations et schéma
Advertisement 728x90

Jeu de Réaction Amélioré pour Deux Joueurs sur ATmega32 : Du Prototype à la Version Finale

Les développeurs de systèmes embarqués commencent souvent par des prototypes simples sur l'ATmega328P, mais pour passer à l'échelle, ils migrent vers des microcontrôleurs plus puissants comme l'ATmega32. La deuxième version de cet entraîneur de réaction pour deux joueurs utilise précisément ce composant : elle augmente le nombre d'indicateurs, ajoute des animations et permet de compter jusqu'à trois victoires. Le soudage est réalisé avec de la pâte à braser, et la carte nécessite un post-traitement pour la propreté — les méthodes optimales incluent l'alcool isopropylique avec un bain à ultrasons ou des nettoyants de flux spécialisés.

La géométrie du porte-clés est maintenue compacte pour un transport en poche. Sur la face avant, on trouve une sérigraphie avec des cœurs comme indicateurs de score ; au dos, le logo du projet.

Visualisation et Matériel

Chaque joueur dispose de trois LED sous son bouton : bleue pour le premier, rouge pour le second. Une LED verte centrale signale le départ. Le schéma est disponible dans les fichiers Gerber du projet, et la visualisation 3D confirme l'ergonomie.

Google AdInline article slot

![Projet de carte électronique](./images/image-4.jpg)

![Rendu 3D face avant](./images/image-5.PNG)

![Rendu 3D face arrière](./images/image-6.PNG)

Google AdInline article slot

![Schéma complet](./images/image-7.png)

Logique de Jeu et Micrologiciel

Le jeu implémente une réaction à un stimulus visuel avec un délai aléatoire. Le micrologiciel sur l'ATmega32 contrôle :

  • Une LED verte clignotante pour la préparation.
  • La détection de la première pression sur un bouton.
  • L'animation des LED clignotantes à la fin d'une manche.
  • Un compteur de victoires jusqu'à trois.

Règles en pseudocode :

Google AdInline article slot
  • while (jeu_non_démarré) { clignoter(LED_verte, délai_aléatoire); }
  • délai(aléatoire(100-500ms)); allumer(LED_verte);
  • if (bouton1_pressé < bouton2_pressé) { score1++; animation(LED_bleues); } else { score2++; animation(LED_rouges); }
  • if (score1 == 3 || score2 == 3) { animation_finale(); réinitialiser(); }

Le micrologiciel est optimisé pour une faible consommation d'énergie, avec des temporisateurs AVR assurant des délais précis sans blocage.

Comparaison des Versions

| Paramètre | Version 1 (ATmega328P) | Version 2 (ATmega32) |

|-----------|------------------------|----------------------|

| LED par joueur | 1 | 3 |

| Score | Jusqu'à 1 | Jusqu'à 3 |

| Animation | Aucune | Effets de clignotement |

| Sérigraphie | Aucune | Complète (cœurs, logo) |

| Soudage | Basique | Pâte + flux |

Le passage à l'ATmega32 a fourni plus de broches pour l'expansion, 32 Ko de Flash contre 32 Ko sur le 328P, mais avec de meilleurs périphériques.

Recommandations d'Assemblage

  • Utilisez de la pâte à braser de 0,5 mm pour les composants CMS.
  • Après soudage : nettoyez dans un bain à ultrasons avec de l'alcool isopropylique à 99 % pendant 5 à 10 minutes.
  • Testez les temporisations avec un oscilloscope : le délai doit être uniformément aléatoire.
  • Pour le micrologiciel : avrdude avec USBasp, bits de fusible pour l'oscillateur interne à 16 MHz.

Expansion : ajoutez un buzzer pour un retour audio ou Bluetooth pour les scores dans une application.

Points Clés à Retenir

  • Passage à l'échelle du prototype : Passer d'une LED à trois avec animation augmente l'engagement sans compliquer le circuit.
  • Avantages de l'ATmega32 : Plus d'E/S, UART pour le débogage, adapté au multijoueur.
  • Soudage CMS : Le nettoyage du flux est crucial pour la longévité ; évitez le flux sans nettoyage sans post-traitement.
  • Temporisations de réaction : Un délai aléatoire de 100 à 500 ms imite les scénarios réels.
  • Structure du micrologiciel : Boucles non bloquantes sur temporisateurs pour la réactivité.

— Editorial Team

Advertisement 728x90

Lire ensuite