Det finns flera lösningar istället för långa pauser med funktionen 'delay(1000)' en lösning är att göra en egen delay.
Den nya funktionen kallar vi för 'KlickDelay(1000)' där vi kan skicka med antal millisekunder som den ska pausa, i detta fall 1000.
Det värde som skickas med i en funktion kallas för parameter. En funktion kan returnera ett värde, men i denna funktion behövs inte detta.
'Void' betyder att den inte ska returnera något.
Den parameter som skickas till 'KlickDelay(1000)' får namnet 'time' i funktionen.
Om funktionen startas med värdet 1000 som parameter kommer funktionen göra en 'delay(1)' tusen gånger och varje gång kollas om tiden kommit ikapp och om det behövs ett nytt klick ljud.
mills() är en funktion som returnerar antal millisekunder som Uno-kortet varit på. Alltså när Uno-kortet varit på i en timma så returnerar den 60x60x100 = 3 600 000(3.6 miljoner). Därför måste detta värde sparas i en variabel av typen 'long' och 'unsigned' betyder att det inte kan vara ett minus tecken före talet. Alltså inte negativt.
Nu ska problemet vara löst. Även alla snabba klick på en av knapparna funkar.
Inköpslista.
Artikel: 2805 Trafikljus kit, med kod som passar nybörjare.
Direkt länk: https://pchbutik.se/mcu/1794-trafikljus-kit-med-kod-som-passar-nyborjare.html