J'ai tout percé, fixé, soudé...
30 leds c'est beau !
Je branche et ... rien ne va :o
Je teste chaque sortie de l'arduino : parfait
Je teste chaque borne de la matrice de led et catastrophe ! Mon alim indique 5v et 1A !!! En effet, les led RGB déraillent complètement en tête-bêche, j'ai des retours de courant sur les autre leds.
J'alimente 2 bornes en + et - , une led s'allume parfaitement et 8 autres s'allument aussi mais faiblement !
Bref, j'arrache et je remplacerai par de la led basique verte et orange.
En achevant le code, je remarque qu'à l'allumage, un nombre aléatoire est déjà choisi. Ne serait-il pas possible de déplacer la commande "bouton" AVANT le random ?
EDIT : ça marche !
void setup() {
// put your setup code here, to run once:
const byte pinsLeds[] = {2, 3, 4, 5, 6, 7};
Serial.begin(9600);
pinMode(10,INPUT_PULLUP); // pour l'interrupteur
}
void loop(){
delay(40); // juste assez de temps pour que l'allumage soit visible
int etat = digitalRead(10); // a sera HIGH ou LOW selon bouton
while(digitalRead(10) == HIGH)//si bouton activé on mélange
{ delay(10); }//on ne ne fait rien, on attends
pinMode(2, INPUT);
digitalWrite(2, LOW);
pinMode(3, INPUT);
digitalWrite(3, LOW);
pinMode(4, INPUT);
digitalWrite(4, LOW);
pinMode(5, INPUT);
digitalWrite(5, LOW);
pinMode(6, INPUT);
digitalWrite(6, LOW);
pinMode(7, INPUT);
digitalWrite(7, LOW);
;int nbAlea;
randomSeed(analogRead(0));
nbAlea=random(1, 31);
Serial.println(nbAlea);
if (nbAlea == 1) // adressages led au pif
{
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
}
if (nbAlea == 2)
{
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
}
if (nbAlea == 3)
{
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
}
if (nbAlea == 4)
{
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
}
if (nbAlea == 5)
{
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
}
if (nbAlea == 6)
{
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
}
if (nbAlea == 7)
{
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
}
if (nbAlea == 8)
{
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
}
if (nbAlea == 9)
{
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
}
if (nbAlea == 10)
{
pinMode(3, OUTPUT);
digitalWrite(3, HIGH);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
}
if (nbAlea == 11)
{
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
}
if (nbAlea == 12)
{
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
}
if (nbAlea == 13)
{
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
}
if (nbAlea == 14)
{
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
}
if (nbAlea == 15)
{
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
}
if (nbAlea == 16)
{
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
}
if (nbAlea == 17)
{
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
}
if (nbAlea == 18)
{
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
}
if (nbAlea == 19)
{
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
}
if (nbAlea == 20)
{
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
}
if (nbAlea == 21)
{
pinMode(6, OUTPUT);
digitalWrite(6, HIGH);
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
}
if (nbAlea == 22)
{
pinMode(6, OUTPUT);
digitalWrite(6, HIGH);
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
}
if (nbAlea == 23)
{
pinMode(6, OUTPUT);
digitalWrite(6, HIGH);
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
}
if (nbAlea == 24)
{
pinMode(6, OUTPUT);
digitalWrite(6, HIGH);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
}
if (nbAlea == 25)
{
pinMode(6, OUTPUT);
digitalWrite(6, HIGH);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
}
if (nbAlea == 26)
{
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
pinMode(2, OUTPUT);
digitalWrite(2, LOW);
}
if (nbAlea == 27)
{
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
}
if (nbAlea == 28)
{
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
}
if (nbAlea == 29)
{
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
}
if (nbAlea == 30)
{
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
}}
Prochaine étape j'ajoute un buzzer quand le bouton est appuyé...