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.
// 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);
}
Informiere dich mal über „map"
Oder mal ins Mathebuch schauen, Stichwort Dreisatz und Offset
danke EIEspanol ich probiere es
Versuche mal dies:
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.
danke
Bitte.