No, ma che top secret
Tra l'altro è più o meno uguale a quello che tu mi indicasti, poi comunque ho fatto diverse modifiche e non so quale è caricato al momento.
Ho notato che arriva a funzionare anche qualche ora e poi il led che ho collegato al posto del motore dc inizia a sfarfallare e iniziano a lampeggiare i led tx e L del micro del ricevitore. La cosa strana è che dopo aver tolto l'alimentazione, una volta riacceso il tutto, passa molto meno tempo prima che si ripresenti lo stesso problema (un minuto più o meno), come se ci fosse un qualcosa che mantiene memoria di quello che è accaduto prima che si verificasse il blocco. E' un peccato perchè ho creato dei circuiti stampati e dei case per contenere il tutto, se non fosse per questo problema andrebbe alla grande. Questo è il codice che poi ho modificato, non so nemmeno se è quello che è caricato sul ricevitore, ma comunque cambia poco in termini di comportamento. Guardando in rete ho trovato alcuni che riscontrano lo stesso problema, c'è chi imputa il problema al metodo Lora.endpacket, ma qui davvero non saprei come intervenire.
Tx.................................................................................
#define MOT 3
#define SERVOMOT 5
int val,val2;
#include <SPI.h>
#include <LoRa.h>
int pot = A0;
int pot2 = A1;
void setup() {
Serial.begin(9600);
pinMode(pot,INPUT);
pinMode(pot2,INPUT);
while (!Serial);
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
int val = map(analogRead(pot),0,1024,0,255);
int val2 = map(analogRead(pot2),0,1024,0,255);
LoRa.beginPacket();
LoRa.print(val);
LoRa.print(" ");
LoRa.print(val2); //AGGIUNTO
Serial.print (val);
Serial.print (" ");
Serial.println (val2);
LoRa.endPacket();
delay(500);
}
RX
..........................................................................
void setup() {
servo.attach(SERVOMOT);
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Receiver");
if (!LoRa.begin(433E6)) { // or 915E6
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
int packetSize = LoRa.parsePacket();
if (packetSize) {
while (LoRa.available())
{
val = LoRa.parseInt();
val2 = LoRa.parseInt();
}
}
Serial.print(val);
Serial.print(" ");
Serial.println(val2);
analogWrite(MOT, val);
int angolo = map(val2, 0, 255, 0, 179);
servo.write(angolo);
delay(20);
}