Crear consola de juegos Uno R3

Con este blog, queremos mostrarle cómo usar su escudo de manija y el monitor de Nokia.Mostramos la posición y el botón de la palanca en la pantalla.

Necesitamos:

  • Microcontroladores compatibles con Ardino un R3
  • Escudo de manija.
  • Nokia 5880

Por supuesto, los requisitos básicos siempre incluyen un pc con el programa informático Ardino y algunas herramientas.

Lo primero que hay que hacer en el monitor es soldar un pie de tubo con ocho pies de tubo:

Entonces podemos poner las tres partes juntas:

 

 

Ahora comenzaremos la programación.
Como siempre, necesitamos una nueva biblioteca:

Para ello comenzamos con arduino IDE "Sketch & gt; include Library & gt; Manage Libraries...".

En la gestión de bibliotecas, buscamos adafruit pcdd8544 e instalamos paquetes de programas:

Poco después se instaló el programa:

Repetimos esto con adafruit gfx:

 

Ahora podemos crear el Código. Descargar)

 

35; incluye <Fruta gfx.Hora>
35; incluye <Adaflit pcd8544.Hora>
35; incluye <Cableado.Hora>
35; incluye <Proteína de separación.Hora>

- definición. Rst. 12
- definición. Canadá  13
- definición. D, C.  11
- definición. Normas industriales de Alemania  10
- definición. CLK Corporation  9
- definición. Diodos luminosos 8

Constante Intercambio Botón fijo = 2; 
Constante Intercambio Botón B = 3;
Constante Intercambio Botón C = 4;
Constante Intercambio Botón D = 5;
Constante Intercambio Botón e = 6;
Constante Intercambio Botón fijo F = 7;

Constante Intercambio Simulación X = 0;
Constante Intercambio Modelo y = 1;

Adaflit pcd8544 Mostrar = Adaflit pcd8544(CLK Corporation, Normas industriales de Alemania, D, C., Canadá, Rst.);

Interior Valor = 0;
Interior Sí. = 0;

Vacío. Configuración() {   Transporte.Iniciar(9600);   Mostrar.Iniciar();   Mostrar.Grado de contraste(64);   Mostrar.Limpiar();      Mostrar.Tamaño de setas(1);   Mostrar.Settextcolor Company(Negro);   Mostrar.Draw roundrect(0, 0, 44, 24, 3, 2);   Mostrar.Establecer cursor(6, 3);   Mostrar.Imprimir(- "X -");     Mostrar.Establecer cursor(5, 14);   Mostrar.Imprimir(" ");    Mostrar.Establecer cursor(29, 14);       Mostrar.Draw roundrect(45, 0, 39, 24, 3, 2);   Mostrar.Establecer cursor(50,3);     Mostrar.Imprimir(- y - - ");   Mostrar.Establecer cursor(50,14);    Mostrar.Imprimir(" ");        Mostrar.Draw roundrect(0, 25, 84, 23, 3, 2);   Mostrar.Establecer cursor(6, 28);    Mostrar.Imprimir(- "sabores" - sabores - - ");   Mostrar.Establecer cursor(10, 38);   Mostrar.Imprimir(" ");    Mostrar.Mostrar();   Retraso(1000);   Modo pinmode(Diodos luminosos, Salida);   Escritura digital(Diodos luminosos, Bajo);   Modo pinmode(Botón fijo, Entrada);     Escritura digital(Botón fijo, Alto);        Modo pinmode(Botón B, Entrada);     Escritura digital(Botón B, Alto);     Modo pinmode(Botón C, Entrada);     Escritura digital(Botón C, Alto);     Modo pinmode(Botón D, Entrada);     Escritura digital(Botón D, Alto);     Modo pinmode(Botón e, Entrada);     Escritura digital(Botón e, Alto);     Modo pinmode(Botón fijo F, Entrada);     Escritura digital(Botón fijo F, Alto);   }

Vacío. Correr()
{   Mostrar.Filerect Inc.(4, 37, 72, 10, 0);   Mostrar.Establecer cursor(8, 38);   Transporte.Imprimir("Clave a:");   Transporte.Imprimir(Lectura digital(Botón fijo));   Transporte.Imprimir(" ");   Si (Lectura digital(Botón fijo)==Bajo)   {     Mostrar.Imprimir("I");   }   Hora prevista de despegue     Mostrar.Imprimir("- ");     Transporte.Imprimir(B:);   Transporte.Imprimir(Lectura digital(Botón B));   Transporte.Imprimir(" ");   Si (Lectura digital(Botón B)==Bajo)   {     Mostrar.Imprimir("B");   }   Hora prevista de despegue     Mostrar.Imprimir("- ");     Transporte.Imprimir(C:);   Transporte.Imprimir(Lectura digital(Botón C));   Transporte.Imprimir(" ");   Si (Lectura digital(Botón C)==Bajo)   {     Mostrar.Imprimir("C");   }   Hora prevista de despegue     Mostrar.Imprimir("- ");     Transporte.Imprimir(D:);   Transporte.Imprimir(Lectura digital(Botón D));   Transporte.Imprimir(" ");   Si (Lectura digital(Botón D)==Bajo)   {     Mostrar.Imprimir("D");   }   Hora prevista de despegue     Mostrar.Imprimir("- ");   Transporte.Imprimir(E:);   Transporte.Imprimir(Lectura digital(Botón e));   Transporte.Imprimir(" ");   Si (Lectura digital(Botón e)==Bajo)   {     Mostrar.Imprimir(Y);   }   Hora prevista de despegue     Mostrar.Imprimir("- ");     Transporte.Imprimir(F:);   Transporte.Imprimir(Lectura digital(Botón fijo F));   Transporte.imprimir(" -- ");   si (digitalRead(PIN_BUTTON_F)==BAJA)   {     exhibir.imprimir("F");   }   otra cosa     exhibir.imprimir("- ");   exhibir.println();      valX = analogRead(PIN_ANALOG_X);   valY = analogRead(PIN_ANALOG_Y);     exhibir.fillRect(4, 13, 25 , 10, 0);   exhibir.setCursor(4, 14);   exhibir.println(valX, 1);        exhibir.fillRect(50, 13, 23 , 10, 0);   exhibir.setCursor(50, 14);   exhibir.println(valY, 1);       De serie.imprimir("Posición X:");   De serie.imprimir(valX);   De serie.imprimir(", ");   De serie.imprimir("Y:");   De serie.imprimir(valY);   De serie.imprimir(" ");     De serie.println();   exhibir.exhibir();      retrasar(200);
}



Lo logramos, nuestra "consola de juegos" se está ejecutando. Ahora podemos mostrar los botones y la posición del joystick:

 

 

AVISO IMPORTANTE:

Existen diferentes versiones de la pantalla del Nokia 5110 que tienen diferentes asignaciones de pines. Si tiene una asignación de pin incorrecta, la pantalla no funcionará, su luz de fondo puede parpadear.

Si su pinout no funciona en el escudo del joystick gamepad, verifique su pinout y use líneas de puente para conectar su pantalla:

El pinout es el siguiente:

Escudo Display
3V3 VCC
GND GND
D13 CE
D12 RST
D11 DC
D10 DIN
D9 CLK
3V3 no conectado
Clave LUZ

 

Le deseamos mucha diversión con el protector del joystick y la pantalla y escriba en los comentarios lo que ha desarrollado con él.

MuestraPara arduinoProjekte für fortgeschrittene

Deja un comentario

Todos los comentarios son moderados antes de ser publicados

Artículos de blog

  1. Ahora instalamos el esp32 a través de la administración.
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. Transporte Aéreo - programación de ESP mediante redes locales inalámbricas