Uno R3 Spielekonsole basteln - AZ-Delivery

Met dit Blog willen we u tonen hoe te maken van je Arduino met de Joystick, Gamepad Schild en de Nokia Display van toepassing kan. Wij, op de Display, wat is de Positie van de Joystick heeft, en welke toetsen zijn ingedrukt.

Hebben We nodig:

  • een compatibele microcontroller met Arduino Uno R3
  • Joystick Gamepad Schild
  • Nokia 5880 Display

Aan de basisvoorwaarde is natuurlijk altijd een PC met de Arduino-software en een aantal tools (soldeerbout...)

Voor het Scherm, de eerste is voorzien van een pin-bar met 8 Pennen worden gesoldeerd:

en Dan kunnen we alle 3 de onderdelen samen:

 

 

Nu we met het programma los.
Zoals gebruikelijk hebben we een paar nieuwe bibliotheken:

om dit Te doen, beginnen we in de Arduino-IDE "Schets > bibliotheek insluiten > bibliotheken beheren..."

In de bibliotheek management zijn wij op zoek naar Adafruit PCD8544 en installeren van het pakket:

Kort, wordt het pakket GEÏNSTALLEERD is:

Dit herhalen we met de Adafruit GFX:

 

Nu kunnen we de Code aan te maken (Hier gaat het om de Download)

 

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

#define EERSTE 12
#define CE  13
#define DC  11
#define DIN  10
#define CLK  9
#het definiëren van LED - 8

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

const byte PIN_ANALOG_X = 0;
const byte PIN_ANALOG_Y = 1;

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

int valX = 0;
, int valy is een andere = 0;

void setup() {   Seriële.beginnen met het(9600);   display.begint();   display.setContrast(64);   display.clear screen();      display.setText grootte(1);   display.setText kleur(ZWART);   scherm.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("- KNOPPEN -");   display.setCursor(10, 38);   display.println(" ");    display.display();   vertraging(1000);   pinMode(LED, OUTPUT);   digitalWrite(LED, LAGE);   pinMode(PIN_BUTTON_A, INGANG);     digitalWrite(PIN_BUTTON_A, HOGE);        pinMode(PIN_BUTTON_B, INGANG);     digitalWrite(PIN_BUTTON_B, HOGE);     pinMode(PIN_BUTTON_C, INGANG);     digitalWrite(PIN_BUTTON_C, HOGE);     pinMode(PIN_BUTTON_D, INGANG);     digitalWrite(PIN_BUTTON_D, HOGE);     pinMode(PIN_BUTTON_E, INGANG);     digitalWrite(PIN_BUTTON_E, HOGE);     pinMode(PIN_BUTTON_F, INGANG);     digitalWrite(PIN_BUTTON_F, HOGE);   }

void loop()
{   display.fillRect(4, 37, 72, 10, 0);   display.setCursor(8, 38);   Serieel.afdrukken("- knop:"Een);   Serieel.afdrukken van(digitale lezen(PIN_BUTTON_A));   Seriële.print(" ");   als (digitaal lezen(PIN_BUTTON_A)==LAGE)   {     display.print("A ");   }   anders     display.print("- ");     Serieel.afdrukken("B:");   Serieel.afdrukken van(digitale lezen(PIN_BUTTON_B));   Seriële.print(" ");   als (digitaal lezen(PIN_BUTTON_B)==LAGE)   {     display.print("B ");   }   anders     display.print("- ");     Serieel.afdrukken("C:");   Serieel.afdrukken van(digitale lezen(PIN_BUTTON_C));   Seriële.print(" ");   als (digitaal lezen(PIN_BUTTON_C)==LAGE)   {     display.print("C ");   }   anders     display.print("- ");     Serieel.afdrukken("D:");   Serieel.afdrukken van(digitale lezen(PIN_BUTTON_D));   Seriële.print(" ");   als (digitaal lezen(PIN_BUTTON_D)==LAGE)   {     display.print("D ");   }   anders     display.print("- ");   Serieel.afdrukken("E:");   Serieel.afdrukken van(digitale lezen(PIN_BUTTON_E));   Seriële.print(" ");   als (digitaal lezen(PIN_BUTTON_E)==LAGE)   {     display.print("E ");   }   anders     display.print("- ");     Serieel.afdrukken("F:");   Serieel.afdrukken van(digitale lezen(PIN_BUTTON_F));   Seriële.afdrukken(" -- ");   als (digitaal lezen(PIN_BUTTON_F)==LAAG)   {     weer te geven.afdrukken("F");   }   anders     weer te geven.afdrukken("- ");   weer te geven.println();      valX = analoog(PIN_ANALOG_X);   valY = analoog(PIN_ANALOG_Y);     weer te geven.fillRect(4, 13, 25 , 10, 0);   weer te geven.setCursor(4, 14);   weer te geven.println(valX, 1);        weer te geven.fillRect(50, 13, 23 , 10, 0);   weer te geven.setCursor(50, 14);   weer te geven.println(valY, 1);       Serie.afdrukken("Positie X:");   Serie.afdrukken(valX);   Serie.afdrukken(", ");   Serie.afdrukken("Y:");   Serie.afdrukken(valY);   Serie.afdrukken(" ");     Serie.println();   weer te geven.weer te geven();      vertraging(200);
}



We hebben het gehaald, onze "gameconsole" is actief. We kunnen nu de knoppen en de positie van de joystick weergeven:

 

 

BELANGRIJKE MEDEDELING:

Er zijn verschillende versies van het Nokia 5110-display met verschillende pintoewijzingen. Als u een onjuiste pintoewijzing heeft, werkt het display niet, kan uw achtergrondverlichting flikkeren.

Als uw pinout niet werkt op het gamepadscherm van de joystick, controleer dan uw pinout en gebruik jumperlijnen om uw display te verbinden:

De pinout is als volgt:

Schild Weer te geven
3V3 VCC
GND GND
D13 CE
D12 RST
D11 DC
D10 DIN
D9 CLK
3V3 niet verbonden
SLEUTEL LICHT

 

We wensen je veel plezier met het joystickscherm en het display en schrijf in de reacties wat je ermee hebt ontwikkeld.

DisplaysFür arduinoProjekte für fortgeschrittene

Laat een reactie achter

Alle opmerkingen worden voor publicatie gecontroleerd door een moderator

Aanbevolen blogberichten

  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