Ciao a tutti,
sto impazzendo da un mese, su uno sketch che dovrebbe far accendere 2 led alla volta contemporaneamente per 2 secondi, in modo randomico su un totale di 6 Led, attraverso un relè, per un totale di 90 secondi. Sono riuscito a farne accendere uno, ma sto impazzendo per il secondo, non sono molto esperto, ed è da pochi mesi che sto studiando il linguaggio di programmazione, ma non trovo nulla, e ho finito le idee, qualcuno sa dirmi se almeno è fattibile, copio per farvi capire lo sketch che sto usando:
[nobbc]
//random 6 led
int Cartello01 = 12;
int Cartello02 = 11;
int Cartello03 = 10;
int Cartello04 = 9;
int Cartello05 = 8;
int Cartello06 = 7;
int tempototale = 90;
int numbers[] = { 12, 11, 10, 9, 8, 7};
int length = sizeof(numbers) / sizeof(int);
void setup() {
// declare pins to be an output:
pinMode(Cartello01, OUTPUT);
pinMode(Cartello02, OUTPUT);
pinMode(Cartello03, OUTPUT);
pinMode(Cartello04, OUTPUT);
pinMode(Cartello05, OUTPUT);
pinMode(Cartello06, OUTPUT);
randomSeed(analogRead(0));
//Accensione tutti Led
digitalWrite(12, LOW); //accende
digitalWrite(11, LOW); //accende
digitalWrite(10, LOW); //accende
digitalWrite(9, LOW); //accende
digitalWrite(8, LOW); //accende
digitalWrite(7, LOW); //accende
delay(10000);
//Spegnimento tutti led
digitalWrite(Cartello01, HIGH); //spegne
digitalWrite(Cartello02, HIGH); //spegne
digitalWrite(Cartello03, HIGH); //spegne
digitalWrite(Cartello04, HIGH); //spegne
digitalWrite(Cartello05, HIGH); //spegne
digitalWrite(Cartello06, HIGH); //spegne
}
void loop()
{
do
{
//Seleziona un cartello tra i 6
int randomtarget1 = numbers[rand() % length];
// Spegne il LED e lo tiene spento
digitalWrite(randomtarget1, LOW); //Accende il led random
//Mette il sistema in pausa per un tempo random, dando l'illusione dello spegnimento temporizzato
delay(2000);
//Riaccende il LED e riesegue il ciclo
digitalWrite(randomtarget1, HIGH); //Spegne il led random
tempototale = (tempototale-1);
} while (tempototale != 0);
digitalWrite(Cartello01, HIGH); //spegne
digitalWrite(Cartello02, HIGH); //spegne
digitalWrite(Cartello03, HIGH); //spegne
digitalWrite(Cartello04, HIGH); //spegne
digitalWrite(Cartello05, HIGH); //spegne
digitalWrite(Cartello06, HIGH); //spegne
//Spegni Arduino
exit(0);
}
[/nobbc]
grazie mille anticipatamente !
Davide