podrías hacer un video completo de como hacer un código completo dentro de la nextion estoy batallando mucho y tienes un contenido excelente amigo espero que tengas mucho éxito en tu canal
Hola y bienvenido! Muchas gracias por tu comentario!. Claro que si, justamente estaba preparando un video al respecto con un proyecto desde ceros, con timers, eventos y demás, sólo que por motivos de trabajo me ha sido difícil. Pero espero poder subirlo muy pronto.
Muy buena explicacion, quisiera saber como podria comunicar una pantalla nextion con Gpio con un sensor DHT11, si se podria por alguna de sus entradas y salidas o por el puerto , gracias
Depende de la capacidad de la pantalla en cuanto a freecuencia de muestreo, voltaje de trabajo etc. Lo que te recomiendo es usar un microcontrolador para leer los datos del sensor y de ahí transmitorlos a la pantalla por UART. Sin embargo este video te puede ayudar: m.th-cam.com/video/bKUn4U3oZMk/w-d-xo.html
Hola, estoy comunicando un s71200 con una pantalla nextion a través de un modulo CM1241 RS232 y un max3232 para convertir RS232 a ttl. Ya he conseguido recibir en el plc al pulsar botones creados en la pantalla y numeros tambien, con lo que la parte de la recepción la he conseguido. Sin embargo al intentar enviar desde el plc s71200 a la pantalla para que me muestre un valor numerico en un campo no consigo que envíe y no hace nada solo parpadea el led de Tx en el CM1241 RS232 con lo que algo está enviando pero no es lo correcto. He buscado información acerca de todo esto en el set de instrucciones pero no encuentro donde creo que está el problema, que es en la trama de caracteres. La pantalla necesita una trama de caracteres o bytes para saber o empezar a recibir? Yo estoy tratando de hacer el envío en hexadecimal.
Es correcto, la pantalla necesita una trama de caracteres específicos para poder entender la información que le envías. En la página del fabricante encuentras la información correspondiente. Revisa nextion.tech/instruction-set/ en la sección 1. General rules and practices
Hola Hazel, en ese caso, puedes usar la misma instrucción, por ejemplo: prints "x",0 Del lado del Arduino, debes usar el método asociado para leer el puerto serial, y dicho valor se lo asignas a la variable, por ejemplo: char c = Serial.read(); Para más información sobre Arduino puedes ver multitud de tutoriales en Internet sobre cómo leer el puerto serial. Sin embargo, te recomiendo que leas sobre Interrupciones, de manera que solamente almacenes el dato cuando se produzca una interrupción y así no afectas el flujo natural del programa o no lo bloqueas por estar esperando un dato. Si no, puedes usar una rutina sencilla con un while que pregunte por Serial.available() y luego asigne el dato.
Con prints, puedo comunicarme con un sensor con puerto usart, por el puerto serie de la pantalla nextion, pero el valor que me retorne el sensor como lo podría leer para imprimirlo en la pantalla?
Aquí puedes echar un vistazo al set de instrucciones de la pantalla: nextion.tech/instruction-set/, sin embargo, si lo que quieres es procesar los datos que retorna el sensor directamente en la pantalla, no es posible, para ello necesitas un microcontrolador que transfore los datos que lee del sensor, en datos que entienda la pantalla
gran aporte, podías hacer lo mismo con un temporizador? que cuando pulses encienda 5 segundos, como si fuera un elevalunas de coche. gracias. y otro con longclick, graciasssssssssssss
Hola y bienvenido!. De hecho, puedes incluir el temporizador directamente en la pantalla. Nextion Editor incluye un objeto timer que ejecuta un acción cuando el timer llega a 0. Por tanto, puedes iniciar el conteo del timer o habilitarlo cuando toques un botón, al mismo tiempo que activas un motor. Cuando el timer termine y llegue a 0, en el evento que se dispara puedes desactivar el motor. Para el longclick, puedes utilizar lo mismo. Presionas el botón y a la vez habilitas el timer. Cuando el timer llegue a 0, si el botón todavía está siendo presionado, que se active el motor y habilite otro timer para mantener el motor activo durante un tiempo. Aún así, para verificar que el motor ha recorrido el 100% de la trayectoria, te recomiendo usar algún sensor de fin de carrera, óptico o similar asociado con un relé y un transistor o un circuito similar. Pero si quieres usar únicamente la pantalla, deberás calibrar muy bien los timers. Muchos éxitos!
Puedes usar cualquier terminal serial, en mi caso uso GTKTERM, pero si estás en Windows puedes usar Putty. Recuerda que la pantalla se conecta en ese caso a un conversor USB-serial, de manera que dicho conversor recibe los datos de la pantalla por UART y los transmite al PC por USB
@@GTRONICK Ya consegui enviar y recibir datos al mismo tiempo el problema es que cuando cambio a otra pantalla si por ejemplo enciendo un led, y vuelvo no me guarda el estado de ese boton por eso se queda siempre encendido y tengo que encenderlo y apagarlo otra vez estaria bien un video de como pasar el estado de una pagina a otra y control de bucles , tambien le doy al boton de estado en la pantalla y alguna vez no me enciende el led cuando quiere , también podrias explicar cosas de ese estilo en tu siguiente video ,gracias
tienes algun video tutorial para ponerle el fondo de imagen a la pantalla nextion? mi sd card detecta un error en FAT y no carga que podri a hacer? volver a formatear?
Debes formatear la tarjeta en FAT32, y usar una de máximo 16GB o incluso 8GB, puede que si usas una uSD de mayor capacidad la pantalla tenga problemas al reconocerla. Para el fondo, revisa las propiedades, sí mal no recuerdo hay una opción para agregar imágenes al proyecto.
Otra pregunta.....? Como enviar el contenido de una caja de texto Nextion concatenada, precedida de una Letra. Ejemplo quiero enviar la letra P unido a lo que contenga un text.... P7550 (por ejemplo)?
Puedes intentar concatenando la letra con el contenido de la caja de texto, y asignando el resultado a una variable, luego envías el contenido de la variable por UART. Te recomiendo experimentar en el apartado de código.
Buen día, excelente explicación. Me gustaría saber cómo puedo controlar una animación en pantalla Nextion desde Arduino por medio de un pulsador. Si es posible contactarme contigo. Gracias
Hola y bienvenido!. Bueno, en ese caso, puedes enviar un dato por puerto serial a la pantalla para ir ocultando la imagen anterior y mostrar la siguiente con el comando vis. La pantalla más básica, como la del video, no soporta clips de video ni gifs, por tanto hay que tener las imágenes cargadas en la pantalla e irlas mostrado y ocultando.
@@GTRONICK Mi idea es que cuando salga el mensaje en la pantalla nextion éste se quede parpadeando y al activar un pulsador en Arduino deje de mostrar el mensaje, sólo parpadea cuando salga. El parpadeando del mensaje lo hice desde la misma nextion.
Desde la pantalla, usas el comando prints 123,0 por ejemplo, lo que enviará al MCU el valor 0x7B 0x00 0x00, Recuerda que la pantalla envía la información en hexadecimal. Para más simplicidad puedes enviarlo en formato texto, usando prints "123",0 lo cual enviará el literal 123, es decir 0x31 0x32 0x33. También puedes usar printh 31 32 33, lo cual enviará el ASCII del 1 2 y 3 respectivamente.
@@GTRONICK estoy usando una variable numérica con un teclado numérico en el campo "key" , cuando termino de teclear el número no lo manda, con ese número quiero establecer un set point
En qué evento y cómo estás tratando de enviar el número? Al presionar el botón o al liberarlo? Cómo estás probando la respuesta de la pantalla? en una terminal serial, en un MCU?
En qué evento y cómo estás tratando de enviar el número? Al presionar el botón o al liberarlo? Cómo estás probando la respuesta de la pantalla? en una terminal serial, en un MCU?
Es ArchLinux con Plasma (KDE). Te invito a ver los otros videos del canal al respecto, donde explico cómo se instala y cómo se "tunea" para darle esa apariencia. Muchos éxitos!
Muchas gracias por tu video .ME ha resultado muy útil.
Muchisimas Gracias ,,,
podrías hacer un video completo de como hacer un código completo dentro de la nextion estoy batallando mucho y tienes un contenido excelente amigo espero que tengas mucho éxito en tu canal
Hola y bienvenido! Muchas gracias por tu comentario!. Claro que si, justamente estaba preparando un video al respecto con un proyecto desde ceros, con timers, eventos y demás, sólo que por motivos de trabajo me ha sido difícil. Pero espero poder subirlo muy pronto.
Muy amable
Por el video sera de mucha ayuda
Sigue adelante
Muy buena explicacion, quisiera saber como podria comunicar una pantalla nextion con Gpio con un sensor DHT11, si se podria por alguna de sus entradas y salidas o por el puerto , gracias
Depende de la capacidad de la pantalla en cuanto a freecuencia de muestreo, voltaje de trabajo etc. Lo que te recomiendo es usar un microcontrolador para leer los datos del sensor y de ahí transmitorlos a la pantalla por UART. Sin embargo este video te puede ayudar: m.th-cam.com/video/bKUn4U3oZMk/w-d-xo.html
Hola, estoy comunicando un s71200 con una pantalla nextion a través de un modulo CM1241 RS232 y un max3232 para convertir RS232 a ttl. Ya he conseguido recibir en el plc al pulsar botones creados en la pantalla y numeros tambien, con lo que la parte de la recepción la he conseguido. Sin embargo al intentar enviar desde el plc s71200 a la pantalla para que me muestre un valor numerico en un campo no consigo que envíe y no hace nada solo parpadea el led de Tx en el CM1241 RS232 con lo que algo está enviando pero no es lo correcto. He buscado información acerca de todo esto en el set de instrucciones pero no encuentro donde creo que está el problema, que es en la trama de caracteres. La pantalla necesita una trama de caracteres o bytes para saber o empezar a recibir? Yo estoy tratando de hacer el envío en hexadecimal.
Es correcto, la pantalla necesita una trama de caracteres específicos para poder entender la información que le envías. En la página del fabricante encuentras la información correspondiente. Revisa nextion.tech/instruction-set/ en la sección 1. General rules and practices
Hola, gracias por el video ¿Como sería con arduino? Enviarle por ejemplo un carácter y lo almacene en una variable
Hola Hazel, en ese caso, puedes usar la misma instrucción, por ejemplo: prints "x",0
Del lado del Arduino, debes usar el método asociado para leer el puerto serial, y dicho valor se lo asignas a la variable, por ejemplo:
char c = Serial.read();
Para más información sobre Arduino puedes ver multitud de tutoriales en Internet sobre cómo leer el puerto serial. Sin embargo, te recomiendo que leas sobre Interrupciones, de manera que solamente almacenes el dato cuando se produzca una interrupción y así no afectas el flujo natural del programa o no lo bloqueas por estar esperando un dato. Si no, puedes usar una rutina sencilla con un while que pregunte por Serial.available() y luego asigne el dato.
Con prints, puedo comunicarme con un sensor con puerto usart, por el puerto serie de la pantalla nextion, pero el valor que me retorne el sensor como lo podría leer para imprimirlo en la pantalla?
Aquí puedes echar un vistazo al set de instrucciones de la pantalla: nextion.tech/instruction-set/, sin embargo, si lo que quieres es procesar los datos que retorna el sensor directamente en la pantalla, no es posible, para ello necesitas un microcontrolador que transfore los datos que lee del sensor, en datos que entienda la pantalla
Excelente trabajo? como recibo la información en una caja de texto de algo que envie el MCU?
Te recomiendo ver este video para que te hagas una idea: th-cam.com/video/OcN34M_JUy8/w-d-xo.html
gran aporte, podías hacer lo mismo con un temporizador? que cuando pulses encienda 5 segundos, como si fuera un elevalunas de coche. gracias. y otro con longclick, graciasssssssssssss
Hola y bienvenido!. De hecho, puedes incluir el temporizador directamente en la pantalla. Nextion Editor incluye un objeto timer que ejecuta un acción cuando el timer llega a 0. Por tanto, puedes iniciar el conteo del timer o habilitarlo cuando toques un botón, al mismo tiempo que activas un motor. Cuando el timer termine y llegue a 0, en el evento que se dispara puedes desactivar el motor. Para el longclick, puedes utilizar lo mismo. Presionas el botón y a la vez habilitas el timer. Cuando el timer llegue a 0, si el botón todavía está siendo presionado, que se active el motor y habilite otro timer para mantener el motor activo durante un tiempo. Aún así, para verificar que el motor ha recorrido el 100% de la trayectoria, te recomiendo usar algún sensor de fin de carrera, óptico o similar asociado con un relé y un transistor o un circuito similar. Pero si quieres usar únicamente la pantalla, deberás calibrar muy bien los timers. Muchos éxitos!
como se llama el software para recibir lo que envia la pantalla NEXTION?
Puedes usar cualquier terminal serial, en mi caso uso GTKTERM, pero si estás en Windows puedes usar Putty. Recuerda que la pantalla se conecta en ese caso a un conversor USB-serial, de manera que dicho conversor recibe los datos de la pantalla por UART y los transmite al PC por USB
@@GTRONICK yo aqui buscando como loco GTKTERM para windows🤣
hola puedes hacer un video controlando algun led o motor , atraves de la pantalla ? gran aportes
Hola y bienvenido! Claro que sí, tengo planeado hacerlo mañana si todo sale bien.
@@GTRONICK Ya consegui enviar y recibir datos al mismo tiempo el problema es que cuando cambio a otra pantalla si por ejemplo enciendo un led, y vuelvo no me guarda el estado de ese boton por eso se queda siempre encendido y tengo que encenderlo y apagarlo otra vez estaria bien un video de como pasar el estado de una pagina a otra y control de bucles , tambien le doy al boton de estado en la pantalla y alguna vez no me enciende el led cuando quiere , también podrias explicar cosas de ese estilo en tu siguiente video ,gracias
tienes algun video tutorial para ponerle el fondo de imagen a la pantalla nextion?
mi sd card detecta un error en FAT y no carga que podri a hacer?
volver a formatear?
Debes formatear la tarjeta en FAT32, y usar una de máximo 16GB o incluso 8GB, puede que si usas una uSD de mayor capacidad la pantalla tenga problemas al reconocerla. Para el fondo, revisa las propiedades, sí mal no recuerdo hay una opción para agregar imágenes al proyecto.
@@GTRONICK gracias, funcionó con una de 2GB, con una de 4GB no funcionaba
Otra pregunta.....? Como enviar el contenido de una caja de texto Nextion concatenada, precedida de una Letra.
Ejemplo quiero enviar la letra P unido a lo que contenga un text....
P7550 (por ejemplo)?
Puedes intentar concatenando la letra con el contenido de la caja de texto, y asignando el resultado a una variable, luego envías el contenido de la variable por UART. Te recomiendo experimentar en el apartado de código.
@@GTRONICK a una caja de texto le puse este codigo y funcionó.
t4.txt+=t4.txt+"A"
Gracias. Like.
Gracias a ti! ;)
Buen día, excelente explicación. Me gustaría saber cómo puedo controlar una animación en pantalla Nextion desde Arduino por medio de un pulsador. Si es posible contactarme contigo. Gracias
Hola y bienvenido!. Bueno, en ese caso, puedes enviar un dato por puerto serial a la pantalla para ir ocultando la imagen anterior y mostrar la siguiente con el comando vis. La pantalla más básica, como la del video, no soporta clips de video ni gifs, por tanto hay que tener las imágenes cargadas en la pantalla e irlas mostrado y ocultando.
@@GTRONICK Buen día, la estructura del comando vis cómo sería?. Gracias
Si mal no recuerdo, es item.vis=0 para ocultar, por ejemplo t1.vis=0 ocultará la caja de texto con id 1
@@GTRONICK Mi idea es que cuando salga el mensaje en la pantalla nextion éste se quede parpadeando y al activar un pulsador en Arduino deje de mostrar el mensaje, sólo parpadea cuando salga. El parpadeando del mensaje lo hice desde la misma nextion.
A punto de lograr mis propósitos,.....
como se pone retorno de carro a la siguente linea?
prints t4.txt,0
Prueba con
aunque, si mal no recuerdo, creo que en el set de instrucciones hay un comando específico para eso
@@GTRONICK me da error.
como borrar el contenido de una caja de texto cuando deje de presionar un boton?
Hola, como envías un numero?
Desde la pantalla, usas el comando prints 123,0 por ejemplo, lo que enviará al MCU el valor 0x7B 0x00 0x00, Recuerda que la pantalla envía la información en hexadecimal. Para más simplicidad puedes enviarlo en formato texto, usando prints "123",0 lo cual enviará el literal 123, es decir 0x31 0x32 0x33. También puedes usar printh 31 32 33, lo cual enviará el ASCII del 1 2 y 3 respectivamente.
@@GTRONICK estoy usando una variable numérica con un teclado numérico en el campo "key" , cuando termino de teclear el número no lo manda, con ese número quiero establecer un set point
En qué evento y cómo estás tratando de enviar el número? Al presionar el botón o al liberarlo? Cómo estás probando la respuesta de la pantalla? en una terminal serial, en un MCU?
En qué evento y cómo estás tratando de enviar el número? Al presionar el botón o al liberarlo? Cómo estás probando la respuesta de la pantalla? en una terminal serial, en un MCU?
@@GTRONICK lo estoy enviando al presionarlo, estoy usando una interfase del software niple
Muy bonito tu linux, cual es?
Es ArchLinux con Plasma (KDE). Te invito a ver los otros videos del canal al respecto, donde explico cómo se instala y cómo se "tunea" para darle esa apariencia. Muchos éxitos!
@@GTRONICK Gracias, buscare los videos..