ik ben met een school project bezig en loop tegen een bepaalde dingen aan ik heb een arduino uno met een rich shield board de vragen 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. ik zal hieronder mijn code plaatsen advies of aanpassen zou ik graag waarderen .
void setup()
{
pinMode(8, INPUT_PULLUP);
pinMode(4, OUTPUT);
}
void loop() {
delay(100);
int buttonpush = 0;
while (buttonpush < 3){
if (8 ==true )
{
buttonpush = buttonpush +1
}
}
if (8 == false);
{
4 = true ;
}
if (8 == true)
{
4= false;
}
}
Die code werkt niet volgens de beschrijving die de leraar aan je gesteld heeft (de code werkt helemaal niet).
Ik zie ook dat je al 57 berichten hebt geplaatst sinds 1 maart, en dat 54 daarvan over dit vraagstuk gaan maar de meesten daarvan in het Engels zijn en dat dat niet helemaal vlekkeloos verlopen is.
Jouw code heeft veel problemen en de meesten daarvan zijn al besproken maar het lijkt er op dat de informatie die gegeven word, niet word begrepen.
Aangezien dit een schoolopdracht is (en we gaan er voorlopig dus ook van uit dat jouw toekomstige vragen dat ook zullen zijn), kun je niet verwachten dat iemand voor jou even jouw opdracht gaat uitvoeren.
Want dan lever je misschien de opdracht wel in, maar heel erg veel zul je er dan niet van geleerd hebben terwijl dat wel de bedoeling van de opdracht was.
De while loop word ongelofelijk snel doorlopen.
Sneller dat de drukknop kan worden ingedrukt door een persoon (zelfs al sneller dan de knop werkelijk mechanisch een contact kan maken en weer breken).
Dat is 1 van de redenen waarom de code niet zal werken.
Je moet niet alleen maar kijken of de knop is ingedrukt want anders klopt er niets van.
Verder is het getal 8 altijd true, want groter dan nul.
Er zijn een aantal redenen waarom dit zo is of kan zijn.
Ik kan je alleen maar aanraden om eens opnieuw te beginnen en even te bedenken wat je allemaal al geleerd had voor je met deze opdracht begon want het lijkt er op dat je inmiddels in de stress hierover een aantal basis dingen vergeten hebt.
die 8 dat moet zijn digitalRead(8). en om het wat netter te houden kijken of het HIGH of LOW moet zijn. en dat dan ook schrijven.
verder is 4 ook geen goed antwoord maar zoek dat even uit mety de reference want het is de bedoeling dat jij het leert. Wij kennen het al.
en schrijf commentaar bij wat er gebeurt dan kun je anderen uitleggen waarom je iets doet.
de delay direct als eerste in de loop is hier wel nodig maar is slecht programmeren.
bedankt heren voor de info ik weet dat het onlogisch programmeren is maar moet dit al als 2e opdracht maken . met een if en else lukt het wel alleen is deze afgekeurd . ik zal hiereven mij code posten omdat ik een error krijg weet niet wat dit inhoud (exit status 1too few arguments to function 'void digitalWrite(uint8_t, uint8_t)')
bedankt voor de code maar hierbij worden byte gebruikt dit werd afgekeurd namelijk er moet iets gemaakt gemaakt worden zonder die byte ik zit me al hele week te ergeren dat mede forum leden zeggen dat het zo niet kan of slecht programmeren is
ik neem aan dat je laatste code zeer snel pin 4 HOOG instelt en verder niets doet.
gezien het feit dat lus () 100.000 seconden per seconde uitvoert, hoe vaak denkt u dat de telling wordt verhoogd wanneer de knop ingedrukt wordt gehouden?
en kun je beschrijven wat een while-lus doet? misschien, als je jezelf hardop beschrijft, zul je het begrijpen
wat verandert de waarde van count in de "while" -lus?
waarom is er geen probleem met de 2e while-lus die test of count == 6 is?
hij doorloopt snel die lus krijg op geen ander manier die 6 lijkt alsof hij bij 3 stopt niet verder kijkt naar de andere while . hoe kan ik dit het beste oplossen welke stukje code
Ik vroeg je om uit te leggen wat een while-lus doet. probeer alsjeblieft te antwoorden. wat zorgt ervoor dat de lus wordt uitgevoerd?
wat doet het aan het einde van de lus? wat zorgt ervoor dat het stopt met uitvoeren?
wordt een code buiten de lus uitgevoerd terwijl de lus wordt uitgevoerd?
Een while lus wordt continu herhaald tot hij een stop krijgt .
wordt een code buiten de lus uitgevoerd terwijl de lus wordt uitgevoerd? deze vraag snap ik niet helemaal
Can you have two while loops?
It is impossible to run two WHILE loops in parallel in the same program. One of them must have priority and must complete before the other can take the next step