hulp bij een while loop project

Arduino specifieke Software
Berichten: 2
Geregistreerd: 13 Mrt 2021, 14:21

hulp bij een while loop project

Berichtdoor vectrapower » 13 Mrt 2021, 14:23

beste leden ik zit met een probleeem ik moet eenopdracht maken voor curcus voor school en loop een beetje vast de vraag die gevraagd wordt is :
Sluit een LED en een button aan en maak een programma zodat de LED aangaat
nadat er 3x op de button is gedrukt. Na nog een keer 3x drukken gaat de LED weer
uit. Maak gebruik van een while loop.

Code: Alles selecteren
void setup()
{
  pinMode(8, INPUT_PULLUP);
  pinMode(4, OUTPUT);
 
}
void loop() {
delay(100);
int buttonpush = 0;
 
  while (buttonpush < 3){
    if (digitalRead(8) == true )
    {
     buttonpush = buttonpush +1;
    }
  }
  if (digitalRead(8) == LOW);
  {
    digitalWrite (4 , HIGH) ;
  }
  if (digitalRead(8) == HIGH);
  {
    digitalWrite (4 , LOW);
  }
}

Advertisement

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

Re: hulp bij een while loop project

Berichtdoor shooter » 14 Mrt 2021, 14:04

zie wat ik schreef op arduino.cc en mirroring is niet zo lief, maar ach je hebt een probleem dat je eerst maar de basis moet leren van in en output
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 12
Geregistreerd: 24 Jan 2021, 20:37
Woonplaats: Bovenkarspel

Re: hulp bij een while loop project

Berichtdoor weirdweb » 15 Mrt 2021, 19:48

Zoiets?

Code: Alles selecteren
bool state = LOW;

void setup()
{
   pinMode( 8, INPUT_PULLUP );
   pinMode( 4, OUTPUT );
}

void loop()
{
   int buttonpush = 0;

   while( buttonpush < 3 )
   {
      while( digitalRead( 8 ) == HIGH )
      {
         delay( 100 );
         if( digitalRead( 8 ) == LOW )
         {
            buttonpush++;
         }
      }
   }
   state = !state;
   digitalWrite( 4 , state );
}

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

Re: hulp bij een while loop project

Berichtdoor shooter » 16 Mrt 2021, 16:00

ja dat begint al ergens op te lijken, maar while 8 == HIGH en dan if 8 = LOW dat gaat nog niet goed.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 12
Geregistreerd: 24 Jan 2021, 20:37
Woonplaats: Bovenkarspel

Re: hulp bij een while loop project

Berichtdoor weirdweb » 17 Mrt 2021, 08:42

Op mijn Arduino werkt het prima.

Doordat de pullup op pin 8 wordt gebruikt hangt de drukknop tussen pin 8 en nul (de min).

De eerste keer valt activiteit binnen de buttonpush < 3 lus en meteen binnen de pin 8 high lus.
Als dan de knop dan wordt bediend (met delay als simpele anti dender oplossing) wordt buttonpush verhoogt.
Zolang de knop ingedrukt blijft valt de activiteit daarna automatisch buiten de pin 8 high lus en kan buttonpush niet verder opgehoogt worden,
maar blijft nog wel binnen de buttonpush < 3 lus (zolang deze nog niet de grens berekt heeft).
Als buttonpush 3 heeft bereikt zal uiteindelijk de status van pin 4 omkeren en buttonpush weer op 0 worden gezet.

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 34 gasten