Module joystick V1.A
FunduinoDernière mise à jour le
Sechs Taster und einen Joystick auf einem Shield auslesen
Das Joystick-Shield V1.A
Betriebsspannung und Wertebereich
Die Pinbelegung
Das Programm
Taster und Joystickposition im Seriellen Monitor ausgeben
const byte KnopfA = 2; // Die Variablen werden deklariert
const byte KnopfB = 3; // Wir verwenden die Deklaration "const byte", da die einzelnen Knöpfe konstant ("const") mit den jeweiligen Pins verbunden werden
const byte KnopfC = 4;
const byte KnopfD = 5;
const byte KnopfE = 6;
const byte KnopfF = 7;
const byte KnopfK = 8;
const byte PinJoystickX = 0;
const byte PinJoystickY = 1;
int JoystickX;
int JoystickY;
boolean Agedruckt = false; // Festlegung der Variablen in den Grundzustand "false" – der entsprechende Taster ist um Grundzustand nicht betätigt
boolean Bgedruckt = false;
boolean Cgedruckt = false;
boolean Dgedruckt = false;
boolean Egedruckt = false;
boolean Fgedruckt = false;
boolean Kgedruckt = false;
void setup() // Hier beginnt das Setup
{
Serial.begin(9600);
pinMode(KnopfA, INPUT); // Knopf A dient nun als Eingang und …
digitalWrite(KnopfA, HIGH); // … wird in den Status "HIGH" versetzt
pinMode(KnopfB, INPUT);
digitalWrite(KnopfB, HIGH);
pinMode(KnopfC, INPUT);
digitalWrite(KnopfC, HIGH);
pinMode(KnopfD, INPUT);
digitalWrite(KnopfD, HIGH);
pinMode(KnopfE, INPUT);
digitalWrite(KnopfE, HIGH);
pinMode(KnopfF, INPUT);
digitalWrite(KnopfF, HIGH);
}
void loop() // Hier beginnt die Schleife
{
if(Agedruckt == digitalRead(KnopfA)) // Wenn der Taster gedrückt wird… (Auslesen durch den Befehl "digitalRead()")
{
Serial.print("Taster A betaetigt"); // …soll "Taster A betaetigt" ausgegeben werden
Serial.println();
}
if(Bgedruckt == digitalRead(KnopfB))
{
Serial.print("Taster B betaetigt");
Serial.println();
}
if(Cgedruckt == digitalRead(KnopfC))
{
Serial.print("Taster C betaetigt");
Serial.println();
}
if(Dgedruckt == digitalRead(KnopfD))
{
Serial.print("Taster D betaetigt");
Serial.println();
}
if(Egedruckt == digitalRead(KnopfE))
{
Serial.print("Taster E betaetigt");
Serial.println();
}
if(Fgedruckt == digitalRead(KnopfF))
{
Serial.print("Taster F betaetigt");
Serial.println();
}
if(Kgedruckt == digitalRead(KnopfK))
{
Serial.print("Joystick-Taster K betaetigt");
Serial.println();
}
// Nun folgt das Auslesen der Position des Joysticks
JoystickX = analogRead(PinJoystickX); // Die Variable JoystickX dient als Speicher für den Wert der X-Achse
Serial.print("Wert auf der X-Achse des Joysticks betraegt ");
Serial.println(JoystickX);
JoystickY = analogRead(PinJoystickY); // Die Variable JoystickY dient als Speicher für den Wert der Y-Achse
Serial.print("Wert auf der Y-Achse des Joysticks betraegt ");
Serial.println(JoystickY);
Serial.println(); // Einfügen von Leerzeilen, damit die ausgegebenen Zahlenwerte klar zu lesen sind
Serial.println();
delay(1000); // Die Werte (bzw. die Betätigung der Taster) sollen mit einem Delay von 1000ms (1 Sekunde) ausgegeben werden
}Évaluer le guide