Arduino Uno Analog Read

Hallo,
ich bin neu hier in dem Forum und auch was Arduinos angeht habe ich bisher kaum Erfahrung.

Ich würde Werte von einem Joystick lesen und habe ihn dazu wie beschrieben mit 5V und GND angeschlossen und X und Y auf Analog 1 und 2 gelegt.
Wenn ich mir die Werte per Serial Monitor ausgeben lasse bekomme ich abwechselnd die Werte 0 und 1023. Die Werte wechseln sich alle 5s (ca) ab ohne dass ich den Joystick anfasse. Und wenn ich das richtig verstehe müssten die Werte in der Mitte bei 512 liegen.

Hier mein Code:

const int SW_pin = 7;
const int X_pin = A2;
const int Y_pin = A1;

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);

  Serial.begin(9600);
}

void loop() {

Serial.print("Switch: ");
Serial.print(digitalRead(SW_pin));
Serial.print("\n");
Serial.print("X-Achse: ");
Serial.print(analogRead(X_pin));
Serial.print("\n");
Serial.print("Y-Achse: ");
Serial.print(analogRead(Y_pin));
Serial.print("\n\n");
delay(500);
}

Woran kann das liegen? Was mache ich falsch?

Ist es denn auch ein analoger Joystick? Wie hast du ihn angeschlossen?

poste mal ein Bild vom Joystick und einen link von wo du ihn gekauft hast.

vgs

Ich habe das Starter Kit von Elegoo mit dem UNO R3.
Woran erkenne ich denn ob es ein analoger Joystick ist? Ich habe im Internet gesucht und da wurde es immer über die analogen angeschlossen.

Ob Potis oder Schalter drin sind. Gib uns doch einfach einen Link, wo Du ihn gekauft hast.

Gruß Tommy

gekauft habe ich das set bei Ebay Kleinanzeigen war aber unbenutzt und auch alles noch neu eingepackt.
Das ist der Amazon Link zu dem Produkt:

Dein Link passt nicht zum Bild.

Gruß Tommy

Wie meist du?

Na, dass man aus dem Sammelbild bei Amazon keine Infos zum Joystick ableiten kann.

Gruß Tommy

Das ist leider das einzige was ich gefunden habe deshalb habe ich ja das bild von meinem hier noch hoch geladen

Kann man das Kunststoffteil abziehen ohne den Joystick kaputt zu machen?

Wenn du den Joystick bewegst gibt es da so eine Art Anschlagpunkt bei dem es dann "Klick" macht?
Dann wäre es einer mit Schaltern.

Wenn es kein Schalter-Klick gibt spricht einiges dafür dass es ein analoger Joystick ist. Dann geht es damit weiter:

Hast du ein Digitalmultimeter mit dem man Widerstand messen kann?

Wenn nicht, wenn du richtig ins Arduino-basteln einsteigen willst ist ein Digitalmultimeter ein muss.
Das siehst du ja gerade schon.

vgs

Ist bereits einer auf dem Weg gerade habe ich leider noch keinen
So sieht es aus wenn man das Kopfteil abzieht

Das, was du softwareseitig versuchst passt vermutlich nicht zur Hardware.

Tipp:

(Das ist nur zum testen gedacht! Keine inhaltliche Wertung

Aha.

Hm noch nicht wirklich zusehen ob es Potis hat oder nicht und wenn du jetzt noch ein Foto mit Blick auf die Seite hochlädst?
Also in Bezug auf das letzte Bild von unten und von rechts da wo das "schwarze" zu sehen ist.

Jawohl ist ein Joystick mit Potis.
Das schwarze ist das Poti.

Dann mache als nächstes folgendes:
Arduino Uno NICHT an den Strom anschliessen
sondern nur den Joystick mit dem Arduino verbinden und dan ein Foto posten auf dem man eindeutig ALLE der folgenden Details erkennen kann.

alle 5 Pins an denen das Verbindungskabel zwischen Joystick und Arduino am Arduino eingesteckt ist
Das Foto macht man am besten von senkrecht oben auf so auf die Arduino-Platine dass man die PIN-Beschriftung lesen kann.

und ein Foto welche Kabelfarbe an welchen Anschluss am Joystick geht.

Wenn du alles auf einmal aufs Bild bekommst umso besser.
vgs

Da man mir ja nicht traut - ich bin dann raus.
Hinweis: So sah das schon in #13 aus:

Also du hast Rx und Ry an A2 und A3 angeschlossen
aber im Programm in Posting #1 steht

const int X_pin = A2;
const int Y_pin = A1;

stehen. Das passt nicht zusammen.
Die Hardware-Anschlüsse müssen natürlich mit der Programmierung übereinstimmen.
Korrigiere das mal und dann poste was du für eine Ausgabe im seriellen Monitor erhälst.
vgs

Ich habe jetzt deinen Aufbau nachgebaut und die Ausgabe ist wie erwartet

23:26:37.337 -> Switch: 1
23:26:37.337 -> X-Achse: 520
23:26:37.337 -> Y-Achse: 508
23:26:37.337 -> 
23:26:37.852 -> Switch: 1
23:26:37.852 -> X-Achse: 520
23:26:37.852 -> Y-Achse: 508

vgs