Banner Ausblenden
Kleines Logo

Willkommen auf PSI-Online

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);

  }

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Erstellt: Tim Sandner (15.12.2015) Letzte Änderung: Anne-Fiona Griesfeller (11.01.2016)