Was not declared in this scope
Hallo, ich das Spiel: Senso (Simon Says) für die Schule programmieren, allerdings komme ich grade absolut nicht weiter, ich hoffe es kann mir jemand helfen. Wenn ich das Programm checken lasse kommt die Meldung: 'digitalRead' was not declared in this scope
Das ist mein aktueller Code:
Das ist mein aktueller Code:
#include "Funktionen.h"
int LEDS[4] = {2, 3, 4, 5}; //LEDS deklarieren
int Taster[4] = {50, 51, 52, 53}; //Taster deklarieren
int ranNum1 = 0; //Zufallszahl deklarieren
int TasterStatus = 0; //TasterStatus auf 0 setzen
void Warteschleife() //Funktion Warteschleife
{
int TasterStatus = digitalRead(50); //TasterStatus bekommt 0 oder 1 Signal vom Taster auf Pin 50
Serial.print(TasterStatus);
while (TasterStatus == HIGH) //While Schleife damit sich der Vorgang wiederholt
{
digitalWrite(2, HIGH); //LED 2 HIGH
digitalWrite(3, HIGH); //LED 3 HIGH
digitalWrite(4, HIGH); //LED 4 HIGH
digitalWrite(5, HIGH); //LED 5 HIGH
delay(500); //500ms warten
digitalWrite(2, LOW); //LED 2 LOW
digitalWrite(3, LOW); //LED 3 LOW
digitalWrite(4, LOW); //LED 4 LOW
digitalWrite(5, LOW); //LED 5 LOW
delay(500); //500ms warten
if (digitalRead(50) == LOW) //wenn Taster 50 betätigt wird
{
break; //While schleife Ende
}
}
StarteSpiel(); //Startet Funktion: StarteSpiel
}
void StarteSpiel() //Funktion StarteSpiel
{
digitalWrite(2, LOW); //LED 2 LOW
digitalWrite(3, LOW); //LED 3 LOW
digitalWrite(4, LOW); //LED 4 LOW
digitalWrite(5, LOW); //LED 5 LOW
Runde1(); //Startet Funktion: Runde1
}
void Runde1() //Funktion Runde1
{
int Status = 0; //Status auf 0 setzen
int merker[10]; //merker mit 10 Runden deklarieren
int zaehler = 0; // anzahl der gemerkten leds
for (int i = 0; i < 10; i++) //hochzählen bis 10
{
for (int i = 0; i < zaehler; i++) // durchlaufen der vorherigen erfolgreichen runden
{
merker[i];
}
//start der hinzukommenden runde
ranNum1 = random(2, 6); //zufällige Zahl zwischen 2 und 5 generieren
digitalWrite(ranNum1, HIGH); //zufällige LED der Runde HIGH
delay(500); //500ms warten
digitalWrite(ranNum1, LOW); //zufällige LED der Runde LOW
delay(500); //500ms warten
switch (ranNum1)
{
case 2:
if(digitalRead(53) == LOW) //wenn Taster 53 gedrückt wird
{
digitalWrite(2, HIGH); //LED 2 HIGH
delay(500); //500ms warten
digitalWrite(2, LOW); //LED 2 LOW
delay(500); //500ms warten
merker[i] = ranNum1; //Merker merkt sich die zufällige Zahl
zaehler++; //Zaehler geht eine Zahl hoch
Status = 1; //Status wird auf 1 gesetzt
}
break; //Bricht case 2
case 3:
if(digitalRead(52) == LOW) //wenn Taster 52 gedrückt wird
{
digitalWrite(3, HIGH); //LED 3 HIGH
delay(500); //500ms warten
digitalWrite(3, LOW); //LED 3 LOW
delay(500); //500ms warten
merker[i] = ranNum1; //Merker merkt sich die zufällige Zahl
zaehler++; //Zaehler geht eine Zahl hoch
Status = 1; //Status wird auf 1 gesetzt
}
break; //Bricht case 3 ab
case 4:
if(digitalRead(51) == LOW) //wenn Taster 51 gedrückt wird
{
digitalWrite(4, HIGH); //LED 4 HIGH
delay(500); //500ms warten
digitalWrite(4, LOW); //LED 4 LOW
delay(500); //500ms warten
merker[i] = ranNum1; //Merker merkt sich die zufällige Zahl
zaehler++; //Zaehler geht eine Zahl hoch
Status = 1; //Status wird auf 1 gesetzt
}
break; //Bricht case 4 ab
case 5:
if(digitalRead(50) == LOW) //wenn Taster 50 gedrückt wird
{
digitalWrite(5, HIGH); //LED 5 HIGH
delay(500); //500ms warten
digitalWrite(5, LOW); //LED 5 LOW
delay(500); //500ms warten
merker[i] = ranNum1; //Merker merkt sich die zufällige Zahl
zaehler++; //Zaehler geht eine Zahl hoch
Status = 1; //Status wird auf 1 gesetzt
}
break; //bricht Case 5 ab
default:
break; //bricht Switch ab
}
if (Status == 0) //wenn Status 0 ist
{
break; //brich for Schleife ab
}
}
if (Status == 0) //wenn Status 0 ist
{
return; //brich Runde 1 ab
}
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 666960
Url: https://administrator.de/forum/was-not-declared-in-this-scope-666960.html
Ausgedruckt am: 15.04.2025 um 09:04 Uhr
1 Kommentar