Het zeven segment display programma uit dit bericht laat enkel het gevraagde nummer oplichten op het zeven segment display. Om er iets nuttig mee te doen moet er nog extra aan het programma toegevoegd worden.
zo kan je bijvoorbeeld er
– een klok mee maken die getal na getal de tijd toont.
– de temperatuur getal na getal weergeven
– een getal weergeven zoals bijvoorbeeld het aantal wagens op een parking
– een gedobbelde waarde weergeven
– …
uiteraard kunnen veel van deze zaken ook via een LCD scherm weergegeven worden maar soms is een 7 segment display toch veel efficiënter dan een LCD scherm. Bijvoorbeeld om enkel het gedobbelde getal weer te geven is een 7 segment display meer dan voldoende en zou een LCD scherm een dure oplossing zijn omdat daar de mogelijkheden veel meer zijn dan enkel 1 getal weer te geven.
random getal genereren
Om deze dobbelsteen te kunnen programmeren moet je een willekeurig getal genereren en dit willekeurig getal bij het indrukken van de drukknop op het display plaatsen en dan 10 seconden of minder wachten om dan terug een willekeurig getal te genereren. De 10 seconden wachttijd dient ervoor dat je niet 2 keer na elkaar kan dobbelen om zo vals te spelen. Iedereen heeft de kans om te zien welke waarde je gedobbeld hebt alvorens je opnieuw kan dobbelen.
Het indrukken van de knop en iets doen werd uitgelegd in een eerdere tutorial, nu gaan we uitleggen hoe je het random getal kan genereren.
Voor de setup kan je best een geheugen aanmaken waar je het random nummer in zal opslaan.
int randomnummer
In de loop kan je best volgende code plaatsen, deze code zorgt ervoor dat het getal meer random zal zijn dan indien je de seed niet gebruikt.
randomSeed(analogRead(5));
Na de seed kan je dan het randomnummer genereren, dit nummer mag eigenlijk continu gegenereerd worden.
randomnummer = random(1,7);
Telkens als je random(1,6); laat uitvoeren genereer je een willekeurig getal dat minimaal 1 is en maximaal 1 minder dan 7.
laat je dit getal op het zeven segment verschijnen na het indrukken van de knop dan heb je een eenvoudige dobbelsteen.
Volgende les : millis() en counter
Volgende les tonen we twee andere methodes voor het realiseren van de dobbelsteen, dit toont aan dat er altijd meerdere mogelijke oplossingen zijn voor dezelfde probleemstelling.
Vorige les : 7segment functie
Vorige les besproken we de 7 segment functie, als je nu eenvoudig het randomnummer meegeeft aan deze functie dan zal het verschijnen op het 7 segment. Het is dan enkel een kwestie van ervoor te zorgen dat er niet vals kan gespeeld worden.
6 reacties op “Dobbelsteen met random()”-
-
-
-
-
-
dobbelsteen met millis() – Projects4edu
(6 mei 2017 - 15:21)[…] hebben aangetoond dat je een dobbelsteen kan maken met random(), we hebben aangetoond hoe je het getal kan weergeven op een 7 segment display. Nu tonen we een […]
Statistiek met Arduino – Projects4edu
(6 mei 2017 - 15:51)[…] je dit doet voor zowel de klassieke dobbelsteen als de dobbelsteen die je gemaakt hebt dankzij de random functie. als de dobbelsteen die je gemaakt hebt met de millis functie en de dobbelsteen met het tellen. dan […]
Tutorial : Een reactie snelheid GAME – Projects4edu
(12 mei 2017 - 23:43)[…] functies zoals millis() en random() is de uitvoering niet zeer moeilijk. We hebben millis() en random() eerder gebruikt in een tutorial voor het realiseren van een dobbelsteen. Ook iets sturen naar de […]
Tutorial : Een reactie snelheid GAME (code) – Projects4edu
(13 mei 2017 - 12:52)[…] er IN loop() moet komen. Het genereren van een willekeurig getal met random() hebben hebben in de tutorial voor de dobbelsteen reeds gebruikt. Het is aan te raden om direct te testen of dit werkt, de laatste 2 regels van […]
Overzicht tutorials en demonstraties – Projects4edu
(13 mei 2017 - 18:08)[…] 4) Toon genereren met een piezo. 5) aansturen van het 7segment display. 6) Het aansturen van een dobbelsteen door middel van random(). 7) dobbelsteen door middel van millis() of counter. 8) Reactie snelheid game : analyse van […]
KAEDU : 7segment display – Projects4edu
(1 augustus 2017 - 15:41)[…] les legt uit wat je met de random() functie kan aanvangen, deze toepassing is onder andere handig voor het realiseren van een […]