INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 2 Bewertungen - 3 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Programm läuft nicht richtig
30.06.2019, 07:52 (Dieser Beitrag wurde zuletzt bearbeitet: 30.06.2019 09:07 von Bitklopfer.)
Beitrag #1
Question Programm läuft nicht richtig
Hallo, ich bin ziemlich neu auf dem Gebiet Arduino. Ich versuche geradeein Reaktionsspiel zu programmieren. Es soll quadratisch aufgebaut sein. In der Mitte leuchten 3 Leds abwechselnd(rot). Nach jedem Durchgang sollEN mit einer Wahrscheinlichkeit von 70% alle Lampen leuchten. Dann würde mit 50/50 Chance eine der beiden blauen Leds (die stehen für rechts und links) leuchten. Es gibt 2 Spieler, beide haben jeweils rechts und links einen Knopf und müssen, wenn eine blaue Lampeleuchtet, diesen möglichst schnell drücken. Dann leuchtet bei Ihnen eine grüne Lampe, sie haben gewonnen und das Spiel geht von vorne los.
ich finde leider meinen Fehler nicht. Eigentlich könnte dieser auch im Stecken er Verbindungen stecken, weil ich davon wirklich gar keine Ahnung habe. Könnte jemand versuchen mir den Fehler zu finden und mir sagen wie mann so etwas steckt/schaltet?
Hier das Programm

Code:
int LEDrot1=1;
int LEDrot2=2;
int LEDrot3=3;
int LEDblau1=4;
int LEDblau2=5;
int LEDgruen1=10;
int LEDgruen2=11;
int taster1=6;
int taster2=7;
int taster3=8;
int taster4=9;
int tasterstatus1=0;
int tasterstatus2=0;
int tasterstatus3=0;
int tasterstatus4=0;

void setup() {
pinMode(LEDrot1, OUTPUT);
pinMode(LEDrot2, OUTPUT);
pinMode(LEDrot3, OUTPUT);
pinMode(LEDblau1, OUTPUT);
pinMode(LEDblau2, OUTPUT);
pinMode(LEDgruen1, OUTPUT);
pinMode(LEDgruen2, OUTPUT);
pinMode(taster1, INPUT);
pinMode(taster2, INPUT);
pinMode(taster3, INPUT);
pinMode(taster4, INPUT);
}




void loop()
{
if (random(100) < 70)
   {
  digitalWrite(LEDrot1, HIGH);
  delay; 500;
  digitalWrite(LEDrot1, LOW);
  
  digitalWrite(LEDrot2, HIGH);
  delay; 500;
  digitalWrite(LEDrot2, LOW);
  
  digitalWrite(LEDrot3, HIGH);
  delay; 500;
  digitalWrite(LEDrot3, LOW);
   }
else
   {
   digitalWrite(LEDrot1, HIGH);
   digitalWrite(LEDrot2, HIGH);
   digitalWrite(LEDrot3, HIGH);
     { if (random(100) < 50)
       { digitalWrite(LEDblau1, HIGH);
         void loop ();
         tasterstatus1=digitalRead(taster1);
        
             if (tasterstatus1 == HIGH);
               {digitalWrite(LEDblau1, LOW);
                digitalWrite(LEDgruen1, HIGH);
                delay(5000);
                digitalWrite(LEDgruen1, LOW);
               }
          tasterstatus3=digitalRead(taster3);  
             if (tasterstatus3 == HIGH);
               {digitalWrite(LEDblau1, LOW);
                digitalWrite(LEDgruen2, HIGH);
                delay(5000);
                digitalWrite(LEDgruen2, LOW);
               }
       }
        
       else
       { digitalWrite(LEDblau2, HIGH);
        void loop ();
          tasterstatus2=digitalRead(taster2);
             if (tasterstatus2 == HIGH);
               {digitalWrite(LEDblau2, LOW);
                digitalWrite(LEDgruen1, HIGH);
                delay(5000);
                digitalWrite(LEDgruen1, LOW);
               }
          tasterstatus4=digitalRead(taster4);  
             if (tasterstatus4 == HIGH);
               {digitalWrite(LEDblau2, LOW);
                digitalWrite(LEDgruen2, HIGH);
                delay(5000);
                digitalWrite(LEDgruen2, LOW);
  
               }  
        }

     }
   }
}

Danke im vorraus Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2019, 08:35 (Dieser Beitrag wurde zuletzt bearbeitet: 30.06.2019 08:40 von MartinZ.)
Beitrag #2
RE: Programm läuft nicht richtig
1.
mehrmals
delay; 500;

ist wohl ein Tippfehler.

2.
Gerade wenn es ein Reaktionsspiel sein soll, wä re es besser delay zu vermeiden und mit Zählern zu arbeiten, die einmal von Milis() gesetzt und regelmäßig geprüft werden.
Diese Technik wird hier im Forum unter Millis statt delay diskutiert.

3.
Du wirst vermutich um ein Entprellen der Taster nicht herumkommen.
Dafür gibt es aber gute Libraries ( Bounce)

4.
Wie sind die Taster angeschlossen?
Wenn es nämlich keinen Pull-Up Widerstand gibt, muss man sie (mit Schutzwiderstand) vom Pin gegen 0V schalten und INPUT_PULLUP verwenden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2019, 08:49
Beitrag #3
RE: Programm läuft nicht richtig
Hallo,
Bitte stelle dein Programm immer in Code Tags, ( # ) .
Sonst kann man den nicht auf allen Geräten lesen.

Dann solltest du Pin 0 und 1 nach Möglichkeit für die
Serielle Übertragung zum Debuggen benutzen.

Dein 3 Problem sind die Delays.
In der Zeit, kannst Du keine Taster abfragen.
Gruß, Markus.

Immer in Stress
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2019, 09:48
Beitrag #4
RE: Programm läuft nicht richtig
Danke für die Antworten, ich verstehe leider nur Bahnhof. Könnt ihr mir das bitte nochmal für ganz dumme erklären? ShyHuh
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2019, 09:55
Beitrag #5
RE: Programm läuft nicht richtig
(30.06.2019 09:48)CMeeep schrieb:  Könnt ihr mir das bitte nochmal für ganz dumme erklären?

Bau deinen Sketch ohne delay()!!!
Schmeiß die Rekursionen raus.

Erklärungen gibt es genügend im Forum.

Oder hier

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2019, 10:23
Beitrag #6
RE: Programm läuft nicht richtig
(30.06.2019 09:48)CMeeep schrieb:  Danke für die Antworten, ich verstehe leider nur Bahnhof. Könnt ihr mir das bitte nochmal für ganz dumme erklären? ShyHuh

Und ein paar Grundlagen sollte man sich schon anlesen können.
Dafür gibt es zahlreiche Arduino Bücher.
Z.B. dies hier.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2019, 10:28
Beitrag #7
RE: Programm läuft nicht richtig
Danke für die vielen Antworten. Könnt ihr mir in meinem Programm mal ein oder zwei delay durch dieses milis ersetzen? Vielleicht versteh ich das dann, weil die anderen Erklärungen versteh ich nicht.
Und wie funktionieren die Code tags?Huh

Und ich kann mich leider nicht in die Grundlagen einlesen, weil ich das alles theoretisch in der Schule elrne. allerdings haben wir nur laptops und das Programm bekommen und sollen das jetzt selbstverstehen. das gibt baldNoten und ich will mir nur für die Schule nicht so ein Buch kaufen.Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.06.2019, 10:35
Beitrag #8
RE: Programm läuft nicht richtig
Ach und Groß und Kleinschreibung lernt ihr auch nicht in der Schule ?
Das solltest du dir aber unbedingt aneignen.
1. Damit dein Text besser lesbar ist.
2. Weil C++ "case sensitive" ist und der Compiler dir diese Fehler um die Ohren haut.

Und wenn du nicht bereit bist, die Grundlagen nachzulesen, dann ist dir nicht zu helfen.

Sorry, wenn ich dir zu ehrlich bin, aber dafür habe ich absolut kein Verständnis.
Wir mussten das alle lernen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  strcmp funktioniert nicht richtig Cano 7 401 25.04.2020 10:47
Letzter Beitrag: Cano
  SoftwareSerial.h und SD.h vertragen sich nicht sowerum 25 1.168 25.04.2020 10:46
Letzter Beitrag: hotsystems
  Morse Programm Didi_0 14 980 04.04.2020 21:13
Letzter Beitrag: ardu_arne
  Sketch für WS2812 klappt nicht ThorstenP 9 558 02.04.2020 14:50
Letzter Beitrag: ThorstenP
  Nano Every upload geht nicht Jeanlion1 6 424 01.04.2020 17:45
Letzter Beitrag: Tommy56
  Menu funktioniert ohne Serial.println nicht GSA1150 7 419 30.03.2020 18:26
Letzter Beitrag: Tommy56
  Brauche Hilfe, Was Stimmt an meinem Sketch nicht Andi-1090 12 797 20.03.2020 10:04
Letzter Beitrag: hotsystems
  Hochladen eines Sketches funktioniert nicht otti123 24 1.549 29.02.2020 18:25
Letzter Beitrag: MicroBahner
  int variable wird nicht in Schleife übertragen ha0248 8 782 11.02.2020 15:25
Letzter Beitrag: ha0248
  MobaTools Library: neue Version 2.0 läuft auch auf ESP8266 MicroBahner 7 861 07.02.2020 11:30
Letzter Beitrag: AnjinSan

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste