Joystick
Grundsätzliches:
Der Arduino Leonardo, Micro, or Due board 2 axis Joystick befindet sich im Grundzustand in einer Mittelstellung, in die es nach Auslenkung in xy-Richtung durch Federkraft zurück versetzt wird. Außerdem hat es einen Taster, welcher durch Drücken betätigt wird.
Angeschlossen wird er wie an diesem Beispiel:
Joystick Arduino UNO
SW -------------------------------- Digital 8
VRx ------------------------------- A0
VRy ------------------------------- A1
+5V ------------------------------- 5V
GND ------------------------------GND
Beispiel:
In dem Gezeigten Beispiel wird die Helligkeit 2er LEDs jeweils mit Bewegung des Joysticks gesteuert, plus durch das Drücken des Tasters eine weitere LED an-und aus geschalten.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
const int xPin = A0;
const int yPin = A1;
const int zPin = 8;
const int xLED = 3;
const int yLED = 5;
const int zLED = 10;
int wert_x;
int wert_y;
int wert_z = HIGH;
void setup()
{
pinMode(zPin,INPUT_PULLUP);
pinMode(xLED,OUTPUT);
pinMode(yLED,OUTPUT);
pinMode(zLED,OUTPUT);
Serial.begin(9600);
}
void loop()
{
wert_x = map(analogRead(xPin), 0, 1023, 0, 255);
analogWrite(xLED,wert_x);
wert_y = map(analogRead(yPin), 0, 1023, 0, 255);
analogWrite(yLED,wert_y);
wert_z = digitalRead(zPin);
if ( wert_z == HIGH )
{
digitalWrite (zLED, LOW);
}
else
{
digitalWrite (zLED, HIGH);
}
Serial.print("X: ");
Serial.print((wert_x),DEC);
Serial.print("|Y: ");
Serial.print((wert_y),DEC);
Serial.print("|Z: ");
Serial.println(wert_z);
delay(500);
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------