hulp bij een while loop project

dus de 2 while moet iksamen zetten en dan 2 if statements maken wanneer hij die waar heet voer dit uit

void loop() {
  delay(100);
  buttonState = digitalRead(8);

  if (buttonState == LOW)   {
    count++;
    {
      Serial.println (count);
    }
    while (3 == count)  {
      
      //   digitalWrite (4, HIGH);
      while (6 == count ) {
        
        //  digitalWrite (4, LOW);
      }
    }
      if (count = 3 )
        digitalWrite (4, HIGH);
      }else
        
      {
          if (count = 6 ){
          digitalWrite (4, LOW);
          count == 0;
          }
         else{ 
      }
      }
}

laat me je code lezen.

uitvoering in lus

vertraging voor 100 msec

set buttonState op de waarde van pin 8 (HIGH / LOW). wanneer ingedrukt, zal de invoer LAAG zijn

als buttonState LOW is, doe het volgende, anders einde loop ()

aantal stappen

print waarde van count

if count == 3 uitvoeren while loop, anders einde loop ()

binnen while (3 == count) lus

while (6 == count) kan nooit worden uitgevoerd binnen while (3 == count) omdat count altijd 3 is binnen de lus

if (3 == count) zal altijd worden uitgevoerd omdat count altijd 3 is binnen de lus

else-instructie kan nooit worden uitgevoerd omdat if (3 == count) altijd waar is
if (6 == count) met else kan nooit worden uitgevoerd omdat else nooit wordt uitgevoerd

Het tweede resultaat is een fout, de code kan nooit worden gecompileerd

herhaal while (3 == count) voor altijd. count zal nooit binnen de lus worden gewijzigd

het is verspilling om code te posten die niet compileert.

ik probeer alles wat ik kan en weet de opracht moet toch ingeleverd worden ook al geef ik aan dat dit onlogish programmeren is in een while .

Ik heb geleerd dat wanneer je iets nieuws probeert, het gemakkelijker is om met werkende code te beginnen dan te proberen de fout te vinden met code die niet werkt.

verschillende versies van code die werken, zijn gepost. maar je hebt ontdekt dat ze fouten hebben gemaakt en code hebben gepost, waardoor ze soms niet eens veel minder werk zullen compileren.

ik weet niet wat ik moet zeggen, dat is nog niet gezegd

het is opgelost :slight_smile:

int button = 8;
int led = 4;
int count = 0;
void setup()
{
  Serial.begin (9600);
  pinMode(button, INPUT_PULLUP);
  pinMode(led, OUTPUT);
}
void loop() {
  while (digitalRead (button) == LOW) {
    delay(200);
    count = count + 1;
    Serial.println(count);
  }
  if (count >= 3) {
    digitalWrite  (led, HIGH);
  }
  if (count >= 6) {
    digitalWrite (led, LOW);
    count = 0;
  }
}

Beste Greg,

Ben jij een Nederlander die in Somerset New Jersey (USA) woont ?
Heb je jouw teksten nu uit het Engels naar het Nederlands vertaald ?

Als jij alles geleerd hebt van bestaande werkende code, dan vraag ik me af hoe je ooit je diploma's hebt behaald voor jouw vak.

Je geeft de vraagsteller en stuk code waarvan de leraar in 3 seconden heeft gezien dat het niet door de leerling geschreven is omdat dar dingen in staan die de leerling nog helemaal niet geleerd heeft (zoals commentaren in het Engels met de juiste termen).

De vraagsteller heeft uiteindelijk een of andere vreemde code te pakken die wellicht wel aan de vraag van de leraar voldoet, maar ook een code is die nergens op slaat.

@opelvectra:

Snap jij wat er in jouw laatst geplaatste code gebeurt ?
Want dat is wel nodig als jouw leraar je gaat vragen hoe dat zit.

Ik heb nog het dringende advies aan jou (zoals anderen dat ook al hebben gegeven) om commentaren in je code te gebruiken zodat je een uitleg kan geven voor elke regel wat daar gebeurt (of wat jij denkt dat daar zou gebeuren).
Als je niet weet hoe dat moet, kun je dat gemakkelijk opzoeken.
Ten eerste leg je dan dus uit wat daar gebeurt en hoeft de leraar er dan niet meer om te vragen, maar ook omdat je dat dus bij elke regel opschrijft denk je daar nog eens een keer extra over na.
Zo kun je je eigen werk ook nog eens controleren.
En over een paar weken nog een keer opzoeken en weten wat je gemaakt hebt.

MAS3

ik begrijp deze code better omdat ik een if en een while statement werk de tekst die ik gebruik om uit te leggen wat hij doet bewerk ik in een flowchart , want anders wordt de tekst behoorlijk lang op deze in een document te zetten .

tja wat een paar simpele accolades al niet doen om een compiler te laten werken, en nee ik shrijf meestal maar 1 keer waar je naar moet kijken .

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.