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.