Pages: [1]   Go Down
Author Topic: Dobbelsteen  (Read 901 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hoi,

Voor school is het de bedoeling dat ik met een arduino bordje een dobbelsteen maak. Ik heb alles gemaakt, inclusief een animatie die wordt afgespeeld als het knopje ingedrukt wordt. Het enige dat ik mis, is een random functie. Wat ik wil, is random invoeren zodat wanneer het knopje ingedrukt wordt de animatie afgespeeld wordt waarna random de LED's gaan knipperen, het uiteindelijke getal dat je krijgt. De leds zijn opgesteld in één verticale rij van drie, dan één in het midden en daarnaast weer één verticale rij van drie zodat alle mogelijke tekens van een dobbelsteen naar voren kunnen komen.
Kan iemand mij helpen met de random functie?

Groetjes,
fuqxkz
Logged

Forum Moderator
Belgium
Offline Offline
Edison Member
*****
Karma: 58
Posts: 1731
Arduino rocks; but with my plugin it can fly rocking the world ;-)
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

hallo
Je vraag is niet helemaal duidelijk voor mij.
Heb je een random functie nodig om een getal te berekenen of om een animatie te genereren?
Beiden zullen normaal op de random functie gebaseerd zijn. Zie daarvoor http://playground.arduino.cc/ArduinoNotebookTraduccion/Random
Met vriendelijke groet
Jantje
Logged

Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 168
Posts: 12430
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code: (not tested)
void setup()
{
  ...

  // to generate random enough seed for the random generator
  while(digitalRead(buttonPin) == LOW);
  randomSeed(analogRead(A0)^millis() );  
}

void loop()
{
  if (digitalRead(buttonPin) == HIGH) // Key Pressed
  {
    animateDice();
  }
  ...
}

void animateDice()
{
  for (int i=500+random(500); i > 0; i/=2)   // i is decreasing logarithmically
  {
     setLeds(random(6) + 1);  // display a value
     delay(1000- i);  // wait some time (gets longer every step)
  }
}

setLeds(int nr)
{
  //sets the right leds for a number
}
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hallo
Je vraag is niet helemaal duidelijk voor mij.
Heb je een random functie nodig om een getal te berekenen of om een animatie te genereren?
Beiden zullen normaal op de random functie gebaseerd zijn. Zie daarvoor http://playground.arduino.cc/ArduinoNotebookTraduccion/Random
Met vriendelijke groet
Jantje


Ik zal dat topic eens gaan bekijken, dankjewel!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code: (not tested)
void setup()
{
  ...

  // to generate random enough seed for the random generator
  while(digitalRead(buttonPin) == LOW);
  randomSeed(analogRead(A0)^millis() );  
}

void loop()
{
  if (digitalRead(buttonPin) == HIGH) // Key Pressed
  {
    animateDice();
  }
  ...
}

void animateDice()
{
  for (int i=500+random(500); i > 0; i/=2)   // i is decreasing logarithmically
  {
     setLeds(random(6) + 1);  // display a value
     delay(1000- i);  // wait some time (gets longer every step)
  }
}

setLeds(int nr)
{
  //sets the right leds for a number
}
Deze zal ik eens gaan proberen, bedankt!
Logged

Pages: [1]   Go Up
Jump to: