Ho scritto questo sketch e credo si avvicini già di più ad un prodotto finale funzionante. Nonostante ciò non ho potuto fare a meno dei delay() e mi viene in mente la domanda: si possono far girare su Arduino due sketch/comandi contemporaneamente?
Sketch:
int led1;
int led2;
int led3;
int led4;
int led5;
int var[1] [5];
void setup() {
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
var[1] [0] = random(0,1);
var[1] [1] = random(0,1);
var[1] [2] = random(0,1);
var[1] [3] = random(0,1);
var[1] [4] = random(0,1);
led1 = random(125, 255);
led2 = random(125, 255);
led3 = random(125, 255);
led4 = random(125, 255);
led5 = random(125, 255);
if(var[1] [0] == 1){ analogWrite(3, led1);}else{ digitalWrite(3, LOW);}
if(var[1] [1] == 1){ analogWrite(5, led2);}else{ digitalWrite(5, LOW);}
if(var[1] [2] == 1){ analogWrite(6, led3);}else{ digitalWrite(6, LOW);}
if(var[1] [3] == 1){ analogWrite(10, led4);}else{ digitalWrite(10, LOW);}
if(var[1] [4] == 1){ analogWrite(11, led5);}else{ digitalWrite(11, LOW);}
if(random(0, 1) == 1){
for(int i = led1; i < 1; i--){
delay(20);
}else{
if(led1 <=124){
digitalWrite(3, LOW);
delay(250);
digitalWrite(3, HIGH);
for(int i = 255; i < 1; i--){
delay(20);
}}
if(random(0, 1) == 1){
for(int i = led2; i < 1; i--){
delay(20);
}else{
if(led2 <=124){
digitalWrite(5, LOW);
delay(250);
digitalWrite(5, HIGH);
for(int i = 255; i < 1; i--){
delay(20);
}}
if(random(0, 1) == 1){
for(int i = led3; i < 1; i--){
delay(20);
}else{
if(led3 <=124){
digitalWrite(6, LOW);
delay(250);
digitalWrite(6, HIGH);
for(int i = 255; i < 1; i--){
delay(20);
}}
if(random(0, 1) == 1){
for(int i = led4; i < 1; i--){
delay(20);
}else{
if(led4 <=124){
digitalWrite(10, LOW);
delay(250);
digitalWrite(10, HIGH);
for(int i = 255; i < 1; i--){
delay(20);
}}
if(random(0, 1) == 1){
for(int i = led5; i < 1; i--){
delay(20);
}else{
if(led5 <=124){
digitalWrite(11, LOW);
delay(250);
digitalWrite(11, HIGH);
for(int i = 255; i < 1; i--){
delay(20);
}}
}
Ora i LED si accendono più di uno però per lo spegnimento si spengono in successione e non contemporaneamente.. Come posso fare?