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
  Button funktioniert nicht trotz korrekter Schaltung Schneggl 3 177 12.10.2019 08:17
Letzter Beitrag: Schneggl
  Empfänger funktioniert nicht mehr jgrothe 5 374 06.09.2019 18:57
Letzter Beitrag: Tommy56
  myport nicht gefunden? - Arduino und Visual Studio Stagneth.Alexander 4 457 04.09.2019 14:16
Letzter Beitrag: Stagneth.Alexander
  UDP send oder print ??? Ich kapiers nicht HarryB 5 381 03.09.2019 13:06
Letzter Beitrag: Tommy56
Wink Solar Roboter- Servo dreht nach Stopp nicht weiter Stagneth.Alexander 37 2.504 20.08.2019 14:15
Letzter Beitrag: geist4711
  Atmega 328 Sketchl läuft auf UNO3, alleine auf Breadboard nicht delay 9 814 02.08.2019 15:03
Letzter Beitrag: hotsystems
  Reaktionsspiel funktioniert nicht, wie es sollte... Stagneth.Alexander 27 1.513 21.07.2019 07:57
Letzter Beitrag: Stagneth.Alexander
  2 Sketche zusammenführen - korrelieren nicht Nicolai 11 1.292 24.05.2019 11:04
Letzter Beitrag: Nicolai
  Unterroutinenaufruf- wie gehts richtig? Telefonmann 12 1.157 04.05.2019 13:51
Letzter Beitrag: MicroBahner
  [includes]Wie gebe ich den Pfad der .h-Datei richtig an ManniP 6 635 28.04.2019 09:29
Letzter Beitrag: Fips

Gehe zu:


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