Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Jogo Snake LED Matrix

Componentes e suprimentos

Arduino Proto Shield
× 1
Arduino UNO
× 1
Joystick analógico (genérico)
Este é um joystick preto normal
× 1
Cabos de jumper masculino / feminino
× 1
Matriz de LED SparkFun - 8x7
Esta é apenas uma matriz 8 * 8 LED normal (não RGB)
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Fiz um console de jogo legal com um conjunto Meccanoid e Erector como moldura e usei Sergey Royz código (CHECK IT OUT) e eu adicionei coisas extras nele e aumentei a velocidade para que ele se movesse suavemente. Não vou explicar como fazer a moldura, mas recomendo que você faça sua própria moldura. Mas você precisa de uma moldura. Divirta-se com isso faça o que quiser. ESPERO QUE VOCÊ GOSTE DESTE PROJETO! Comente se você tiver uma pergunta e eu espero poder respondê-la o mais rápido possível e se você tiver alguma recomendação para meu próximo projeto, por favor, comente e me diga. Além disso, meu fritzing não estava funcionando, então vou apenas dizer a vocês:





Esquemas:


Anexe a blindagem ao Arduino Uno para que você tenha mais tomadas GND e 5v sem usar uma placa de ensaio.





Matriz:

  • VCC para 5V Arduino
  • GND para GND Arduino
  • DIN para pino digital 10 no Arduino
  • CS para pino digital 9 no Arduino
  • CLK para pino digital 8 no Arduino





Joystick:

  • Pin Gnd para Gnd no Arduino
  • + 5v a 5V no Arduino
  • VRX para A0 no Arduino
  • VRY para A1 no Arduino
  • SW para pino digital 2

Código

  • Cobra
Snake C / C ++
Tudo o que você precisa fazer é copiar e colar o código
 / ** * Snake * Implementação do clássico jogo Snake * onde a cobra se move constantemente e o jogador * tem que evitar interseções com ela mesma e bordas. * Quando a cobra come comida, ela cresce e acelera um pouco. * * 23 de junho de 2016 * por Sergey Royz e hunter Buzzell * / # include  / * Joystick PINs * / # 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 cobra [SIZE * SIZE] [2]; int comprimento; 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; metade int =TAMANHO / 2; comprimento =SIZE / 3; para (int i =0; i  =SIZE) {delay (1000); showGameOverMessage (); return true; } if (head [1] <0 || head [1]> =SIZE) {delay (1000); showGameOverMessage (); return true; } para (int i =0; i  =0; i--) {cobra [i + 1] [0] =cobra [i] [0]; cobra [i + 1] [1] =cobra [i] [1]; } cobra [0] [0] + =v [0]; cobra [0] [1] + =v [1]; return false;} void setup () {pinMode (SW, INPUT_PULLUP); pinMode (VRX, INPUT); pinMode (VRY, INPUT); attachInterrupt (digitalPinToInterrupt (SW), reiniciar, RISING); lc.shutdown (0, falso); lc.setIntensity (0, 8); init_game (); render ();} void loop () {if (! is_game_over) {clearScreen (); render (); if (current_time - prev_advance> ADVANCE_DELAY) {is_game_over =advance (); prev_advance =current_time; }} else {while (blink_count> 0) {clearScreen (); atraso (300); render (); atraso (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; } if (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,0,1,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,1,0,0,0,0,0,0,0,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,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,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,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,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,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0 , 0,1,1,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0 , 0,1,1,0,0,1,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,1,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0 , 1,1,0,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,0,1,1,0,0,1,1,0,0,1,1,0,0,1 , 1,0,0,1,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,1,1,0,1,1,1,0,0,1,1 , 0,0,1,1,0, 0,1,1,0,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0,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,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,0, 1,1,0,0,1,1,0,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,0,0,1,1,0,0,1,1,0,0,0,1,1,1,1, 0,0,0,1,1,0,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,1,1,1,1,1,0,0,0,1,1, 0,0,1,1,0,0,1,1,1,0,0,0,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0, 0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,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  

Processo de manufatura

  1. Controlador de jogo Arduino
  2. Jogo Arduino Pong em Matriz 24x16 com MAX7219
  3. Jogo Arduino Nano Tetris em Matriz 16x8 caseira
  4. Arduino com Bluetooth para controlar um LED!
  5. Matriz LED + Display da porta do sensor de movimento [Arduino Holiday]
  6. Arduino Quadruped
  7. Jogo Pixel Chaser
  8. Relógio giratório Arduino de matriz de LED único
  9. Arduino RGB Color Mixer
  10. Controlando uma matriz de LED com Arduino Uno