Ciao a tutti solo curiosità,
Mi dite perchè questo programma mi manda in blocco Arduino? non riceve
più dati dal tablet quando vengono inviati e sono costretto a spegnere e accendere arduino
// GESTIONE ILLUMINAZIONE
#define rele1 2 // relè 1 collegato sul pin digitale 2
#define rele2 3 // relè 2 collegato sul pin digitale 3
#define rele3 4 // relè 3 collegato sul pin digitale 4
#define rele4 5 // relè 4 collegato sul pin digitale 5
#define rele5 6 // relè 5 collegato sul pin digitale 6
#define rele6 7 // relè 6 collegato sul pin digitale 7
int pulsante8 = 8; // pulsante collegato sul pin digitale 8
int pulsante9 = 9; // pulsante collegato sul pin digitale 9
int pulsante10 = 10; // pulsante collegato sul pin digitale 10
int pulsante11 = 11;// pulsante collegato sul pin digitale 11
int pulsante12 = 12;// pulsante collegato sul pin digitale 12
int pulsante13 = 14;// pulsante collegato sul pin analog A0
boolean statoPulsante8 = false; // si userà valPulsante per conservare lo stato del pin di input pulsante
boolean statoPulsante9 = false; // si userà valPulsante per conservare lo stato del pin di input pulsante
boolean statoPulsante10 = false; // si userà valPulsante per conservare lo stato del pin di input pulsante
boolean statoPulsante11 = false; // si userà valPulsante per conservare lo stato del pin di input pulsante
boolean statoPulsante12 = false; // si userà valPulsante per conservare lo stato del pin di input pulsante
boolean statoPulsante13 = false; // si userà valPulsante per conservare lo stato del pin di input pulsante
char val;
int T = 400;
void setup() {
Serial.begin(9600);
// IMPOSTA I VARI PIN IN OUTPUT
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
pinMode(rele3, OUTPUT);
pinMode(rele4, OUTPUT);
pinMode(rele5, OUTPUT);
pinMode(rele6, OUTPUT);
digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
digitalWrite(rele4, HIGH);
digitalWrite(rele5, HIGH);
digitalWrite(rele6, HIGH);
pinMode(pulsante8, INPUT); // imposta il pin 8 pulsante come input
pinMode(pulsante9, INPUT); // imposta il pin 9 pulsante come input
pinMode(pulsante10, INPUT); // imposta il pin 10 pulsante come input
pinMode(pulsante11, INPUT); // imposta il pin 11 pulsante come input
pinMode(pulsante12, INPUT); // imposta il pin 12 pulsante come input
pinMode(pulsante13, INPUT); // imposta il pin A0 pulsante come input
}
void loop() {
int valPulsante8 = digitalRead(pulsante8); // controlla se il pulsante 8 è LOW o HIGH
int valPulsante9 = digitalRead(pulsante9); // controlla se il pulsante 9 è LOW o HIGH
int valPulsante10 = digitalRead(pulsante10); // controlla se il pulsante 10 è LOW o HIGH
int valPulsante11 = digitalRead(pulsante11); // controlla se il pulsante 11 è LOW o HIGH
int valPulsante12 = digitalRead(pulsante12); // controlla se il pulsante 12 è LOW o HIGH
int valPulsante13 = digitalRead(pulsante13); // controlla se il pulsante 13 è LOW o HIGH
// Verifica se è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF
if (valPulsante8 == LOW)
{
if (statoPulsante8 == false)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("6");// ON
Serial.flush();
}
statoPulsante8 = true;
}
}
else if (valPulsante8 == HIGH)
{
if (statoPulsante8 == true)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("5");// OFF
Serial.flush();
}
statoPulsante8 = false;
}
}
// Verifica se la luce è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF
if (valPulsante9 == LOW)
{
if (statoPulsante9 == false)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("8");// ON
Serial.flush();
}
statoPulsante9 = true;
}
}
else if (valPulsante9 == HIGH)
{
if (statoPulsante9 == true)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("7");// OFF
Serial.flush();
}
statoPulsante9 = false;
}
}
// Verifica se la luce è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF
if (valPulsante10 == LOW)
{
if (statoPulsante10 == false)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("10");// ON
Serial.flush();
}
statoPulsante10 = true;
}
}
else if (valPulsante10 == HIGH)
{
if (statoPulsante10 == true)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("9");// OFF
Serial.flush();
}
statoPulsante10 = false;
}
}
// Verifica se la luce è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF
if (valPulsante11 == LOW)
{
if (statoPulsante11 == false)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("12");// ON
Serial.flush();
}
statoPulsante11 = true;
}
}
else if (valPulsante11 == HIGH)
{
if (statoPulsante11 == true)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("11");// OFF
Serial.flush();
}
statoPulsante11 = false;
}
}
// Verifica se la luce è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF
if (valPulsante12 == LOW)
{
if (statoPulsante12 == false)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("14");// ON
Serial.flush();
}
statoPulsante12 = true;
}
}
else if (valPulsante12 == HIGH)
{
if (statoPulsante12 == true)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("13");// OFF
Serial.flush();
}
statoPulsante12 = false;
}
}
// Verifica se la luce è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF
if (valPulsante13 == LOW)
{
if (statoPulsante13 == false)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("16");// ON
Serial.flush();
}
statoPulsante13 = true;
}
}
else if (valPulsante13 == HIGH)
{
if (statoPulsante13 == true)
{
for (int A = 0; A < 4; A++)
{
delay(T);
Serial.println("15");// OFF
Serial.flush();
}
statoPulsante13 = false;
}
}
//*********INIZIO CONTROLLO ATTIVAZIONE RLE' ************
if (Serial.available() > 0) {
delay(3);
val = Serial.read();
switch (val) { //prevedere il otherwise
case 'A': //ON/OFF
digitalWrite(rele1, LOW);
delay(400);//400
digitalWrite(rele1, HIGH);
break;
case 'B': // ON/OFF
digitalWrite(rele2, LOW);
delay(400);//400
digitalWrite(rele2, HIGH);
break;
case 'C'://ON/OFF
digitalWrite(rele3, LOW);
delay(400);//400
digitalWrite(rele3, HIGH);
break;
case 'D'://ON/OFF
digitalWrite(rele4, LOW);
delay(400);//400
digitalWrite(rele4, HIGH);
break;
case 'E': //ON/OFF
digitalWrite(rele5, LOW);
delay(400);//400
digitalWrite(rele5, HIGH);
break;
case 'F': //ON/OFF
digitalWrite(rele6, LOW);
delay(400);//400
digitalWrite(rele6, HIGH);
break;
default:
Serial.flush();
}
}
}
Grazie mille.