(deleted)
(deleted)
jakobi123:
if(input == CODE)init
exit status 1
'input' was not declared in this scope
Weil da dein Sketch für die Variable schon zu Ende ist.
int LED= 15;
long CODE = 126553;
void setup() {
// put your setup code here, to run once:
pinMode (LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()) // auf eingehende Daten checken
{
String input = Serial.readString(); // 1 Byte auslesen
Serial.print(input); // Byte anzeigen
} // <--- !!!
if(input == CODE)
{digitalWrite (LED, HIGH);}
else
{digitalWrite (LED, LOW);}
}
Ich habs Dir angekreuzt.
Es hilft, wenn Du den Sketch mit STRG-T formatierts
The variable "input" is not in scope in the code block following the "if (Serial.available...".
Move "String input;" up to global scope.
Muss ich den "input" in meinem Code als long definieren, d.h. hinschreiben long input = 0;
Ja.
Ausserdem solltest du die temporär definierte Variable
Sting input;
anders benennen.
Und rauskriegen, wie man aus einem String Objekt eine long Zahl macht, wenn der Text überhaupt eine Zahl enthält.
Oder input bleibt ein String und die daraus ermittelte Zahl, falls das geht, wird eine anders benannte Variable.
Oder du definierst
String CODE ="126553";
, vergleichst zwei Texte (und bist nicht auf Ziffern als Code festgelegt)
const byte LED= 15;
String CODE = "126553";
void setup() {
pinMode (LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()) { // auf eingehende Daten checken
String input = Serial.readString(); // Text lesen
Serial.print(input); // Text anzeigen
digitalWrite (LED, (input == CODE) ); // Testergebnis anzeigen true = HIGH
}
}
Das funktioniert nicht, wenn ein Zeilenende-Zeichen mitgesendet wird
(deleted)
jakobi123:
Okay, vielen Dank euch für die schnelle Rückmeldung
Dann:
- ändern
- testen
- sag bescheid
(deleted)