Arduino Forum

Using Arduino => Programming Questions => Topic started by: _Mare on Aug 08, 2016, 03:27 pm

Title: Solved
Post by: _Mare on Aug 08, 2016, 03:27 pm
Solved
[Moderator - original post restored.  OP, if you do delete your post again you will be Banned. Topic Locked.]

I´ve got a problem. I want to have a blink game. But my  LED´s blink all the time. It should blink one a time, and the other times the program test if any buttonist pressed, or is right. The notes are German.
If you need it you can use a Google Translater.

Code: [Select]
int ledA = 13;
int ledB = 12;    // Definiert die einzelen Leds mit Lautsprechern, für die übersichtlichkeit
int ledC = 11;
int ledD = 10;
int ledE = 8;
int ledF = 9;


int Taster1 = 7; // Definiert alle Taster
int Taster2 = 6;
int Taster3 = 5;
int Taster4 = 4;
int Taster5 = 3;
int Taster6 = 2;


int Richtig = 1; // Definiert den Output für die LED
int Betrunken = 14; //  Definiert den Output für die LED, 14 Pin! Größerer Arduino!
int Richtig1; // Definiert die Variable für den ersten Test



int TTest2; // Falls Test1 abgeschlossen, stellt Schalter auf Test2 um.
int TTest1; // Test1 prüft regelmäßig, ob auch Test1 benutzt wird.

int Check1;  // Definiert eine Variable die später dazu dient die Reihenfolge der Taster zu kontrollieren
int Check2;
int Check3;
int Check4;
int Check5;
int Check6;


int SchleifeT; // Testet ob er immernoch in der Schleife sein muss


void setup() {
   Serial.begin(9600);   //SeriellerMonitor für Test2
   
   pinMode(ledA, OUTPUT);  // Definiert die einzelenen Pins, mit den davor festgelegten LED
   pinMode(ledB, OUTPUT);
   pinMode(ledC, OUTPUT);
   pinMode(ledD, OUTPUT);
   pinMode(ledE, OUTPUT);
   pinMode(ledF, OUTPUT);
   pinMode(Taster2, INPUT);
   pinMode(Taster1, INPUT);
   pinMode(Taster3, INPUT);
   pinMode(Taster4, INPUT);
   pinMode(Taster5, INPUT);
   pinMode(Taster6, INPUT);
   pinMode(Richtig1, OUTPUT); // Definiert den Output für die LED
   SchleifeT == 1;
   
   
}

   void loop()
{
    digitalWrite(13, HIGH); // Setzt nacheinander die LEDS+Lautsprecher auf An/Aus
    digitalWrite(12, LOW);
    digitalWrite(11, LOW);
    digitalWrite(10, LOW);
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    delay(1000);
    digitalWrite(13, LOW);
    digitalWrite(12, HIGH);
    digitalWrite(11, LOW);
    digitalWrite(10, LOW);
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
     delay(1000);
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
    digitalWrite(11, HIGH);
    digitalWrite(10, LOW);
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
      delay(1000);
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
    digitalWrite(11, LOW);
    digitalWrite(10, HIGH);
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
     delay(1000);
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
    digitalWrite(11, LOW);
    digitalWrite(10, LOW);
    digitalWrite(9, HIGH);
    digitalWrite(8, LOW);
     delay(1000);
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
    digitalWrite(11, LOW);
    digitalWrite(10, LOW);
    digitalWrite(9, LOW);
    digitalWrite(8, HIGH);
    delay(1000);

 Schleife:  // Testet ununterbrochen in einer SCHLEIFE alle Schlater ab.

 
   
  if (TTest1 ==0) 
 { 
 
   if (Taster1 == 1 && Taster2 == 0 && Taster3 == 0 && Taster4 == 0 && Taster5 == 0 && Taster6 == 0) //Testet Schalter.
 {
   if (Check1 == 1 || Check2 == 1 || Check3 == 1 || Check4 == 1 ||Check5 == 1 || Check6 == 1) // Fals ein "Check" falsch ist, sendet er eine Fehlermeldung. Siehe Fehlermeldung unten.
 {
   Betrunken == 1;   // Fehlermeldung
 }
 
 else
 {
   Check1 == 1;   // Ist der richtige Knopf gedrückt worden, setzt er den "Check" auf An.
 }
 }








 
   if (Taster1 == 0 && Taster2 == 1 && Taster3 == 0 && Taster4 == 0 && Taster5 == 0 && Taster6 == 0) //Testet Schalter.
 {
   if (Check1 == 0 || Check2 == 1 || Check3 == 1 || Check4 == 1 ||Check5 == 1 || Check6 == 1) // Fals ein "Check" falsch ist, sendet er eine Fehlermeldung. Siehe Fehlermeldung unten.
 {
   Betrunken == 1;   // Fehlermeldung
 }
 
 else
 {
   Check2 == 1;   // Ist der richtige Knopf gedrückt worden, setzt er den "Check" auf An.
 }
  } 
 
 
 
 
 
 
 
   if (Taster1 == 0 && Taster2 == 0 && Taster3 == 1 && Taster4 == 0 && Taster5 == 0 && Taster6 == 0) //Testet Schalter.
 {
   if (Check1 == 0 || Check2 == 0 || Check3 == 1 || Check4 == 1 ||Check5 == 1 || Check6 == 1) // Fals ein "Check" falsch ist, sendet er eine Fehlermeldung. Siehe Fehlermeldung unten.
 {
   Betrunken == 1;   // Fehlermeldung
 }
 
 else
 {
   Check3 == 1;   // Ist der richtige Knopf gedrückt worden, setzt er den "Check" auf An.
 }
  }
 
 


   if (Taster1 == 0 && Taster2 == 0 && Taster3 == 0 && Taster4 == 1 && Taster5 == 0 && Taster6 == 0) //Testet Schalter.
 {
   if (Check1 == 0 || Check2 == 0|| Check3 == 0 || Check4 == 1 ||Check5 == 1 || Check6 == 1) // Fals ein "Check" falsch ist, sendet er eine Fehlermeldung. Siehe Fehlermeldung unten.
 {
   Betrunken == 1;   // Fehlermeldung
 }
 
 else
 {
   Check4 == 1;   // Ist der richtige Knopf gedrückt worden, setzt er den "Check" auf An.
 }
  }
 
 
 




   if (Taster1 == 0 && Taster2 == 0 && Taster3 == 0 && Taster4 == 0 && Taster5 == 1 && Taster6 == 0) //Testet Schalter.
 {
   if (Check1 == 0 || Check2 == 0 || Check3 == 0 || Check4 == 0 ||Check5 == 1 || Check6 == 1) // Fals ein "Check" falsch ist, sendet er eine Fehlermeldung. Siehe Fehlermeldung unten.
 {
   Betrunken == 1;   // Fehlermeldung
 }
 
 else
 {
   Check5 == 1;   // Ist der richtige Knopf gedrückt worden, setzt er den "Check" auf An.
 }
  }
 






   if (Taster1 == 0 && Taster2 == 0 && Taster3 == 0 && Taster4 == 0 && Taster5 == 0 && Taster6 == 1) //Testet Schalter.
 {
   if (Check1 == 0 || Check2 == 0 || Check3 == 0 || Check4 == 0 ||Check5 == 0 || Check6 == 1) // Fals ein "Check" falsch ist, sendet er eine Fehlermeldung. Siehe Fehlermeldung unten.
 {
   Betrunken == 1;   // Fehlermeldung
 }
 
 else
 {
   Check6 == 1;   // Ist der richtige Knopf gedrückt worden, setzt er den "Check" auf An.
 }
  }



  if (Check1 == 1  && Check2 == 1 && Check3 == 1 && Check4 == 1 && Check5 == 1 && Check6 == 1);
{
 TTest1 == 1;
 TTest2 == 1; // Setzt alle Schalter für Tests 2 um. goto 2Test wenn alles richtig, geht zu Test2
}
 }
 else
{
  SchleifeT == 1;
}
 
 if (SchleifeT == 1)
{
  goto Schleife;
}

}


Title: Re: Led Blink all the time
Post by: groundFungus on Aug 08, 2016, 03:33 pm
http://forum.arduino.cc/index.php?topic=97455.0 (http://forum.arduino.cc/index.php?topic=97455.0)
http://forum.arduino.cc/index.php/topic,148850.0.html (http://forum.arduino.cc/index.php/topic,148850.0.html)  #7 & 11.

Title: Re: Led Blink all the time
Post by: _Mare on Aug 08, 2016, 03:44 pm
Öhm,  so right?

On the other Link i cant find anything
Title: Re: Led Blink all the time
Post by: UKHeliBob on Aug 08, 2016, 03:44 pm
Code: [Select]
int Taster1 = 7;
Taster1 is given a value of 7 and you don't change it in the program so
Code: [Select]
   if (1 == Taster1 && button2 == 0 && Taster3 == 0 && Taster4 == 0 && Taster5 == 0 && Taster6 == 0) // Tests switch.

how can Taster1 ever equal 1 ?
You are not reading the state of the input pins anywhere in the program.

Please read this before posting a programming question (http://forum.arduino.cc/index.php?topic=97455.0) and edit your post to put code tags around the program having Auto Formatted it in the IDE first.

As to the use of goto, I will say no more than why ?
Title: Re: Led Blink all the time
Post by: groundFungus on Aug 08, 2016, 03:50 pm
Code: [Select]
SchleifeT == 1;
Betrunken == 1;

  == for compare, = for assignment.  You have this in many places.


Code: [Select]
Schleife:

This should be a function.  We rarely use goto in C++.

http://playground.arduino.cc/Code/Function (http://playground.arduino.cc/Code/Function)

Put some Serial.print()s in your code to follow the values of variables.
 
Title: Re: Solved
Post by: Robin2 on Aug 08, 2016, 05:05 pm
@_Mare, please reinstate your Original Post and your title so that other can benefit from this Thread. The purpose of this Forum is to share.

...R
Title: Re: Solved
Post by: MorganS on Aug 08, 2016, 05:57 pm
Wow. Deleting the question after it has been answered? Nasty.