'changeNumber' was not declared in this scope fout melding

Arduino specifieke Software
Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor Koepel » 18 Jun 2018, 17:56

Het gaat om dit:
Code: Alles selecteren
// save the current state as the last state, for next time through the loop
lastButtonState = buttonState;


Om een verschil te detecteren is het nodig om de buttonState te bewaren in lastButtonState. Alleen dan kan de volgende keer de nieuwe buttonState vergeleken worden met de vorige.

Advertisement

Berichten: 9
Geregistreerd: 12 Jun 2018, 14:22

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor SL1NKEE » 18 Jun 2018, 19:03

Koepel schreef:Het gaat om dit:
Code: Alles selecteren
// save the current state as the last state, for next time through the loop
lastButtonState = buttonState;


Om een verschil te detecteren is het nodig om de buttonState te bewaren in lastButtonState. Alleen dan kan de volgende keer de nieuwe buttonState vergeleken worden met de vorige.


ik heb er nu alles in gezet en de knoppen van speler 2 werken niet op de 7 segmenten display van speler 1, alleen kan je nu heel goed zien dat hij counter 1 (7 segmenten display speler 1) ook counter 2 in zit, want als je op de knop duwt zie je dat hij optelt, maar ook weer naar 0 toegaat, en als je nog eens op de knop van speler 1 duwt, zie je dat hij van 5 naar 6 gaat, men dan weer 0 weer geeft

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor Koepel » 18 Jun 2018, 19:33

Het heeft mijn voorkeur dat je de sketch laat zien, ook al staat er alleen maar een komma anders.

Hoe vaak roep je functie changeNumber() aan ?
Hoe vaak roep je functie changeNumberplayer2() aan ?

Berichten: 9
Geregistreerd: 12 Jun 2018, 14:22

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor SL1NKEE » 18 Jun 2018, 20:46

Koepel schreef:Het heeft mijn voorkeur dat je de sketch laat zien, ook al staat er alleen maar een komma anders.

Hoe vaak roep je functie changeNumber() aan ?
Hoe vaak roep je functie changeNumberplayer2() aan ?


ik roep ze bij player 1 3 keer aan en ik groep ze bij player 2 3 keer aan,

met de sketch bedoel je daarmee de code of de opbouw van de opstelling

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor Koepel » 19 Jun 2018, 00:40

SL1NKEE schreef:ik roep ze bij player 1 3 keer aan en ik groep ze bij player 2 3 keer aan

Niet in de laatste sketch die je liet zien.

Bij Arduino noemen ze het programma (de code) een "sketch". Dat vind ik een beetje flauw. Het is gewoon een programma.
Ze hebben alles een beetje anders gedaan om het gemakkelijker te maken om er mee te beginnen. Maar sommige keuzes vallen nadelig uit als je wat verder komt.

Berichten: 9
Geregistreerd: 12 Jun 2018, 14:22

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor SL1NKEE » 19 Jun 2018, 11:14

Koepel schreef:
SL1NKEE schreef:ik roep ze bij player 1 3 keer aan en ik groep ze bij player 2 3 keer aan

Niet in de laatste sketch die je liet zien.

Bij Arduino noemen ze het programma (de code) een "sketch". Dat vind ik een beetje flauw. Het is gewoon een programma.
Ze hebben alles een beetje anders gedaan om het gemakkelijker te maken om er mee te beginnen. Maar sommige keuzes vallen nadelig uit als je wat verder komt.


oke ik snap het hier onder staat de void loop en de hier heb ik ook alles met rood aan gegeven, hoe vaak ik de changeNumber() voor speler 1 en 2
voor speler 1 zijn ze rood, en speler 2 blauw

Code: Alles selecteren
void loop()
{
  //Getting the reads from the buttons
  buttonUpState = digitalRead(switchUpPin);
  buttonDownState = digitalRead(switchDownPin);

  //Detecting button press and getting the button status
  //Do this for the button up
  if (buttonUpState != lastButtonUpState)
  {
    if (buttonUpState == HIGH)
    {
      //Reset the counter to -1
      if(counter == 9)
      {
        counter = -1;
      }
      //Increase the counter by 1
      counter++;
      //Print the counter to the console and calling the function
      Serial.println(counter);
      [color=#FF0000]changeNumber(counter)[/color];
      //Delaying by 250 ms
      delay(250);

      lastButtonUpState = buttonDownState;
     
    }
    else
    {
        Serial.println("OFF");
    }
    //Delay to avoid button bouncing
   delay(50);
  }

  //Do this for the button down
  if (buttonDownState != lastButtonDownState)
  lastButtonDownState = buttonDownState;
  {
    if (buttonDownState == HIGH)
    {
      //Set the counter to 10
      if(counter == 0)
      {
        counter = 10;
      }
      //Decreases the counter by 1
      counter--;
      ////Print the counter to the console and calling the function
      Serial.println(counter);
      [color=#FF0000]changeNumber(counter);[/color]
      //Delaying by 250 ms
      delay(250);

     
    }
    else
    {
        Serial.println("OFF");
    }
    //Delay to avoid button bouncing
   delay(50);
  }
  //Calling the function changeNumber with the arg counter
 [color=#FF0000] changeNumber(counter);[/color]
 


    //Getting the reads from the buttons from player 2
  buttonUpState2 = digitalRead(switchUpPin2);
  buttonDownState2 = digitalRead(switchDownPin2);

  //Detecting button press and getting the button status
  //Do this for the button up
  if (buttonUpState2 != lastButtonUpState2)
  {
    if (buttonUpState2 == HIGH)
    {
      //Reset the counter2 to -1
      if(counter2 == 9)
      {
        counter2 = -1;
      }
      //Increase the counter2 by 1
      counter++;
      //Print the counter to the console and calling the function
      Serial.println(counter2);
      [color=#0000FF]changeNumber(counter2);[/color]
      //Delaying by 250 ms
      delay(250);

      lastButtonDownState2 = buttonDownState2;
    }
    else
    {
        Serial.println("OFF");
    }
    //Delay to avoid button bouncing
   delay(50);
  }

  //Do this for the button down
  if (buttonDownState2 != lastButtonDownState2)
  {
    if (buttonDownState2 == HIGH)
    {
      //Set the counter2 to 10
      if(counter2 == 0)
      {
        counter2 = 10;
      }
      //Decreases the counter by 1
      counter2--;
      ////Print the counter to the console and calling the function
      Serial.println(counter2);
     [color=#0000FF] changeNumber(counter2);[/color]
      //Delaying by 250 ms
      delay(250);

      lastButtonDownState2 = buttonDownState2;
    }
    else
    {
        Serial.println("OFF");
    }
    //Delay to avoid button bouncing
   delay(50);
  }
  //Calling the function changeNumber with the arg counter
  [color=#0000FF]changeNumber(counter2);[/color]
}
Laatst gewijzigd door SL1NKEE op 19 Jun 2018, 12:05, in totaal 1 keer gewijzigd.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor Koepel » 19 Jun 2018, 11:53

Je bent de code tags vergeten en het is geen volledige sketch :o

Misschien begreep ik het verkeerd.
Je stuurt de counter van speler 1 en 2 naar dezelfde digit. De andere digit wordt niets mee gedaan.
Ik dacht dat changeNumberplayer2() de counter van de andere speler zou laten zien.

Je hebt vier knoppen, maar ik zie vier verschillende dingen om ze te bewaren in de lastButtonState variabelen. Het wordt voor mij te rommelig om te controleren. De "Up" en "Down" haal je een paar keer door elkaar.

Berichten: 9
Geregistreerd: 12 Jun 2018, 14:22

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor SL1NKEE » 19 Jun 2018, 13:36

Koepel schreef:Je bent de code tags vergeten en het is geen volledige sketch :o

Misschien begreep ik het verkeerd.
Je stuurt de counter van speler 1 en 2 naar dezelfde digit. De andere digit wordt niets mee gedaan.
Ik dacht dat changeNumberplayer2() de counter van de andere speler zou laten zien.

Je hebt vier knoppen, maar ik zie vier verschillende dingen om ze te bewaren in de lastButtonState variabelen. Het wordt voor mij te rommelig om te controleren. De "Up" en "Down" haal je een paar keer door elkaar.


oke korte update ik heb nu gezorgd dat het scherm van player oplicht, alleen werken de knoppen van player 2 nog niet helemaal, dat is al een hele vooruitgang

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: 'changeNumber' was not declared in this scope fout meldi

Berichtdoor Koepel » 19 Jun 2018, 16:23

O, o, o, het is een rommeltje.

Zou je misschien nu al kunnen overschakelen naar functies of arrays ? Zodat de code er maar één keer in zit in plaats van vier keer.

Deel 1: Up
Niet goed, up en down door elkaar: lastButtonUpState = buttonDownState ;

Deel 3: Up 2
Niet goed, dit moet met up zijn: lastButtonDownState2 = buttonDownState2 ;


VorigeVolgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: MiltonHudge en 15 gasten