Table des matières:
- Étape 1: Pièces
- Étape 2: Câblage
- Étape 3: Câblage alternatif
- Étape 4: Code + Explication
- Étape 5: Merci d'avoir lu
Vidéo: Pong Tennis avec matrice LED, Arduino et joysticks : 5 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Ce projet s'adresse aussi bien aux débutants qu'aux bricoleurs confirmés. À un niveau de base, cela peut être fait avec une planche à pain, des fils de liaison et collé à un morceau de ferraille (j'ai utilisé du bois) avec Blu-Tack et sans soudure. Cependant, à un niveau plus avancé, il peut être soudé à une carte perforée ou à un PCB personnalisé.
Comme il s'agissait d'un projet de verrouillage, je n'avais pas accès à de nombreux outils ou matériaux, c'est pourquoi il est collé à un morceau de bois de rebut légèrement trop petit avec Blu-Tack, mais malgré cela, c'est un projet amusant qui se réunit rapidement et est composé de pièces couramment disponibles qui peuvent être trouvées à bas prix en ligne.
Étape 1: Pièces
Pour faire le jeu Pong dont vous avez besoin;
- 1x Un Arduino (tout type fonctionnera)
- 4x MAX7219 8x8 Matrices LED
- 2x manettes de jeu
- 1x buzzer piézo (facultatif)
- 15x cavaliers femelle-femelle (3x groupes de 5)
- 15x fils de connexion mâle-femelle (3x groupes de 5)
- 18x fils de connexion mâle-mâle
- 1x planche à pain
- 1x 220Ω Résistance
Au lieu d'une carte Arduino Uno ou Nano, vous pouvez utiliser un Arduino basé sur une maquette;
- 1x CI ATmega328p 28 broches
- 1x oscillateur à cristal 16kHz
- 2x 22pF Condensateurs Céramique
- 1x convertisseur USB FTDI UART
- 1x 100uF condensateur électrolytique
- 1x sortie micro USB (en option)
Outils;
- PC avec Arduino IDE (et bibliothèque LedControl)
- Câble USB approprié pour votre Arduino
- Power Bank pour alimenter le jeu loin de votre ordinateur
Étape 2: Câblage
Le câblage est très simple car tout ce dont vous avez besoin est des câbles de connexion pour connecter les en-têtes des matrices et des joysticks à l'Arduino. La seule complication est l'alimentation car l'Arduino Uno n'a que 3 connexions GND et une connexion 5v. C'est là que la maquette entre en jeu et agit comme un rail de distribution d'alimentation pour tous les composants. Si vous utilisez un NANO, la maquette aura le même objectif et vous permettra de tout brancher.
Pour le câblage, suivez ces connexions.
- Joystick gauche - GND et 5v à leurs rails d'alimentation respectifs. SW - broche 9, VRx - A0, VRy - A1.
- Joystick droit - GND et 5v à leurs rails d'alimentation respectifs. SW - broche 8, VRx - A2, VRy - A3.
- Matrice LED la plus à droite - GND et 5v à leurs rails d'alimentation respectifs. DIN - 13, CS - 11, CLK - 12. (Comme ligne 25)
- Toutes les autres matrices LED peuvent être connectées en guirlande à la sortie de la première en allant de droite à gauche pour que le code fonctionne correctement.
- Buzzer en option - Anode (+) via une résistance de limitation de courant de 220 à la broche 10, Cathode (-) - GND.
Étape 3: Câblage alternatif
Après l'avoir câblé avec un Arduino UNO pour économiser de l'espace, j'ai décidé de mettre le circuit intégré Arduino de l'UNO sur la planche à pain avec un oscillateur à cristal 16Mhz et une paire de condensateurs 22pF de chaque côté à la terre. Je pense que c'était une modification intéressante car elle rend le projet plus net et plus fini, mais vous devez utiliser un programmeur USB FTDI pour mettre à jour le programme.
Étape 4: Code + Explication
Pour télécharger le code sur l'Arduino, téléchargez la bibliothèque LedControl à partir de GitHub ici, github.com/wayoda/LedControl et ajoutez le fichier Zip ou ajoutez-le via le gestionnaire de bibliothèque dans l'IDE. Après cela, ouvrez le croquis ci-joint, sélectionnez votre Arduino dans les paramètres de la carte et du port sous Outils et téléchargez-le sur l'arduino.
Explication
Ligne 1: ajoute la bibliothèque
Ligne 5-23: Configure toutes les variables, constantes et numéros de broche.
Ligne 25: configure le LED Martix et définit les broches de contrôle et le nombre d'écrans.
Ligne 27: Configure la fonction de réinitialisation.
Ligne 30-35: Fonction d'arrêt pour allumer/éteindre tous les affichages ensemble.
Ligne 38-43: fonction SetIntensity pour régler la luminosité de tous les écrans ensemble.
Ligne 46-51: fonction ClearAll pour effacer tous les affichages ensemble.
Ligne 53-64: joystick Fonction pour obtenir la position des joysticks, les mapper sur les 7 positions possibles de la batte pour frapper la balle puis déplacer la batte vers la nouvelle position.
Ligne 67-435: fonction qui déplace la balle vers le joueur gauche à la hauteur et à la vitesse spécifiées, vérifie si le joueur l'a frappée et continue et définit le statut de crash sur vrai ou fait rebondir la balle, ajoute 1 au score et augmente la vitesse.
Ligne 438-811: fonction qui déplace la balle vers le bon joueur à la hauteur et à la vitesse spécifiées, vérifie si le joueur l'a frappée et continue et définit le statut de crash sur vrai ou fait rebondir la balle, ajoute 1 au score et augmente la vitesse.
Ligne 813-823: Fonction d'affichage d'un smiley, d'une tique, d'une croix ou d'un point d'interrogation sur l'affichage spécifié (0 à droite à 3 à gauche).
Ligne 861-979: Fonction d'affichage des nombres 0-9 à l'affichage spécifié.
Ligne 981-1047: Fonction d'affichage du score à chaque joueur côté de l'écran.
Ligne 1049-1064: Fonction pour vérifier si le lecteur est prêt.
Ligne 1066-1076: Setup Section du code pour le code qui est exécuté une fois au démarrage du programme.
Ligne 1078-1136: section Main Loop pour la logique de jeu où toutes les fonctions sont utilisées et où est décidé qui gagne, puis redémarre le programme après 5 secondes d'affichage du score.
Étape 5: Merci d'avoir lu
Merci d'avoir lu ce Instructable, c'était un projet de verrouillage amusant qui s'est réuni en quelques jours alors que j'en apprenais plus sur la programmation Arduino. Si vous l'avez apprécié, n'hésitez pas à voter pour lui dans le concours Arduino.
Conseillé:
Balle-balle de tennis de table à LED : 16 étapes (avec photos)
Balle de tennis de table à LED : histoire Après avoir construit un panneau plat de balles de tennis de table il y a quelque temps, j'ai commencé à me demander s'il serait possible de faire un panneau 3D à partir de balles de tennis de table. Combiné avec mon intérêt pour la création "art" à partir de formes géométriques récurrentes je
Utilisation de la matrice de points de l'horloge intelligente IoT Wemos ESP8266 - Matrice ESP : 12 étapes (avec images)
Matrice de points d'horloge intelligente IoT Utilisez Wemos ESP8266 - Matrice ESP: Créez votre propre horloge intelligente IoT qui peut: Afficher une horloge avec une belle icône d'animation Afficher Rappel-1 à Rappel-5 Afficher le calendrier Afficher les heures de prière musulmanes Afficher les informations météorologiques Afficher les informations Afficher les informations Afficher les conseils Taux Bitcoin Affichage
Haut-parleur Bluetooth avec matrice de LED réactive à la musique : 12 étapes (avec photos)
Haut-parleur Bluetooth avec matrice de LED réactive à la musique : ce projet est inscrit au concours sans fil et au concours LED - si vous l'aimez, j'apprécierais grandement votre vote. Merci ! J'ai conçu et construit un haut-parleur Bluetooth DIY avec une matrice LED intégrée. La matrice LED comprend un certain nombre de dif
Telesketch Arduino avec matrice Led : 6 étapes (avec photos)
Telesketch Arduino avec matrice Led: Voici juste un guide simple pour créer un telesketch à l'aide d'un Arduino. Cette conception utilise un Arduino, deux matrices LED de 8x32, un buzzer, deux encodeurs rotatifs et quelques boutons. Nous espérons que vous apprendrez à utiliser les encodeurs rotatifs et la matrice LED. Il saute aussi
Lanterne LED Tennis Can : 4 étapes (avec photos)
Lanterne LED Tennis Can : j'ai créé cette lanterne en me promenant dans l'obscurité avec une lumière tactile LED et une boîte de balles de tennis (avec lesquelles je suis connu pour jongler à l'occasion). Il génère une belle lumière rayonnante lorsqu'il est assis sur une table et peut être allumé