Trasmissione con EasyTransfer

Buongiorno a tutti.
Ho costruito un semplice segnapunti wireless usando un arduino mega con schermo NEXTION e Xbee (ha piu seriali fisiche e veloci) come trasmettitore e un arduino uno con Xbee e pannelli DMD P10 come visualizzatore. Tutto funziona bene, ma qualche volta sembra che ci siano dei ritardi nel segnare il punteggio. Mi spiego. Il telecomando trasmette via seriale attraverso gli XBee la variabile dei gol fatti, ma nel tabellone non viene incrementato il punteggio e se si continua a segnare gol non vengono indicati. poi sembra che al segnare di un nuovo gol venga ricevuto il segnale e la situazione sul segnapunti viene aggiornata. Sembra che ci siano dei ritardi nella trasmissione o che si riempia un buffer per cui non segna se non viene vuotato. Non riesco a capire cosa puo essere. Allego lo schetch del ricevitore. Le variabili non sono poi cosi tante solo 4...............


/* 
A----->D6
B----->D7
CLK----->D13
LAT----->D8
DR----->D11
OE----->D9

Vista frontale Connettore fine FLAT
   9
   O G
   E N
     D
         __
   O O O O O O O O
   O O O O O O O O

   A B N C L D N +
       C L A R C 5
         k T     V
    6 7  1 8 1
         3   1
*/
#include <DMD2.h>
#include <fonts/Droid_Sans_24.h>
#include <fonts/MyBigFont.h>
#include <fonts/Arial_Black_16.h>
#include <EasyTransfer.h>
 
EasyTransfer ET;

struct DATA_STRUCTURE{
//int countDown_data;
//int k_data;
int locgol_data;
int ospgol_data;
int periodo_data;
int tempo_data;
};
DATA_STRUCTURE myData;

//int k=30;
int countDown=480;
int locgol=0;
int ospgol=0;
int periodo=1;
String strlocgol;
String strospgol;
String strperiodo;
String str1;
//byte pinoe = 9, pinA = 6, pinB = 7, pinLAT = 8, pinCLK = 52, pinDR = 51;


SoftDMD dmd(3,2);  
//SoftDMD dmd(panelsWide, panelsHigh, pinoe, pinA, pinB, pinLAT, pinCLK, pinDR);
DMD_TextBox box(dmd, 5, 0, 32, 32);
DMD_TextBox box1(dmd, 45, 0, 32, 16);
DMD_TextBox box2(dmd, 69, 0, 32, 32);
DMD_TextBox box3(dmd, 32, 15, 32, 16);


void setup() {

   Serial.begin(19200);
   ET.begin(details(myData), &Serial);
   dmd.setBrightness(255);
   dmd.begin();
   print_time1();      


}

void loop() {
 if(ET.receiveData()){
 //k = myData.k_data;
 countDown = myData.tempo_data;
 locgol= myData.locgol_data;
 ospgol= myData.ospgol_data;
 periodo= myData.periodo_data;
 //Serial.print(locgol);
 print_time1();
 }
}

void print_time1()
{
   int mins = countDown / 60;
    int secs = countDown % 60;
    //dmd.clearScreen(); 
    strlocgol=String(locgol);
    strospgol=String(ospgol);
    strperiodo=String(periodo);

    str1=String(mins)+":"+String(secs);
    if (secs <10){
    str1=String(mins)+":"+"0"+String(secs);
    }
 
    dmd.selectFont(Droid_Sans_24);  
    box.clear();
    box.print(strlocgol);

        dmd.selectFont(MyBigFont);  
    box1.clear();
    box1.print(strperiodo);

        dmd.selectFont(Droid_Sans_24);  
    box2.clear();
    box2.print(strospgol);

        dmd.selectFont(Arial_Black_16);  
    box3.clear();
    box3.print(str1);
     
}

Spostato in Categoria specifica italiana.... Si prega di prestare maggiore attenzione alla categoria linguistica in cui si pubblica.

@Willys70: nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato

Guglielmo

Chiedo scusa per la pubblicazione nella sezione sbagliata, ma il BOOMER che c'è in me non vuole lasciarmi. Forse ho trovato la soluzione. La libreria DMD2 che ancora in BETA probabilmente ha dei problemucci. Ho riscritto lo sketch utilizzando la libreria DMD classica, e stasera faccio una prova. Spero di risolvere, ma sinceramente l'idea di utilizzare de textbox mi piaceva............

Confermo quanto detto sopra la libreria DMD2 non va molto bene, mentre la DMD funziona alla grande. Grazie a tutti

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.