Aviso

El foro está en modo de sólo lectura.

arduino mega no recepsionan datos de pantalla nextion

Más
5 años 8 meses antes - 5 años 8 meses antes #1528 por zerocool

HOLA BUENAS TARDES JOSE LUIS E INTEGRANTES DE CAMBATRONICS; bueno estoy usando un codigo con los comandos de la libreria del video#1, pero tengo un problemita estoy usando arduino mega me funsiona en el cosigo hay control de brillo y el display lo reconose, pero la pantalla me envia al arduino mega una trama que no reconoce por ejemplo, el arduino me enciende un led con una trama especifica, la pantalla deberia enviar esta trama "0x65 0x01 0x04 0x1 0xff 0xff 0xff" , pero la pantalla envia esta "E 0xff 0xff 0xff" cual seria el motivo por lo que la pantalla envia esta trama con todos los botones envia lo mismo y el arduino no la reconoce, conecto la pantalla al monitor serie de "arduino ide" sale esa trama con "E ffff ffff fffff", pero en el software de de nextion si sale la trama correcta

nota: estoy usando una pantalla de 7" nextion china (USAR HMI)

Archivo Adjunto:

Nombre del Archivo: PROYECTOSM...8-19.rar
Tamaño del Archivo:1,060 KB
Adjuntos:
Última Edición: 5 años 8 meses antes por zerocool.
Más
5 años 8 meses antes - 5 años 8 meses antes #1529 por zerocool
AQUI AGREGO LAS CAPTURAS DE PANTALLA DE LA LECTURAS DE TRAMA DE PUERTO
Última Edición: 5 años 8 meses antes por zerocool.
Más
5 años 8 meses antes #1530 por zerocool
IMAGENES DE PUERTO
Más
5 años 8 meses antes #1531 por Jose Luis
Vale estuve mirando un poco el codigo. Yo sigo pensando que no puede darte la trama que nos indicas. La cuestion es saber que es lo que que falla. Lo primero que yo haria es olvidarme del sketch. Yo haria un nuevo sketch y lo unico que haria el sketch, sin utilizar lirnerias ni nada, es mostrarme lo que viene por el puerto serie. Por que si te muestra el dato que envia la nextion, sabes que el problema lo tienes con las librerias. Y sino lo muestra, osea si sigue apareciendo la latra E ( que ya te digo yo que no puede ser), entonces habra que pensar que puede ser.

Lo primero es asegurarnos que en el puerto llega el dato correcto.
El siguiente usuario dijo gracias: zerocool
Más
5 años 8 meses antes #1533 por zerocool
gracias por tu respuesta y tu apoyo, finalizando mi proyecto voy a enviar mi apoyo a la pagina porque con un granito de arena podremos mejorar

probe enviar las tramas de serial1 a serial0 y me parece raro lo que envia 101 1 6 0 255 255 255

//codigo ok//
//#include <SoftwareSerial.h>
//#include <Nextion.h>
#define SI !1
#define NO !0

byte rele[] = {46,47,48,49,50,51,52,53}; // Salidas digitales a los Relay 1,2,3,4,5,6,7,8
const int ledPin = 13;
//const int buttonpin = 45;
//const int A=0;// the number of the LED pin
//const byte ReceivePin = 19;//2 arduino nano;
//const byte TransmtPin = 18;//3 arduino nano;
int i;
int recv; int trxv;
String message;

//#define nextion Serial1
//#define nextion Serial
//SoftwareSerial nextion(ReceivePin, TransmtPin);
//Nextion myNextion(nextion, 9600);
boolean button1State = 1; boolean button2State = 1; boolean button3State = 1; boolean button4State = 1;
boolean button5State = 1; boolean button6State = 1; boolean button7State = 1; boolean button8State = 1;

void setup()
{

Serial1.begin(9600);
Serial.begin(9600);
//myNextion.init();

pinMode(ledPin, OUTPUT); // Led incluido en el Nano
// pinMode(buttonpin, INPUT);
for (i = 0; i < 8; i++){
pinMode((rele),OUTPUT);
digitalWrite((rele),SI);


} // Inicia los Relays en NO



while (!Serial1) {}; // Espere a que se conecte el puerto serie. Necesario solo para el puerto USB nativo

//int brightness = 255; // Ajustar el brillo de la pantalla de 0 a 255 maximo
// int bright = map(brightness, 0, 1024, 0, 100);
// String dim = "dim=" + String(bright);
// myNextion.sendCommand(dim.c_str());
//
} // Fin Setup

void loop()
{
//message = myNextion.listen(); //check for message
message=Serial1.read();

Serial1.println( message);
Serial.println( message);
if (message == "0x65 0x01 0x04 0x01 ÿÿÿ") {digitalWrite((rele[0]),button1State); button1State = !(button1State);}
if (message == "0x65 0x01 0x05 0x01 0xff 0xff 0xff") {digitalWrite((rele[1]),button2State); button2State = !(button2State); }
if (message == "0x65 0x01 0x06 0x01 0xff 0xff 0xff") {digitalWrite((rele[2]),button3State); button3State = !(button3State); }
if (message == "0x65 0x01 0x07 0x01 0xff 0xff 0xff") {digitalWrite((rele[3]),button4State); button4State = !(button4State); }

if (message == "0x65 0x06 0x18 0x00 0xff 0xff 0xff") {digitalWrite((rele[4]),button5State);button5State = !(button5State);}
//if (message == "656180255255255") {digitalWrite((rele[4]),button5State);button5State = !(button5State);}

if (message == "0x65 0x06 0x10 0x00 0xff 0xff 0xff") {digitalWrite((rele[5]),button6State);button6State = !(button6State);}
if (message == "0x65 0x06 0x11 0x00 0xff 0xff 0xff") {digitalWrite((rele[6]),button7State);button7State = !(button7State);}
if (message == "0x65 0x06 0x12 0x00 0xff 0xff 0xff") {digitalWrite((rele[7]),button8State);button8State = !(button8State);}

//int pval1 = analogRead(A0); // lee la entrada sobre el pin 0 Analogica
//int pot1 = map(pval1,0,1023,0,100);
} // Fin Loop
Más
5 años 8 meses antes #1534 por zerocool
olvide indicarte que por el puerto serie constantemente envia al monitor serie de arduino

-1
-1
-1
-1
101
6
17
0
255
255
255
-1
-1
-1
-1
-1
-1
-1
-1


el "-1"aparece de forma constante pero cuando presiono un boton en la pantalla en el monitor serie aparece asi
Tiempo de carga de la página: 0.111 segundos
Gracias a Foro Kunena