Arduino Code ich check es nt?


18.02.2024, 15:24

Oke habe eine lösung gefunden:

int readPin = A5;

int readVal;

float V2 = 0.00;

int delayTime = 500;

int A13=13;

int A20=12;

int A32=8;

int A64=7;

void setup() {

  pinMode(readPin, INPUT);

  Serial.begin(9600);

}

void loop() {

  readVal = analogRead(readPin);

  V2 = (5. / 1023.) * readVal;

  Serial.println(V2);

    delay(delayTime);

 if ((V2 >= 3.6) && (V2 <= 3.8))

  digitalWrite(A13, HIGH);

else {

  digitalWrite(A13, LOW);

}

 if ((V2 >= 3.) && (V2 <= 3.2))

  digitalWrite(A20, HIGH);

else {

  digitalWrite(A20, LOW);

}

 if ((V2 >= 1.8) && (V2 <= 2.))

  digitalWrite(A32, HIGH);

else {

  digitalWrite(A32, LOW);

}

 if ((V2 >= 1.) && (V2 <= 1.2))

  digitalWrite(A64, HIGH);

else {

  digitalWrite(A64, LOW);

}

}

2 Antworten

Erst einmal bin ich mit Schleifen nicht so firm, aber du hast zum einen den Output-Pin nicht als Output zugewiesen und du schreibst, wann Du den Ausgang auf HIGH setzen willst, aber nicht, wann du ihn auf LOW setzt. Würde 'If' 'else' nehmen.. If Bedingung erfüllt HIGH else LOW...

Ich bin jetzt nich so fit in Arduino programmieren aber ich glaube du musst den noch Output in setup() setzen.
versuch mal:

PinMode(A13, OUTPUT).

Woher ich das weiß:Hobby – Leidenschaftlicher Programmierer