Dobbelsteen

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

hallo
Je vraag is niet helemaal duidel?k 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 Arduino Playground - Random
Met vriendelijke groet
Jantje

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
}

Jantje:
hallo
Je vraag is niet helemaal duidel?k 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 Arduino Playground - HomePage
Met vriendelijke groet
Jantje

Ik zal dat topic eens gaan bekijken, dankjewel!

robtillaart:

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!