Arduino Forum

International => Deutsch => Topic started by: Yannes on Jul 25, 2018, 01:47 pm

Title: brauche Hilfe
Post by: Yannes on Jul 25, 2018, 01:47 pm
hey ich hab einen Joystickcontroller der jetzte, im Normal zustand x:90 y:90 anzeigt.ich will aber das es dort 0 0 ist  und bei 90 180 , o +90 angezeigt. Bei 90 0 wäre es dan 0 -90. ist das irgendwie möglich . Bitte mit erklärung.

Code: [Select]
// Deklaration und Initialisierung der Eingang-Pins
int JoyStick_X = A0; // X-Achse-Signal
int JoyStick_Y = A1; // Y-Achse-Signal

 
void setup ()
{
  pinMode (JoyStick_X, INPUT);
  pinMode (JoyStick_Y, INPUT);
 
  
  Serial.begin (9600); // Serielle Ausgabe mit 9600 bps
}
 
// Das Programm liest die aktuellen Werte der Eingang-Pins
// und gibt diese auf der seriellen Ausgabe aus
void loop ()
{
  float x, y;

  
  //Aktuelle Werte werden ausgelesen, auf den Spannungswert konvertiert...
  x = analogRead (JoyStick_X) * (5.0 / 1023.0);
  y = analogRead (JoyStick_Y) * (5.0 / 1023.0);

  
  //... und an dieser Stelle ausgegeben
 Serial.print(x*36); Serial.print("___");Serial.println(y*36);
 
 
  delay (200);
}

 
Title: Re: brauche Hilfe
Post by: ElEspanol on Jul 25, 2018, 01:49 pm
Informiere dich mal über „map"

Oder mal ins Mathebuch schauen, Stichwort Dreisatz und Offset
Title: Re: brauche Hilfe
Post by: Yannes on Jul 25, 2018, 01:53 pm
danke EIEspanol ich probiere es
Title: Re: brauche Hilfe
Post by: agmue on Jul 25, 2018, 01:53 pm
Versuche mal dies:

Code: [Select]
x = (analogRead (JoyStick_X) - 511) * (5.0 / 1023.0);
  y = (analogRead (JoyStick_Y) - 511) * (5.0 / 1023.0);


In der Mittelstellung hast Du den Wert 511. Wenn Du von dem 511 abziehst, landest Du bei der gewünschten 0.
Title: Re: brauche Hilfe
Post by: Yannes on Jul 25, 2018, 02:15 pm
danke
Title: Re: brauche Hilfe
Post by: agmue on Jul 25, 2018, 05:27 pm
Bitte.