Quindi il trasmettitore potrebbe avere un codice così:
#include <SoftwareSerial.h>
SoftwareSerial serialeSoftware(RX, TX);
int letturaSensore = 0;
void setup() {
serialeSoftware.begin(9600);
}
void loop() {
while (true) {
letturaSensore = analogRead(A0);//qui andrà specificato il piedino di trasmissione del sensore di corrente
if ((String)serialeSoftware.read() == "0X00") {
//errore
} else() {
serialeSoftware.print("0x02"); // dico che ho iniziato la trasmissione
}
if ((String)serialeSoftware.read() == "0X00") {
//errore
} else() {
serialeSoftware.print(letturaSensore); // mando tutti i dati ecc…
}
if ((String)serialeSoftware.read() == "0X00") {
//errore
} else() {
serialeSoftware.print("0x03"); // dico che è finita la trasmissione
}
if ((String)serialeSoftware.read() == "0X00") {
//errore
} else() {
serialeSoftware.print("0x04") // chiudo la trasmissione
}
}
}
Mentre il ricevitore sarà:
#include <SoftwareSerial.h>
SoftwareSerial serialeSoftware(RX,TX);
int letturaSensore = 0;
void setup() {
serialeSoftware.begin(9600);
}
void loop() {
if(serialeSoftware.available()>0){
if((String)serialeSoftware.read()=="0X02"){
letturaSensore= softwareSerial.read();
if((String)serialeSoftware.read()=="0X03"){
if((String)serialeSoftware.read()=="0X04"){
softwareSerial.close();
} else(){
softwareSerial.print("0X00");
}
} else(){
softwareSerial.print("0X00");
}
} else(){
softwareSerial.print("0X00");
}
}
}