Intitulé : On souhaite une machine qui simule un lancer de dés

Pour simuler un lancer on peut choisir un nombre au hazar. La fonction random génère automatiquement un nombre aléatoie entre deux intervals en utilistant la fonction random

Ayant asignée cette valeur aléatoire entre 1 et 6 a une variable on peut allumer la LED corespondante. Cependant les pins digitaux 0 et 1 sont liés au port série, si le code utilise le moniteur série les LEDs alimentés par les ports digitaux 0 et 1 clignoteront à charque message envoyé à l’ordinateur. C’est pour cela que la fonction random prendra comme argument random(2,8)

<aside> 📔 La fonction random

syntax random(min, max)

⚠️ La fonction ne prendra jamais la valeur max

La fonction random génère des nombres de façon pseudorandom

📚 Documentation

</aside>

Explication du code :

// Définition des variables
// Led 1 -> 6 Ces variables prennent en valeur l'adresse des pins connectée au LEDS
// Led1 = led qui représente un lancé ayant comme résultat 1
int led1 = 7;
int led2 = 6;
int led3 = 5;
int led4 = 4;
int led5 = 3;
int led6 = 2;

// curRand est la valeur n générer aléatoirement
int curRand;
// prevRand est la valeur précédente générée aléatoirement n-1 
int prevRand;

void setup() {
  // Serial.begin initialise la communication via le port série 
	// L'argument que prend lafonction définit la vitesse de transmission en Baud
	// L'arduino par défaut communique à 9600 bauds.
  Serial.begin(9600);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
}

void loop() {
  prevRand = curRand;
  curRand = random(2, 8);
  Serial.println(curRand-1);
  digitalWrite(curRand, HIGH);
  digitalWrite(prevRand, LOW);
  delay(500);
}

https://www.tinkercad.com/embed/a1cytef8RYK?editbtn=1