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

Construye un Clon Arduboy Tamaño Tarjeta de Crédito con Arduino Nano y OLED I2C

Componentes y suministros

Arduino Nano R3 1
OLED Gráfico 128x64 (I2C) 1
Zumbador 1
Interruptor Táctil Superior 6
LED RGB Difuso Cátodo Común 1
Resistencia 221 ohm 3
Resistencia 10k ohm 1

Herramientas y máquinas necesarias

Sobre este proyecto

Arduboy es una mini consola del tamaño de una tarjeta de crédito. Viene con un juego clásico de 8 bits y se puede reprogramar desde una biblioteca de juegos open source online. Es open source para aprender a programar y crear tus propios juegos. La original usa ATmega32U4 y pantalla OLED 128x64 serie.

La consola que se muestra usa Arduino Nano y la versión I2C del display OLED, más fácil de encontrar y barata. Descarga librerías y código en:

https://github.com/harbaum/Arduboy2

Si tienes impresora 3D, descarga archivos .STL para la carcasa en el mismo sitio. Guía de instalación detallada allí. Se alimenta con Arduino Nano y una batería Li-ion 3.7V, funciona muy bien.

Probé muchos juegos, todos funcionan genial:

El esquema se muestra abajo. Como ejemplo presento el código de ArduBreakout, pero puedes descargar cualquier juego compatible del sitio de Arduboy.

Código

Juego ArduBreakout

/* Breakout Copyright (C) 2011 Sebastian Goscik. Modificaciones por Scott Allen 2016.
 * Licencia GNU LGPL v2.1 o posterior.
 */
#include <Arduboy2.h>

#define EE_FILE 2 // Bloque EEPROM para high scores
Arduboy2 arduboy;
BeepPin1 beep;

const unsigned int FRAME_RATE = 40;
const unsigned int COLUMNS = 13;
const unsigned int ROWS = 4;

int dx = -1, dy = -1; // Movimiento inicial bola
int xb, yb;           // Posición inicial bola
boolean released;     // Bola liberada por jugador
boolean paused = false;
byte xPaddle;         // Posición X pala
boolean isHit[ROWS][COLUMNS]; // Ladrillos golpeados
boolean bounced = false;
byte lives = 3;
byte level = 1;
unsigned int score = 0;
unsigned int brickCount;
boolean pad, pad2, pad3; // Buffer botones para evitar repetición pausa
boolean oldpad, oldpad2, oldpad3;
char text_buffer[16];
boolean start = false;      // Menú o juego
boolean initialDraw = false;
char initials[3];           // Iniciales high score

// Límites bola y ladrillos para colisiones
byte leftBall, rightBall, topBall, bottomBall;
byte leftBrick, rightBrick, topBrick, bottomBrick;
byte tick;

void setup() {
  arduboy.begin();
  beep.begin();
  arduboy.setFrameRate(FRAME_RATE);
  arduboy.initRandomSeed();
}

void loop() {
  if (!(arduboy.nextFrame())) return;
  beep.timer();
  
  // Pantalla título y high scores hasta presionar FIRE
  while (!start) {
    start = titleScreen();
    if (!start) start = displayHighScores(EE_FILE);
  }
  
  // Dibujo inicial nivel
  if (!initialDraw) {
    arduboy.clear();
    level = 1;
    newLevel();
    score = 0;
    initialDraw = true;
  }
  
  if (lives > 0) {
    drawPaddle();
    // Pausa si FIRE presionado
    pad = arduboy.pressed(A_BUTTON) || arduboy.pressed(B_BUTTON);
    if (pad && !oldpad && released) {
      oldpad2 = false;
      pause();
    }
    oldpad = pad;
    
    drawBall();
    if (brickCount == ROWS * COLUMNS) {
      level++;
      newLevel();
    }
  } else {
    drawGameOver();
    if (score > 0) enterHighScore(EE_FILE);
    arduboy.clear();
    initialDraw = false;
    start = false;
    lives = 3;
    newLevel();
  }
  arduboy.display();
}

// ... (resto del código completo en el repositorio GitHub)

Nota: El código completo está disponible en el repositorio. Aquí se muestra un extracto representativo.

Piezas personalizadas y cajas

Esquemáticos

Esquema del circuito disponible en el repositorio del proyecto.

Proceso de manufactura

  1. Integración I2C Fluida entre Arduino y Raspberry Pi 2 para Proyectos IoT con Sensores
  2. Construye una Consola de Juegos Portátil con el Clon Arduboy
  3. Construya el clásico juego Pong en Arduino UNO con pantalla OLED: Tutorial paso a paso
  4. Monitor de Temperatura y Reloj en Tiempo Real con Arduino Due y Pantalla TFT 3.2"
  5. Sensor de obstáculos IR casero con Arduino – Tutorial fácil con LED IR y fotodiodo
  6. Proyecto HMI Interactivo con Nextion, Arduino Mega y Múltiples Sensores
  7. Controla Dos Motores Paso a Paso con Arduino Nano y Joystick - Tutorial Sencillo
  8. Construye un voltímetro DIY con Arduino y pantalla Nokia 5110 – Guía paso a paso
  9. Autómatas Celulares en Tiempo Real con Arduino y Pantalla OLED 128x64
  10. Contador Geiger Portátil con Arduino Nano: Construye tu Detector de Radiación
  11. Circuito de entrada analógica aislada para Arduino