Pb avec la commande TrueRandom

Bonjour ,
je dois louper quelque chose mais un œil pro verra tout de suite mon erreur. J'ai utilisé la fonction randomSeed() au départ mais c'étaient toujours les mêmes Leds qui s allumaient. Donc je me suis pencher sur TrueRandom

Voilà mon code, avec des bouts de ci de la que j'ai trouver .
J ai une erreur de compilation.


exit status 1

Compilation error: 'class TrueRandomClass' has no member named 'begin'


Voilà le programme


#include <TrueRandom.h>

const int buttonPin = A0; // Broche analogique pour BP
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // les LEDs
const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]); // Nombre de LEDs

void setup() {
  Serial.begin(9600);
  TrueRandom.begin();
  pinMode(buttonPin, INPUT); // broche du bouton poussoir comme entrée
  for (int i = 0; i < numLeds; i++) {
    pinMode(ledPins[i], OUTPUT); // les LEDs comme sorties
  }
}

void loop() {
  if (analogRead(buttonPin) < 500) { // Impulsion du BP
    // Allumer toutes les LEDs pendant 10 secondes
    for (int i = 0; i < numLeds; i++) {
      digitalWrite(ledPins[i], HIGH);
    }
    delay(10000);
    
    // Allumer les LEDs une par une 5 fois
    for (int j = 0; j < 5; j++) {
      for (int i = 0; i < numLeds; i++) {
        digitalWrite(ledPins[i], HIGH);
        delay(500);
        digitalWrite(ledPins[i], LOW);
      }
    }
    
    // Allumer une LED aléatoire pendant 15 secondes
    int randomLed = TrueRandom.random(numLeds); // Générer un nombre aléatoire entre 0 et le nombre de LEDs
    digitalWrite(ledPins[randomLed], HIGH);
    delay(15000);
    ```
    // Eteindre toutes les LEDs
    for (int i = 0; i < numLeds; i++) {
      digitalWrite(ledPins[i], LOW);
    }
  }
}

Merci a toutes les aides que je peux avoir, je ne veux pas etre un pro de la programmation juste faire un "espace "de 8ball.

Merci a tous pour votre aide

ça ne doit pas être tout le code. c'est quoi TrueRandom ? Sur quel arduino êtes vous ?

utilisez vous cette bibliothèque ?

Bonjour

tout le code est la et oui c'est bien cette bibliothèque j'utilise.

J ai un Uno logiciel Arduino IDE 2.3.3

je ne vois pas de #include de cette bibliothèque ...

où avez vous vu qu'il fallait faire un begin() ? jetez un oeil aux exemples

oui tu as raison j ai oublié la ligne de départ

#include <TrueRandom.h>

je viens de modifier sur le post

OK

Donc virez le begin()

(après avoir allumé les leds pendant 10s, il faudrait les éteindre....)

si je vire le begin
l aléatoire ne s active pas

bien sur l erreur disparait

Compilation error: 'class TrueRandomClass' has no member named 'begin'

Oui, faudrait peut-être lire la doc de la librairie comme ça tu verrais qu'il n'y a pas de begin() dans cette librairie et surtout tu saurais que

TrueRandom uses Analog 0. Do not connect anything to this pin.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.