User manual

89
Omdat een gebruiker intuïtief het sneller knipperen combineert met een hogere snelheid, wordt de
schuifregelaar naar rechts hogere waarden teruggeven. In het programma is echter voor een hogere snelheid
een kortere wachttijd, oftewel een lagere waarde nodig. Dit wordt bereikt door het berekenen van de
omgekeerde waarde, die uit de waarden
1 tot en met 10 van de schuifregelaar, de waarden 1.0 tot en met
0.1 voor de variabele t bepaalt. In de formule moet 1.0 en niet 1 staan, opdat het resultaat een drijvend-
kommagetal en geen heel getal wordt.
Hele getallen omrekenen naar drijvende-kommawaarden
Het resultaat van een berekening wordt automatisch als drijvend-kommagetal opgeslagen, wanneer
minimaal één van de waarden in de formule een drijvend-kommagetal is. Zijn alle waarden in de formule
hele getallen (integer), wordt het resultaat tevens tot een heel getal ingekort.
De definitie van het label en de radiobuttons in het dialoogveld worden overgenomen uit het voorgaande
voorbeeld.
Label(root,
text="snelheid").pack()
Voor de uitleg van de schuifregelaar wordt een ander label in het dialoogveld geschreven. Omdat deze geen
parameters in de
pack() methode bevat, wordt het horizontaal gecentreerd, onder de radiobuttons
ingebouwd.
Scale(root, orient=HORIZONTAL, from_ = 1, to = 10, variable = g).pack()
De schuifregelaar is een object van het type Scale, die evenals alle objecten in dit dialoogveld als eerste
parameter
root bevat. De parameter orient=HORIZONTAL geeft aan, dat de schuifregelaar horizontaal ligt.
Zonder deze parameters zou hij verticaal staan. De parameters
from_ en to geven de begin- en eindwaarden
van de schuifregelaar aan. Let hierbij op de schrijfwijze
from_, omdat from zonder laag streepje een
gereserveerd woord is in Python voor het importeren van bibliotheken. De parameter
variabele legt een
eerder gedeclareerde Tk-variabele vast, waarin de actueel ingestelde waarde van de schuifregelaar wordt
ingevoerd. De beginwaarde wordt uit de bij de variabelendeclaratie vastgelegde waarde, in dit geval
5,
overgenomen.
De schuifregelaar wordt met de
pack()-methode ook weer horizontaal gecentreerd in het dialoogveld
ingebouwd.
De overige programmaonderdelen – de
Start
-button, de hoofdlus en het programmaeinde – worden onge-
wijzigd uit het vorige voorbeeld overgenomen.
Start het programma, kies een knipperpatroon en leg de snelheid vast. Hogere waarden laten de patronen
sneller knipperen. Door op de
Start
-button te drukken, leest de functie LedEin() het gekozen
knipperpatroon uit de radiobuttons alsmede de snelheid uit de positie van de schuifregelaar uit.
11 PiDance met LED's
Eind jaren 70, nog voor het tijdperk van de echte computerspellen, bestond er een spel met vier gekleurde
lampen, dat in 1979 zelfs op de allereerste keuzelijst van het spel van het jaar stond. het spel was in