Programm funktioniert nur teilweise

hallo,
ich habe folgendes programm, ich will mit einem jockstick eine funksteckdose steuern,
es wird mir angezeigt, das der wert 0 ist und so sollte eigentlich die steckdose angeschaltet werden, wird sie aber nicht. Kann mir hier jemand helfen?

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();


//Arduino pin numbers
const int SW_pin = 0; //digital pin connected to switch output
const int X_pin = 1; //analog pin connected to x output
const int Y_pin = 2; //analog pin connected to y output

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(115200);

 
  mySwitch.enableTransmit(9);
  
  
  mySwitch.setProtocol(1);
}

void loop () {
  Serial.print("Switch:  ");
  Serial.print(digitalRead(SW_pin));
  Serial.print("\n");
  Serial.print("X-axis: ");
  Serial.print(analogRead(X_pin));
  Serial.print("\n");
  Serial.print("Y-axis: ");
  Serial.println(analogRead(Y_pin));
  Serial.print("\n\n");
    if (X_pin > 200) 
                 {
                   mySwitch.send(1069393, 24);
                 }
  delay(50000);
}

Digitalpin 0 und 1 sind durch die serielle Schnittstelle belegt.

Für die Analog-Eingänge schreibe A0 - A5 ... so wie im Beispiel Analog Read der IDE.

noiasca:
Digitalpin 0 und 1 sind durch die serielle Schnittstelle belegt.

Für die Analog-Eingänge schreibe A0 - A5 ... so wie im Beispiel Analog Read der IDE.

Was meinst du genau?
Danke

Auf einem UNO, alles das gleiche.

const int X_pin = 1; //analog pin connected to x output
const int Y_pin = 2; //analog pin connected to y output

//

const int X_pin = A1; //analog pin connected to x output
const int Y_pin = A2; //analog pin connected to y output

//

const int X_pin = 15; //analog pin connected to x output
const int Y_pin = 16; //analog pin connected to y output

Auf die Schreibweise kommts nicht an.
Nur im Kopf muss es stimmen.

(und das tuts nicht ? ! ? !)

realkappa:
Was meinst du genau?

Digitalpin 0 verwendest du parallel für die serielle Schnittstelle
Digitalpin 1 verwendest du zeitgleich für die serielle Schnittstelle.

schließe dort keine anderen Buttons an.

Digitalpin 0 verwendest du parallel für die serielle Schnittstelle

Wahr!

Digitalpin 1 verwendest du zeitgleich für die serielle Schnittstelle.

Ihm benutzt kein Digitalpin 1 im Programm.
Bleibt also frei für die Serielle.

Ansonsten ist ja geheim, WELCHER Arduino verwendet wird.
Warts ab, da kommt irgendwas ganz überraschendes bei raus.....
Salamitaktik halt....
Der dicke Hund, kommt immer zum Schluss.

Hallo realkappa,

welcher Wert ist denn "0", damit die Steckdose schaltet ?
Hast du auch den richtigen "Funkcode" eingestellt ?
Welchen Sender verwendest du für dein Projekt ?
Zeig uns mal ein Foto deines Aufbaus und welche Funksteckdosen du verwendest.
Es gibt sehr viele, die sich nicht über den Arduino steuern lassen.

const int X_pin = 1; //analog pin connected to x output
if (X_pin > 200)

wie soll X_pin jemals größer als 1 werden?
soll wohl eher if(analogRead(X_pin)>200) heißen

Hallo,

Dir fehlen noch ein paar Grunglagen.Ich mach Dir jetzt mal den Vorschlag das Du Dir noch mal ein paar Beispiele aus der IDE ansiehst wie man digitale und analoge Eingänge einliesst und den Wert an Variable übergibt. Es gibt da schöne, leicht verständliche Beispiele. Unter Hilfe / Refferenz findest du auch Erklärungen und Beispiele.

Reffferenz deutsch

buch pdf

Heinz

Hi

Bitte:
Auch, wenn ein analogRead(0) den Pin A0 dafür benutzt, macht Sich die Lesbarkeit mit einem A0 deutlich besser.

Ich appelliere daher, benutze fpr die Pinzuweisung der Analog-Pins auch die Analog-Nummern.
Dem analogRead() ist Das wurscht - Das kann nicht auf D0...D7 lesen, geht deshalb davon aus, daß Du A0...A7 meinst (bei Uno/Nano) - der blöde Mensch, Der Deinen Code lesen und verstehen soll, kränkelt dabei halt etwas - nimm A0 und selbst wir hier sind glücklich.

MfG