Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Jeu de matrice à DEL Serpent

Composants et fournitures

Arduino Proto Shield
× 1
Arduino UNO
× 1
Joystick analogique (Générique)
Ceci est un joystick noir normal
× 1
Câbles de raccordement mâle/femelle
× 1
SparkFun LED Array - 8x7
Ceci est juste une matrice LED 8 * 8 normale (pas RVB)
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

J'ai fait une console de jeu sympa à partir d'un ensemble Meccanoid et Erector comme cadre et j'ai utilisé Sergey Royz code (VÉRIFIEZ-LE) et j'y ai ajouté des éléments supplémentaires et augmenté la vitesse pour qu'il se déplace en douceur. Je ne vais pas vous expliquer comment faire le cadre mais je vous recommande de faire votre propre cadre. Mais vous avez besoin d'un cadre. Amusez-vous avec cela, faites ce que vous voulez. J'ESPERE QUE CE PROJET VOUS AIME ! Commentez si vous avez une question et j'espère pouvoir y répondre dès que possible et si vous avez des recommandations pour mon prochain projet, veuillez commenter et me le dire. De plus, mon frittage ne fonctionnait pas, alors je vais juste vous dire :

Schémas :

Fixez le blindage à l'Arduino Uno afin d'avoir plus de prises GND et 5v sans utiliser de maquette.

Matrice :

  • VCC vers 5V Arduino
  • GND à GND Arduino
  • DIN vers broche numérique 10 sur Arduino
  • CS vers la broche numérique 9 sur Arduino
  • CLK vers la broche numérique 8 sur Arduino

Joystick :

  • Broche Gnd à Gnd sur Arduino
  • +5v à 5V sur Arduino
  • VRX vers A0 sur Arduino
  • VRY vers A1 sur Arduino
  • SW vers la broche numérique 2

Code

  • Serpent
SerpentC/C++
Tout ce que vous avez à faire est de copier et coller le code
/** * Snake * Implémentation du jeu Snake classique * où le serpent bouge constamment et le joueur * doit éviter les intersections avec lui-même et les frontières. * Lorsque le serpent mange de la nourriture, il grandit et accélère un peu. * * 23 juin 2016 * par Sergey Royz et le chasseur Buzzell */#include /* PINs du joystick */#define VRX A0#define VRY A1#define SW 2/* Display PINs */#define CLK 8# define CS 9#define DIN 10#define SIZE 8#define ADVANCE_DELAY 20int snake[SIZE*SIZE][2];int length;int food[2], v[2];bool is_game_over =false;long current_time;long prev_advance; int blink_count;const short messageSpeed ​​=5;LedControl lc =LedControl(DIN, CLK, CS, 1);void init_game() { prev_advance =current_time =0; blink_count =3 ; entier demi =TAILLE / 2 ; longueur =TAILLE / 3; for (int i =0; i =SIZE) { delay(1000); showGameOverMessage(); renvoie vrai ; } if (head[1] <0 || head[1]>=SIZE) { delay(1000); showGameOverMessage(); renvoie vrai ; } for (int i =0; i =0; i--) { serpent[i + 1][0] =serpent[i][0]; serpent[i + 1][1] =serpent[i][1] ; } serpent[0][0] +=v[0]; serpent[0][1] +=v[1]; return false;}void setup() { pinMode(SW, INPUT_PULLUP); pinMode(VRX, ENTREE); pinMode(VRY, INPUT); attachInterrupt(digitalPinToInterrupt(SW), redémarrage, RISING); lc.shutdown(0, faux); lc.setIntensity(0, 8); init_game(); render();}void loop() { if (!is_game_over) { clearScreen(); rendre(); if (current_time - prev_advance> ADVANCE_DELAY) { is_game_over =advance(); prev_advance =current_time; } } else { while (blink_count> 0) { clearScreen(); retard (300); rendre(); retard (300); blink_count--; } } readControls(); current_time++;}void restart() { init_game(); is_game_over =false;}void readControls() { int dx =map(analogRead(VRX), 0, 906, 2, -2); int dy =map(analogRead(VRY), 0, 906, -2, 2); if (dx !=0) {dx =dx / abs(dx);} if (dy !=0) {dy =dy / abs(dy);} if (dy !=0 &&v[0] !=0 ) { v[0] =0; v[1] =dy ; } si (dx !=0 &&v[1] !=0) { v[0] =dx; v[1] =0 ; }}const PROGMEM bool gameOverMessage[8][90] ={ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0 ,0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0 ,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0 ,1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0 ,1,1,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1,1,0,0,1 ,1,0,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,1,0,0,1,1,0,0,0 ,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1 ,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0 ,0}, {0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0 ,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0 ,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0 ,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0 ,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0 ,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1 ,1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0 ,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0,1,1 ,0,0,1,1,0, 0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0, 0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,1, 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0, 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0, 1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1,1, 0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1, 0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,1,0,0,0,0, 0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,0, 0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}} ; void showGameOverMessage() { for (int d =0; d  

Processus de fabrication

  1. Contrôleur de jeu Arduino
  2. Jeu Arduino Pong sur matrice 24x16 avec MAX7219
  3. Jeu Arduino Nano Tetris sur matrice 16x8 maison
  4. Arduino avec Bluetooth pour contrôler une LED !
  5. Affichage de porte à matrice LED + détecteur de mouvement [Arduino Holiday]
  6. Arduino quadrupède
  7. Jeu Pixel Chaser
  8. Horloge à bascule Arduino à matrice LED unique
  9. Mixeur de couleurs Arduino RVB