Ciao a tutti, ho un problema con il mio progetto, il progetto consiste in 2 arduino nano e due moduli hc12 per comunicare a distanza, uno lo chiameremo arduino B che sarà composto da 1 arduino nano 1 modulo hc12 due pulsanti e due led mentre l'altro lo chiameremo arduino A ed e composto da 1 arduino nano 1 modulo hc12 e 1 led e 1 pulsante, questo è quello che mi serve e che quasi sto ultimando, alla pressione del pulsante P7 di arduino B deve poter accendere il led di arduino A ma solo quando il pulsante di P7 e premuto diversamente deve essere spento, fin qui ci sono riuscito, mentre se alla breve pressione del pulsante P4 di arduino A deve far accendere per 10 secondi il led9 di arduino B per poi spegnersi, e fin qui ci sono riuscito, il problema nasce alla aggiunta del codice su arduino B del secondo pulsante P8, appena lo aggiungo questi mi entra in conflitto con il P7 non facendo più accendere quando premuto il led3 di arduino A, allego la foto del progetto e il codice mio originale + il codice di un collega che mi aveva proposto e che funzionava perfettamente fin quando non avevo aggiunto il secondo pulsante:
//ARDUINO A
#include<SoftwareSerial.h>
SoftwareSerial SUART(10, 11);
long t = 0;
long debounce_delay = 2000;
void setup()
{
Serial.begin(9600);
SUART.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, INPUT_PULLUP);
}
void loop()
{
if (digitalRead(3) == LOW)
if ((millis())- t > debounce_delay){
t= millis();
SUART.print('4');
}else
{
SUART.print('0');
}
delay(100);
byte n = SUART.available();
Serial.println(n);
if (n != 0)
{
char y = SUART.read();
if (y == '1')
{
digitalWrite(2, HIGH);
}
else
{
digitalWrite(2, LOW);
}
}
}
questo il codice di arduino A datomi da un collega e poi lo modificato per le mie esigenze adesso posto il codice di arduino B sempre datomi dal collega e modificato secondo le mie esigenze, ed e qui che non funziona qualcosa:
#include<SoftwareSerial.h>
SoftwareSerial SUART(10, 11); //SRX = 10, STX = 11
void setup()
{
Serial.begin(9600);
SUART.begin(9600);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
}
void loop()
{
if (digitalRead(2) == LOW)
{
SUART.print('1');
}
else
{
SUART.print('0');
}
delay(100);
byte n = SUART.available();
Serial.println(n);
if (n != 0)
{
char y = SUART.read();
if (y == '4')
{
digitalWrite(4, HIGH);
delay(10000);
digitalWrite(4, LOW);
}
if (y == '5')
{
digitalWrite(5, HIGH);
delay(10000);
digitalWrite(5, LOW);
}
}
}
adesso posto il mio schema dei due moduli per come deve venire:
qualcuno può aiutarmi? allego mio cellulare: 3382275504 Filippo.