Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Juego de matriz de LED de serpiente

Componentes y suministros

Arduino Proto Shield
× 1
Arduino UNO
× 1
Joystick analógico (genérico)
Este es un joystick negro normal
× 1
Cables de puente macho / hembra
× 1
Matriz de LED SparkFun - 8x7
Esto es solo una matriz normal de 8 * 8 LED (no una RGB)
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Hice una consola de juegos genial con un juego de Meccanoid y Erector como marco y usé Sergey Royz código (COMPRUEBE) y agregué cosas adicionales y aumenté la velocidad para que se moviera sin problemas. No te voy a explicar cómo hacer el marco pero te recomiendo que hagas tu propio marco. Pero necesitas un marco. Diviértete con esto haz lo que quieras. ¡ESPERO QUE LE GUSTE ESTE PROYECTO! Comente si tiene alguna pregunta y espero poder responderla lo antes posible y si tiene alguna recomendación para mi próximo proyecto, por favor comente y dígame. Además, mi fritzing no funcionaba, así que solo te diré:

Esquemas:

Conecte el protector al Arduino Uno para que tenga más tomacorrientes GND y 5v sin usar una placa de pruebas.

Matriz:

  • VCC a 5V Arduino
  • GND a GND Arduino
  • DIN a pin digital 10 en Arduino
  • CS al pin digital 9 en Arduino
  • CLK al pin digital 8 en Arduino

Joystick:

  • Pin de Gnd a Gnd en Arduino
  • + 5v a 5V en Arduino
  • VRX a A0 en Arduino
  • VRY a A1 en Arduino
  • SW al pin digital 2

Código

  • Serpiente
Serpiente C / C ++
Todo lo que tienes que hacer es copiar y pegar el código
 / ** * Snake * Implementación del clásico juego Snake * donde la serpiente se mueve constantemente y el jugador * tiene que evitar cruces consigo mismo y fronteras. * Cuando la serpiente come comida, crece y se acelera un poco. * * 23 de junio de 2016 * por Sergey Royz y el cazador Buzzell * / # incluye  / * PIN de joystick * / # define VRX A0 # define VRY A1 # define SW 2 / * Muestra PIN * / # define CLK 8 # define CS 9 # define DIN 10 # define SIZE 8 # define ADVANCE_DELAY 20int serpiente [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; int half =TAMAÑO / 2; longitud =TAMAÑO / 3; for (int i =0; i  =TAMAÑO) {retraso (1000); showGameOverMessage (); devuelve verdadero; } si (cabeza [1] <0 || cabeza [1]> =TAMAÑO) {retraso (1000); showGameOverMessage (); devuelve verdadero; } for (int i =0; i  =0; i--) {serpiente [i + 1] [0] =serpiente [i] [0]; serpiente [i + 1] [1] =serpiente [i] [1]; } serpiente [0] [0] + =v [0]; serpiente [0] [1] + =v [1]; return false;} void setup () {pinMode (SW, INPUT_PULLUP); pinMode (VRX, ENTRADA); pinMode (VRY, ENTRADA); attachInterrupt (digitalPinToInterrupt (SW), reiniciar, RISING); lc.shutdown (0, falso); lc.setIntensity (0, 8); init_game (); render ();} bucle vacío () {if (! is_game_over) {clearScreen (); hacer(); if (hora_actual - avance_anterior> FECHA_ADVANCE) {is_game_over =avance (); prev_advance =current_time; }} else {while (blink_count> 0) {clearScreen (); retraso (300); hacer(); retraso (300); blink_count--; }} readControls (); tiempo_actual ++;} reinicio vacío () {juego_inicio (); is_game_over =false;} vacío 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,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,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,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,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,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, 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,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,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   

Proceso de manufactura

  1. Controlador de juego Arduino
  2. Juego Arduino Pong en Matrix 24x16 con MAX7219
  3. Arduino Nano Tetris Game en una matriz casera de 16x8
  4. ¡Arduino con Bluetooth para controlar un LED!
  5. Matriz LED + Pantalla de puerta con sensor de movimiento [Arduino Holiday]
  6. Arduino Cuadrúpedo
  7. Pixel Chaser Game
  8. Reloj Flip Arduino de matriz de un solo LED
  9. Mezclador de colores Arduino RGB
  10. Controlar una matriz de LED con Arduino Uno
  11. Juego DIY Arduino 1D Pong con tira de LED WS2812