arduino reset

Arduino specifieke Software
Berichten: 1
Geregistreerd: 15 Okt 2015, 09:03

arduino reset

Berichtdoor FRED&GIJS » 15 Okt 2015, 09:05

Code: Alles selecteren
//////SPELER 1////////////SPELER 1////////////SPELER 1////////////SPELER 1////////////SPELER 1////////////SPELER 1////////////SPELER 1////////////SPELER 1////////////SPELER 1/////

//SPELER 1 LED//
const int ledPin1 = 2;
int ledState1 = LOW;

//SPELER 1 KNOP//
const int buttonPin1 = 3;
int buttonState1;
int lastButtonState1 = LOW;
long lastDebounceTime1 = 0;  // the last time the output pin was toggled
long debounceDelay1 = 50;    // the debounce time; increase if the output flickers
int knipperVlag1;

//////SPELER 2////////////SPELER 2////////////SPELER 2////////////SPELER 2////////////SPELER 2////////////SPELER 2////////////SPELER 2////////////SPELER 2////////////SPELER 2/////

//SPELER 2 LED//
const int ledPin2 = 4;
int ledState2 = LOW;

//SPELER 2 KNOP//
const int buttonPin2 = 5;
int buttonState2;
int lastButtonState2 = LOW;
long lastDebounceTime2 = 0;  // the last time the output pin was toggled
long debounceDelay2 = 50;    // the debounce time; increase if the output flickers
int knipperVlag2;

//////SPELER 3////////////SPELER 3////////////SPELER 3////////////SPELER 3////////////SPELER 3////////////SPELER 3////////////SPELER 3////////////SPELER 3////////////SPELER 3/////

//SPELER 3 LED//
const int ledPin3 = 8;
int ledState3 = LOW;

//SPELER 3 KNOP//
const int buttonPin3 = 9;
int buttonState3;
int lastButtonState3 = LOW;
long lastDebounceTime3 = 0;  // the last time the output pin was toggled
long debounceDelay3 = 50;    // the debounce time; increase if the output flickers
int knipperVlag3;

//////SPELER 4////////////SPELER 4////////////SPELER 4////////////SPELER 4////////////SPELER 4////////////SPELER 4////////////SPELER 4////////////SPELER 4////////////SPELER 4/////

//SPELER 4 LED//
const int ledPin4 = 10;
int ledState4 = LOW;

//SPELER 4 KNOP//
const int buttonPin4 = 13;
int buttonState4;
int lastButtonState4 = LOW;
long lastDebounceTime4 = 0;  // the last time the output pin was toggled
long debounceDelay4 = 50;    // the debounce time; increase if the output flickers
int knipperVlag4;


//////////VOOR HET SPEL////////////////////VOOR HET SPEL////////////////////VOOR HET SPEL////////////////////VOOR HET SPEL////////////////////VOOR HET SPEL////////////////////////
long previousMillis = 0;
long t0 = 0;
long vertraging = 500;
int y;
int randNumber;
int x = 1;


void setup()
{
  pinMode(buttonPin1, INPUT);
  pinMode(ledPin1, OUTPUT);
  pinMode(buttonPin2, INPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(buttonPin3, INPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(buttonPin4, INPUT);
  pinMode(ledPin4, OUTPUT);

  digitalWrite(ledPin1, ledState1);
  digitalWrite(buttonPin1, buttonState1);
  digitalWrite(ledPin2, ledState2);
  digitalWrite(buttonPin2, buttonState2);
  digitalWrite(ledPin3, ledState3);
  digitalWrite(buttonPin3, buttonState3);
  digitalWrite(ledPin4, ledState4);
  digitalWrite(buttonPin4, buttonState4);

  Serial.begin(9600);

  randomSeed(analogRead(0));
  y = 1;
}


void loop()
{
//////////KNOP UITLEZEN VAN SPELER 1////////////////////KNOP UITLEZEN VAN SPELER 1////////////////////KNOP UITLEZEN VAN SPELER 1////////////////////KNOP UITLEZEN VAN SPELER 1/////
  int reading1 = digitalRead(buttonPin1);
        
    if (reading1 != lastButtonState1)
      {
        lastDebounceTime1 = millis();
      }
         // ga na of de knop is ingedrukt als hij langere tijd dezelfde waarde heeft
    if ((millis() - lastDebounceTime1) > debounceDelay1)
      {
        if (reading1 != buttonState1)
          {
            buttonState1 = reading1;
            if (reading1 == HIGH)
              {
                if (knipperVlag1 == HIGH)
                  {
                    knipperVlag1 = LOW;
                  }
                else
                  {
                    y = 22;
                  }
              }
          }
       }

lastButtonState1 = reading1;  
        
//////////KNOP UITLEZEN VAN SPELER 2////////////////////KNOP UITLEZEN VAN SPELER 2////////////////////KNOP UITLEZEN VAN SPELER 2////////////////////KNOP UITLEZEN VAN SPELER 2/////
   int reading2 = digitalRead(buttonPin2);
  
     if (reading2 != lastButtonState2)
       {
         lastDebounceTime2 = millis();
       }
         // ga na of de knop is ingedrukt als hij langere tijd dezelfde waarde heeft
     if ((millis() - lastDebounceTime2) > debounceDelay2)
       {
         if (reading2 != buttonState2)
           {
             buttonState2 = reading2;
             if (reading2 == HIGH)
               {
                 if (knipperVlag2 == HIGH)
                   {
                     knipperVlag2 = LOW;
                   }
                 else
                   {
                     y = 23;
                   }
               }
           }
       }

lastButtonState2 = reading2;      

//////////KNOP UITLEZEN VAN SPELER 3////////////////////KNOP UITLEZEN VAN SPELER 3////////////////////KNOP UITLEZEN VAN SPELER 3////////////////////KNOP UITLEZEN VAN SPELER 3/////
   int reading3 = digitalRead(buttonPin3);
        
     if (reading3 != lastButtonState3)
       {
         lastDebounceTime3 = millis();
       }
         // ga na of de knop is ingedrukt als hij langere tijd dezelfde waarde heeft
     if ((millis() - lastDebounceTime3) > debounceDelay3)
       {
         if (reading3 != buttonState3)
           {
             buttonState3 = reading3;
             if (reading3 == HIGH)
               {
                 if (knipperVlag3 == HIGH)
                   {
                     knipperVlag3 = LOW;
                   }
                 else
                   {
                     y = 24;
                   }
               }
           }
       }

lastButtonState3 = reading3;
        
//////////KNOP UITLEZEN VAN SPELER 4////////////////////KNOP UITLEZEN VAN SPELER 4////////////////////KNOP UITLEZEN VAN SPELER 4////////////////////KNOP UITLEZEN VAN SPELER 4/////
   int reading4 = digitalRead(buttonPin4);
        
     if (reading4 != lastButtonState4)
       {
         lastDebounceTime4 = millis();
       }
         // ga na of de knop is ingedrukt als hij langere tijd dezelfde waarde heeft
     if ((millis() - lastDebounceTime4) > debounceDelay4)
       {
         if (reading4 != buttonState4)
           {
             buttonState4 = reading4;
             if (reading4 == HIGH)
               {
                 if (knipperVlag4 == HIGH)
                   {
                     knipperVlag4 = LOW;
                   }
                 else
                   {
                     y = 25;
                   }
               }
           }
       }  

lastButtonState4 = reading4;        



//////////KNIPPERSPEL////////////////////KNIPPERSPEL////////////////////KNIPPERSPEL////////////////////KNIPPERSPEL////////////////////KNIPPERSPEL////////////////////KNIPPERSPEL///
  if ((millis() - t0) > vertraging)
    {
      t0 = millis();
    
    
      if (y==1)
        {
          ledState1 = HIGH;
          vertraging = 200-x;
          y = 2;
         }
    
       else if (y==2)
         {
           ledState1 = LOW;
           vertraging = 200-x;
           randNumber = random(10);
           if (randNumber == 0)
             {
               knipperVlag1 = HIGH;
               y = 9;
             }
           else
             {
               y = 3;
             }
         }
  
       else if (y==3)
         {
           ledState2 = HIGH;
           vertraging = 200-x;
           y = 4;
         }
          
       else if (y==4)
         {
           ledState2 = LOW;
           vertraging = 200-x;
           randNumber = random(10);
           if (randNumber == 0)
             {
               knipperVlag2 = HIGH;
               y = 11;
             }
           else
             {
               y = 5;
             }
         }
  
       else if (y==5)
         {
           ledState3 = HIGH;
           vertraging = 200-x;
           y = 6;
         }
  
       else if (y==6)
         {
           ledState3 = LOW;
           vertraging = 200-x;
           randNumber = random(10);
           if (randNumber == 0)
             {
               knipperVlag3 = HIGH;
               y = 13;
             }
           else
             {
               y = 7;
             }
         }
      
       else if (y==7)
         {
           ledState4 = HIGH;
           vertraging = 200-x;
           y = 8;
         }
      
       else if (y==8)
         {
           ledState4 = LOW;
           vertraging = 200-x;
           randNumber = random(10);
           if (randNumber == 0)
             {
               knipperVlag4 = HIGH;
               y = 15;
             }
           else
             {
               y = 1;
               x = x + 5; // ELKE KEER ALS HIJ EEN RONDJE HEEFT GEDAAN ZONDER DAT IEMAND AF IS GEGAAN WORDT X GROTER WAARDOOR DE VERTRAGING KLEINER EN HET SPEL SNELLER WORDT//////
               if (x>100) // ZOGRT ERVOOR DAT HET SPEL NIET DOOR BLIJFT VERSNELLEN MAAR BIJ EEN BEPAALDE WAARDE UITEINDELIJK BLIJFT//
                 {
                   x = 100;
                 }
               Serial.println(x);
             }
         }
        
////////// ZORGT ERVOOR DAT LED 1 2X KNIPPERT//////////////////// ZORGT ERVOOR DAT LED 1 2X KNIPPERT//////////////////// ZORGT ERVOOR DAT LED 1 2X KNIPPERT////////////////////////
       else if (y==9)
         {
           ledState1 = HIGH;
           vertraging = 200;
           y = 10;
         }

       else if (y==10)
         {
           ledState1 = LOW;
           vertraging = 1000;
           y = 17;
         }
        
////////// ZORGT ERVOOR DAT LED 2 2X KNIPPERT//////////////////// ZORGT ERVOOR DAT LED 2 2X KNIPPERT//////////////////// ZORGT ERVOOR DAT LED 2 2X KNIPPERT////////////////////////
       else if (y==11)
         {
           ledState2 = HIGH;
           vertraging = 200;
           y = 12;
         }

       else if (y==12)
         {
           ledState2 = LOW;
           vertraging = 1000;
           y = 18;
         }
        
////////// ZORGT ERVOOR DAT LED 3 2X KNIPPERT//////////////////// ZORGT ERVOOR DAT LED 3 2X KNIPPERT//////////////////// ZORGT ERVOOR DAT LED 3 2X KNIPPERT////////////////////////
       else if (y==13)
         {
           ledState3 = HIGH;
           vertraging = 200;
           y = 14;
         }

       else if (y==14)
         {
           ledState3 = LOW;
           vertraging = 1000;
           y = 19;
         }
        
////////// ZORGT ERVOOR DAT LED 4 2X KNIPPERT//////////////////// ZORGT ERVOOR DAT LED 4 2X KNIPPERT//////////////////// ZORGT ERVOOR DAT LED 4 2X KNIPPERT////////////////////////
       else if (y==15)
         {
           ledState4 = HIGH;
           vertraging = 200;
           y = 16;
         }

       else if (y==16)
         {
           ledState4 = LOW;
           vertraging = 1000;
           y = 20;
         }
    
////////////////////////////////////////////////////////CONTROLEERT OF SPELER 1 OP ZIJN KNOP HEEFT GEDRUKT/////////////////////////////////////////////////////////////////////////
       else if (y==17)
         {  
           if (knipperVlag1 == LOW) //// SPELER 1 HEEFT WEL OP ZIJN KNOP GEDRUKT ////
             {  
               y = 3;
             }  
           else //// SPELER 1 HEEFT NIET OP ZIJN KNOP GEDRUKT ////
             {
               ledState2 = HIGH;
               ledState3 = HIGH;
               ledState4 = HIGH;
               vertraging = 1000;
               y = 21;
              }
          }

////////////////////////////////////////////////////////CONTROLEERT OF SPELER 2 OP ZIJN KNOP HEEFT GEDRUKT/////////////////////////////////////////////////////////////////////////
       else if (y==18)
         {
           if (knipperVlag2 == LOW) //// SPELER 2 HEEFT WEL OP ZIJN KNOP GEDRUKT ////
             {  
               y = 5;
             }
           else //// SPELER 2 HEEFT NIET OP ZIJN KNOP GEDRUKT ////
             {
               ledState1 = HIGH;
               ledState3 = HIGH;
               ledState4 = HIGH;
               vertraging = 1000;
               y = 21;
             }
         }

////////////////////////////////////////////////////////CONTROLEERT OF SPELER 3 OP ZIJN KNOP HEEFT GEDRUKT/////////////////////////////////////////////////////////////////////////
       else if (y==19)
         {  
           if (knipperVlag3 == LOW) //// SPELER 3 HEEFT WEL OP ZIJN KNOP GEDRUKT ////
             {  
               y = 7;
             }
           else //// SPELER 3 HEEFT NIET OP ZIJN KNOP GEDRUKT ////
             {
               ledState1 = HIGH;
               ledState2 = HIGH;
               ledState4 = HIGH;
               vertraging = 1000;
               y = 21;
              }
          }

////////////////////////////////////////////////////////CONTROLEERT OF SPELER 4 OP ZIJN KNOP HEEFT GEDRUKT/////////////////////////////////////////////////////////////////////////
       else if (y==20)
         {
           if (knipperVlag4 == LOW) //// SPELER 4 HEEFT WEL OP ZIJN KNOP GEDRUKT ////
             {  
               y = 9;
             }
           else //// SPELER 4 HEEFT NIET OP ZIJN KNOP GEDRUKT ////
             {
               ledState1 = HIGH;
               ledState2 = HIGH;
               ledState3 = HIGH;
               vertraging = 1000;
               y = 21;
             }
         }
        
/////////////////////////////////////////////////////// ALS IEMAND AF IS BEGINT HET SPEL OPNIEUW (VERSNELLER OOK OPNIEUW)//////////////////////////////////////////////////////////
       else if (y==21)
         {
           ledState1 = LOW;
           ledState2 = LOW;
           ledState3 = LOW;
           ledState4 = LOW;
           vertraging = 1000;
           y = 26;
         }

        
//////////////////////////////////////////////////////// ALS DE SPELER DE KNOP INDRUKT TERWIJL HET NIET ZIJN BEURT IS//////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////SPELER 1 IS AF////////////////////////////////////////////////////////////////////////////////////////////////
       else if (y==22)
         {
           ledState2 = HIGH;
           ledState3 = HIGH;
           ledState4 = HIGH;
           vertraging = 1000;
           y = 21;
         }
//////////////////////////////////////////////////////////////////////SPELER 2 IS AF///////////////////////////////////////////////////////////////////////////////////////////////
       else if (y==23)
         {
           ledState1 = HIGH;
           ledState3 = HIGH;
           ledState4 = HIGH;
           vertraging = 1000;
           y = 21;
         }
//////////////////////////////////////////////////////////////////////SPELER 3 IS AF///////////////////////////////////////////////////////////////////////////////////////////////
       else if (y==24)
         {
           ledState1 = HIGH;
           ledState2 = HIGH;
           ledState4 = HIGH;
           vertraging = 1000;
           y = 21;
         }
//////////////////////////////////////////////////////////////////////SPELER 4 IS AF///////////////////////////////////////////////////////////////////////////////////////////////
       else if (y==25)
         {
           ledState1 = HIGH;
           ledState2 = HIGH;
           ledState3 = HIGH;
           vertraging = 1000;
           y = 21;
         }

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
   else if (y==26)
     {
       if (buttonState1 == HIGH && buttonState2 == HIGH && buttonState3 == HIGH && buttonState4 == HIGH)
         {
           y = 1;
           x = 1;
         }
       else
         {
           y = 26;
         }
     }
      
    
    
    
    
    digitalWrite (ledPin1, ledState1);
    digitalWrite (ledPin2, ledState2);
    digitalWrite (ledPin3, ledState3);
    digitalWrite (ledPin4, ledState4);
    }    
}
  


is het mogelijk om hierin een code te zetten bij y == 26 dat als je alle 4 de knoppen indrukt tegelijk het spel opnieuw begint???

groetjes,

Gijs en Fred

Advertisement

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: arduino reset

Berichtdoor shooter » 15 Okt 2015, 22:15

programma is erg veel herhaling, simpeler is het door arrays te gebruiken voor toestanden. dan hoef je alle beslissingen maar 1 keer te schrijven.
gebruik functies waardoor je paginas krijgt die leesbaar blijven en foutloos zijn.

en ja natuurlijk je zet gewoon alles weer terug op nul.
paul deelen
shooter@home.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 82 gasten