This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
DUDA Presentación y pregunta. pantalla táctil STONE
#1
Buenos días a todos desde Guadalajara (España), soy informático jubilado y como la informática además de mi profesión siempre a sido una afición más, estoy dando mis primeros pasos en Arduino y es esta práctica me he encontrado con un problema.

Tengo un arduino mega y una pantalla táctil STONE capacitativa de 3,5", me comunico con la pantalla por el puerto Serial1 y no tengo ningún problema para recibir datos de la pantalla de los códigos que envía la pantalla pero a la hora de enviar comandos a la pantalla, bien sea para cambiar de pantalla o presentar valores en campos o etiquetas de esa pantalla es cuando tengo problemas puesto que el comando mandado, si lo aplico en el simulador de la pantalla lo hace perfectamente, pero cuando lo hago por el puerto Serial1 no me hace ni caso.

Para poder solucionar el problema resumí el programa a la mínima expresión (simplemente un comando para cambiar de pantalla) probé 3 sistemas, objeto json, con el comando en una variable y con el comando directamente con la sentencia Serial1.print o Serial1.println (he probado con los tres puertos serie (Serial2, Serial2 y Serial3) con el mismo resultado es decir ninguno, a continuación pego el código, por si alguien sabe decirme como solucionar el problema con el que me encuentro, seguramente debido a mi poca experiencia con el tema Arduino.

#include <stone.h>
#include <ArduinoJson.hpp>
#include <ArduinoJson.h>
#include <SoftwareSerial.h>
/*
  ST<{"cmd_code":"open_win","type":"window","widget":"clv4"}>ET  
  este es el comando que debe llegar a la pantalla y probado en el simulador funciona
*/
void setup ()
{  
  Serial.begin(115200); //para poder ver por el monitor serial que es lo que se manda a la pantalla
  Serial.println("Mandando el comando a la pantalla");
  delay(200);
  Serial1.begin(115200); // puerto serie 1 para comunicar con la pantalla
  Serial1.flush();
  SerializeObject();
 }
void loop(){}
void SerializeObject()
{  
  StaticJsonDocument<100> doc;
  doc["cmd_code"] = "open_window";
  doc["type"] = "window";
  doc["widget"] = "clv4";
  // Enviar el comando a la pantalla
  Serial1.write("ST<");
  serializeJson(doc, Serial1);
  Serial1.write(">ET\n");  
  // Enviar el comando al puerto monitor para saber que se a mandado a la pantalla
  Serial.write("ST<");
  serializeJson(doc, Serial);
  Serial.write(">ET\n");  

}

Y lo que aparece por el puerto mnitor al enviar el comando es:
ST<{"cmd_code":"open_win","type":"window","widget":"clv4"}>ET

Que es lo que debe llegar a la pantalla para cambiar a la pantalla clv4, pero no causa ningún efecto
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  pregunta alimentacion arduino uno homer32 10 5,240 21-05-2016, 02:46 PM
Último mensaje: homer32
  Utilizacion de Tft con panel tactil en arduino erbeni 6 2,717 11-08-2013, 12:19 PM
Último mensaje: VincentM