- Mensajes: 6
- Gracias recibidas: 0
Aviso
El foro está en modo de sólo lectura.
- Foro
- Arduino.
- Hardware ( modelos Arduino ).
- Interpretación de datos enviado por la Nextion al arduino (Detectar Botones)
Interpretación de datos enviado por la Nextion al arduino (Detectar Botones)
- Damian07
- Autor del tema
- Fuera de línea
- Navegador Iniciado
Menos
Más
5 años 6 meses antes #1574
por Damian07
Un saludo para todos.
Ante el ultimo vídeo subido por Jose Luis pues le comente como se podía tener una mejor respuesta de lectura de botones es decir cuando se presiona un boton o push boton en la pantalla el arduino lo detecte , ya que sugeria que con la libreria oficial es tediosa y ocupa memoria, bajo mi criterio es desagradable..
En fin pues para hacer esta accion simplemente se envia un dato al ucontrolador o arduino,
como ejemplo : print "a", se podria usar solo esa condición si se trata de un botón pulsador, o push boton es decir que no tenga dos estados(Ahi es mas facil). Si es de dos estados como es en este caso de mi ejemplo seria asi:
en la imagen se visualiza como esta configurada y en que apartado esta definido.
Em este caso en.
Touch Press Event:
if(bt0.val==0)
{
print "a"
}
y en Touch Release Event:
if(bt0.val==1)
como se indica en la siguiente imagen.
de esta manera se estaria enviando por el puerto serial al arduino los datos, de forma simple y rápida, se puede verificar al dar debug al programa de la panalla simulando y ver los datos que envia, como se indica en la siguiente imagen:
bueno esto ahi ya esta eso lo pueden configurar tranquilamente a diferentes que se requieran.
ahora en el IDE de arduino el codigo seria asi:
Considerar que solo endico lo necesario. recuerdo que no estoy utilizando ninguna libreria, a excepcion la del puerto serial.
Como podran observar se condiciona que si se inicia el puerto serie se lee algún dato.
if(Serial.available()>0)
{
dato = Serial.read();
}
bien y lo demas como se indico las letras configuradas con a y b, podrian ser otras o mas botones pero este es el caso.
if(dato=='a'){
digitalWrite(luces_l,LOW); // aqui se desactiva cuando se tiene de dato la letra 'a'
}
if(dato=='b'){
digitalWrite(luces_l,HIGH); // aqui se activa cuando se tiene de dato la letra 'b'
}
considerar que "luces_l" simplemente es un pin configurado como salida del Arduino.
No usar delay ya que esto si no garantiza que detecte una actividad en pantalla.
Bueno eso es todo lo que puedo compatirles, para aumentar la velocidad de datos en este ejemplo yo uso 57600 la pantalla de nextion maneja hasta 115200 bauds.
Esto lo pueden configurar en cada pagina creada como se indica en la siguiente imagen:
Cualquier duda, estare respondiendo, esperando les sea de utilidad a futuro estare compartiendo este proyecto, final y aun no lo presento .
Saludos!!
Ante el ultimo vídeo subido por Jose Luis pues le comente como se podía tener una mejor respuesta de lectura de botones es decir cuando se presiona un boton o push boton en la pantalla el arduino lo detecte , ya que sugeria que con la libreria oficial es tediosa y ocupa memoria, bajo mi criterio es desagradable..
En fin pues para hacer esta accion simplemente se envia un dato al ucontrolador o arduino,
como ejemplo : print "a", se podria usar solo esa condición si se trata de un botón pulsador, o push boton es decir que no tenga dos estados(Ahi es mas facil). Si es de dos estados como es en este caso de mi ejemplo seria asi:
en la imagen se visualiza como esta configurada y en que apartado esta definido.
Em este caso en.
Touch Press Event:
if(bt0.val==0)
{
print "a"
}
y en Touch Release Event:
if(bt0.val==1)
como se indica en la siguiente imagen.
de esta manera se estaria enviando por el puerto serial al arduino los datos, de forma simple y rápida, se puede verificar al dar debug al programa de la panalla simulando y ver los datos que envia, como se indica en la siguiente imagen:
bueno esto ahi ya esta eso lo pueden configurar tranquilamente a diferentes que se requieran.
ahora en el IDE de arduino el codigo seria asi:
Considerar que solo endico lo necesario. recuerdo que no estoy utilizando ninguna libreria, a excepcion la del puerto serial.
Como podran observar se condiciona que si se inicia el puerto serie se lee algún dato.
if(Serial.available()>0)
{
dato = Serial.read();
}
bien y lo demas como se indico las letras configuradas con a y b, podrian ser otras o mas botones pero este es el caso.
if(dato=='a'){
digitalWrite(luces_l,LOW); // aqui se desactiva cuando se tiene de dato la letra 'a'
}
if(dato=='b'){
digitalWrite(luces_l,HIGH); // aqui se activa cuando se tiene de dato la letra 'b'
}
considerar que "luces_l" simplemente es un pin configurado como salida del Arduino.
No usar delay ya que esto si no garantiza que detecte una actividad en pantalla.
Bueno eso es todo lo que puedo compatirles, para aumentar la velocidad de datos en este ejemplo yo uso 57600 la pantalla de nextion maneja hasta 115200 bauds.
Esto lo pueden configurar en cada pagina creada como se indica en la siguiente imagen:
Cualquier duda, estare respondiendo, esperando les sea de utilidad a futuro estare compartiendo este proyecto, final y aun no lo presento .
Saludos!!
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
5 años 6 meses antes #1575
por Jose Luis
Respuesta de Jose Luis sobre el tema Interpretación de datos enviado por la Nextion al arduino (Detectar Botones)
En primer darte las gracias por compartir tus ideas con nosotros.
Cuando hablabamos en los comentarios de youtube de no usar las librerias para fexibilizar y mejorar los tiempos de comunicacion entre la pantalla nextion y el arduino, yo creia que capturabas la trama proveniente de la pantalla y la interpretabas desde arduino. Por esa razon te decia que nos pegaras un trozo de codigo.
Al ver el sistema que usas, te cargas todo el protocolo de la pantalla y eso mejora notablemente el flujo de datos sin duda. Lo que antes pdoian ser facilmente, 15 o 20 caracteres entre los que envia la pantalla y los de validacion, ahora se quedan unicamente en uno o dos.
Es una forma mas que los usuarios pueden tomar en cuenta para algunos proyectos criticos. Justamente estoy haciendo yo uno, que como necesito usar interrpciones cada 10 milisegundos, no puedo usar la nextion ya que las tramas se pasan mucho de ese tiempo, en concreto, a 9600bps, creo que son sobre 200ms el tiempo que necesita la pantalla paa comunicarse con arduino.
Voy a probar usando el metodo que usas tu, a ver si consigo hacerlo funcionar asi.
Lo dicho, gracias por compartir con nosotros tu forma de comunicar arduino con la pantalla.
Tienes una cervecita pagada (Estrella Galicia que hay que tirar por la tierra)
Cuando hablabamos en los comentarios de youtube de no usar las librerias para fexibilizar y mejorar los tiempos de comunicacion entre la pantalla nextion y el arduino, yo creia que capturabas la trama proveniente de la pantalla y la interpretabas desde arduino. Por esa razon te decia que nos pegaras un trozo de codigo.
Al ver el sistema que usas, te cargas todo el protocolo de la pantalla y eso mejora notablemente el flujo de datos sin duda. Lo que antes pdoian ser facilmente, 15 o 20 caracteres entre los que envia la pantalla y los de validacion, ahora se quedan unicamente en uno o dos.
Es una forma mas que los usuarios pueden tomar en cuenta para algunos proyectos criticos. Justamente estoy haciendo yo uno, que como necesito usar interrpciones cada 10 milisegundos, no puedo usar la nextion ya que las tramas se pasan mucho de ese tiempo, en concreto, a 9600bps, creo que son sobre 200ms el tiempo que necesita la pantalla paa comunicarse con arduino.
Voy a probar usando el metodo que usas tu, a ver si consigo hacerlo funcionar asi.
Lo dicho, gracias por compartir con nosotros tu forma de comunicar arduino con la pantalla.
Tienes una cervecita pagada (Estrella Galicia que hay que tirar por la tierra)
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
5 años 6 meses antes #1577
por Jose Luis
Respuesta de Jose Luis sobre el tema Interpretación de datos enviado por la Nextion al arduino (Detectar Botones)
De todas formas, podias colgar el fichero de la nextion y el del arduino en un fichero zip, para que el que desee pruebe directamente la diferencia de velocidad a la hora de procesar los datos que vienen de la pantalla con respecto a usar librerias.
Gracias de antemano.
Gracias de antemano.
- Damian07
- Autor del tema
- Fuera de línea
- Navegador Iniciado
Menos
Más
- Mensajes: 6
- Gracias recibidas: 0
5 años 6 meses antes #1578
por Damian07
Respuesta de Damian07 sobre el tema Interpretación de datos enviado por la Nextion al arduino (Detectar Botones)
Gracias por la cervecita .
Por ahora no les puedo subir el código ni el fichero, como les comentaba aun no lo presento y es mi proyecto final(Instituto), apenas lo presente lo subiré. Espero su comprensión.
Cualquier duda estoy para responder.
Un Saludo!
Por ahora no les puedo subir el código ni el fichero, como les comentaba aun no lo presento y es mi proyecto final(Instituto), apenas lo presente lo subiré. Espero su comprensión.
Cualquier duda estoy para responder.
Un Saludo!
- Jose Luis
- Fuera de línea
- Navegador Platino
Menos
Más
- Mensajes: 620
- Karma: 6
- Gracias recibidas: 68
5 años 6 meses antes #1580
por Jose Luis
Respuesta de Jose Luis sobre el tema Interpretación de datos enviado por la Nextion al arduino (Detectar Botones)
Ah, perfecto.
Un saludo.
Un saludo.
- Foro
- Arduino.
- Hardware ( modelos Arduino ).
- Interpretación de datos enviado por la Nextion al arduino (Detectar Botones)
Tiempo de carga de la página: 0.249 segundos