Uno R3 Spielekonsole basteln - AZ-Delivery

Avec ce blog, nous voulons vous montrer comment votre Arduino peut être utilisé avec le Joystick Gamepad Shield et le Nokia Display. Nous vous laissons voir à l'écran quelle est la position de la manette de Joystick et quelles sont les touches enfoncées.

Nous avons besoin de cela.

  • Microcontrôleur compatible avec Arduino Uno R3
  • Joystick Gamepad Shield
  • Nokia 5880 Display

Pour ce qui est de la condition de base, il y a bien sûr toujours un PC avec le logiciel Arduo et un outil (le fer à souder ...)

L'affichage doit être le premier d'une barre à 8 broches à 8 broches:

Ensuite, nous pouvons rassembler les trois composants l'un vers l'autre:

 

 

Maintenant, nous nous débarrassons de la programmation.
Comme d'habitude, nous avons besoin de nouvelles bibliothèques.

Pour ce faire, nous allons commencer dans la bibliothèque Arduino-IDE Sketch > Gérer une bibliothèque ... "Gérer les bibliothèques ..."

Dans la gestion des bibliothèques, nous recherchons Adafruit PCD8544 et installez le package:

En bref, le paquet est INSTALLED:

C'est ce que nous répétons avec Adafruit GFX:

 

Maintenant, nous pouvons créer le code (ici, vous pouvez le faire. téléchargement)

 

#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <Wire.h>
#include <SPI.h>

#define RST 12
#define CE  13
#define DC  11
#define DIN  10
#define CLK  9
#define LED 8

const octets PIN_BUTTON_A = 2; 
const octets PIN_BUTTON_B = 3;
const octets PIN_BUTTON_C = 4;
const octets PIN_BUTTON_D = 5;
const octets PIN_BUTTON_E = 6;
const octets PIN_BUTTON_F = 7;

const octets PIN_ANALOG_X = 0;
const octets PIN_ANALOG_Y = 1;

Adafruit_PCD8544 display = Adafruit_PCD8544(CLK, DIN, DC, CE, RST);

int valX = 0;
int valy = 0;

void setup() {   série.begin(9600);   display.begin();   display.setContrast(64);   display.clearDisplay();      display.setTextSize(1);   display.setTextColor(NOIR);   display.drawRoundRect(0, 0, 44, 24, 3, 2);   display.setCursor(6, 3);   display.println("-X-");     display.setCursor(5, 14);   display.println(" ");    display.setCursor(29, 14);       display.drawRoundRect(45, 0, 39, 24, 3, 2);   display.setCursor(50,3);     display.println("-Y-");   display.setCursor(50,14);    display.println(" ");        display.drawRoundRect(0, 25, 84, 23, 3, 2);   display.setCursor(6, 28);    display.println("-TOUCHES-");   display.setCursor(10, 38);   display.println(" ");    display.display();   Délay(1000);   rose(LED, SORTIES);   digitalWrite(LED, LOW);   rose(PIN_BUTTON_A, INTRANTS);     digitalWrite(PIN_BUTTON_A, ÉLEVÉ);        rose(PIN_BUTTON_B, INTRANTS);     digitalWrite(PIN_BUTTON_B, ÉLEVÉ);     rose(PIN_BUTTON_C, INTRANTS);     digitalWrite(PIN_BUTTON_C, ÉLEVÉ);     rose(PIN_BUTTON_D, INTRANTS);     digitalWrite(PIN_BUTTON_D, ÉLEVÉ);     rose(PIN_BUTTON_E, INTRANTS);     digitalWrite(PIN_BUTTON_E, ÉLEVÉ);     rose(PIN_BUTTON_F, INTRANTS);     digitalWrite(PIN_BUTTON_F, ÉLEVÉ);   }

void boucle()
{   display.fillRect(4, 37, 72, 10, 0);   display.setCursor(8, 38);   série.print("Touche A:");   série.print(numérisé(PIN_BUTTON_A));   série.print(" ");   if (numérisé(PIN_BUTTON_A)==LOW)   {     display.print("A");   }   else     display.print("- ");     série.print("B:");   série.print(numérisé(PIN_BUTTON_B));   série.print(" ");   if (numérisé(PIN_BUTTON_B)==LOW)   {     display.print("B");   }   else     display.print("- ");     série.print("C:");   série.print(numérisé(PIN_BUTTON_C));   série.print(" ");   if (numérisé(PIN_BUTTON_C)==LOW)   {     display.print("C");   }   else     display.print("- ");     série.print("D:");   série.print(numérisé(PIN_BUTTON_D));   série.print(" ");   if (numérisé(PIN_BUTTON_D)==LOW)   {     display.print("D");   }   else     display.print("- ");   série.print("E:");   série.print(numérisé(PIN_BUTTON_E));   série.print(" ");   if (numérisé(PIN_BUTTON_E)==LOW)   {     display.print("E");   }   else     display.print("- ");     série.print("F:");   série.print(numérisé(PIN_BUTTON_F));   série.imprimer(" -- ");   si (digitalRead(PIN_BUTTON_F)==FAIBLE)   {     affichage.imprimer("F");   }   d'autre     affichage.imprimer("- ");   affichage.println();      valX = analogRead(PIN_ANALOG_X);   valY = analogRead(PIN_ANALOG_Y);     affichage.fillRect(4, 13, 25 , 10, 0);   affichage.setCursor(4, 14);   affichage.println(valX, 1);        affichage.fillRect(50, 13, 23 , 10, 0);   affichage.setCursor(50, 14);   affichage.println(valY, 1);       Série.imprimer("Position X:");   Série.imprimer(valX);   Série.imprimer(", ");   Série.imprimer("Y:");   Série.imprimer(valY);   Série.imprimer(" ");     Série.println();   affichage.affichage();      retard(200);
}



Nous l'avons fait, notre "console de jeu" est en marche. Nous pouvons maintenant afficher les boutons et la position du joystick:

 

 

AVIS IMPORTANT:

Il existe différentes versions de l'écran du Nokia 5110 qui ont des affectations de broches différentes. Si vous avez une affectation incorrecte des broches, l'affichage ne fonctionnera pas, votre rétro-éclairage peut scintiller.

Si votre brochage ne fonctionne pas sur le bouclier de la manette de jeu du joystick, vérifiez votre brochage et utilisez des lignes de cavalier pour connecter votre écran:

Le brochage est le suivant:

Bouclier Affichage
3V3 VCC
GND GND
D13 CE
D12 RST
D11 DC
D10 DIN
D9 CLK
3V3 pas connecté
CLÉ Lumière

 

Nous vous souhaitons beaucoup de plaisir avec le bouclier du joystick et l'écran et écrivez dans les commentaires ce que vous avez développé avec.

DisplaysFür arduinoProjekte für fortgeschrittene

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Articles de blog recommandés

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery