Home Soluciones Cómo controlar Smart Display desde un host mediante CANopen: ejemplo de control de indicador

Cómo controlar Smart Display desde un host mediante CANopen: ejemplo de control de indicador

May 04, 2022

Introducción

En las presentaciones anteriores de Smart Display nos hemos centrado principalmente en sus funciones y características, sin profundizar tanto en cómo puede controlarse desde un host en la aplicación final del cliente. En este artículo utilizamos un indicador como ejemplo para mostrar cómo los datos procedentes de un control físico y del host (Arduino) pueden transmitirse al módulo Smart Display para actualizar la visualización.

En este ejemplo se utiliza un Smart Display de 4,3 pulgadas con CAN Bus para mostrar un indicador de 240 grados controlado desde un host. El host está compuesto por un Arduino Mega 2560, un CAN Bus Shield y un Rotary Angle Sensor. Los componentes necesarios son los siguientes:

  1. Smart Display de 4,3 pulgadas con CAN Bus
  2. Arduino Mega 2560
  3. CAN Bus Shield
  4. Rotary Angle Sensor
  5. CAN Bus Dongle
  6. GUI Builder
 

Diagrama del sistema

Diagrama del sistema de control del Smart Display desde el host mediante CANopen

Paso 1: Diseñar el proyecto en GUI Builder

1.1 Cree un nuevo proyecto y seleccione en GUI Builder la plantilla en blanco para una pantalla de 4,3 pulgadas.

Creación de un nuevo proyecto para Smart Display de 4,3 pulgadas en GUI Builder

1.2 En el panel Resource, seleccione la imagen de fondo negra para Background Style 0.

Selección de la imagen de fondo negra para Background Style 0 en GUI Builder

1.3 En la ventana Gauge Edit, configure el ángulo de giro de la aguja.

►En primer lugar, haga clic en el botón Modify de Gauge Style 6.

Modificación de Gauge Style 6 en GUI Builder

►Una vez seleccionado, aparecerá una vista previa del indicador en la ventana Gauge Editor, como se muestra a continuación.

Vista previa del indicador en Gauge Editor de GUI Builder

►Marque la opción "Show Details" para consultar información adicional sobre el giro de la aguja.

Ajustes Show Details para el giro de la aguja en GUI Builder

►Los ángulos mínimo y máximo de la aguja pueden ajustarse mediante los botones +/- del área Degree, como se muestra a continuación.

Ajuste de los ángulos mínimo y máximo de la aguja en GUI Builder

►El Value Range se define mediante un valor mínimo y un valor máximo. Cuando se recibe un valor a través de CAN Bus, este se asigna a los ángulos mínimo y máximo de giro de la aguja.

Configuración del Value Range del indicador en GUI Builder

►Una vez configurado el indicador, puede comprobar su funcionamiento desplazando hacia la derecha el control deslizante Test Value. A medida que aumenta el Test Value, también aumenta el ángulo de la aguja hasta alcanzar el valor y el ángulo máximos configurados.

Comprobación del giro de la aguja mediante Test Value en GUI Builder

Paso 2: Compilar y cargar el proyecto

2.1 Una vez completados los pasos anteriores, acceda a la sección Page Info y arrastre Gauge Style 6 hasta el centro de la pantalla.

2.2 Conecte el PC al Smart Display mediante USB2CAN y, a continuación, haga clic en los iconos "Connect Device" y "Upload the Project". Los recursos y los ajustes de la página se cargarán en el módulo Smart Display mediante GUI Builder, como se muestra a continuación:

Conexión del Smart Display y carga del proyecto mediante GUI Builder

Progreso de la carga del proyecto en GUI Builder

2.3 La pantalla pasa de la pantalla de inicio a la interfaz de funcionamiento. Cuando aparezca la siguiente pantalla en el Smart Display de 4,3 pulgadas con CAN Bus, el proyecto se habrá cargado correctamente.

Indicador de 240 grados mostrado en el Smart Display de 4,3 pulgadas tras cargar el proyecto

Paso 3: Programar el host Arduino

Programación del host Arduino para el control del Smart Display mediante CANopen

3.1 Acceda a la sección Page de GUI Builder. En la estructura CANopen, el índice de Gauge Style 6 corresponde a object 0 (0x2000). Para programar el host Arduino, es importante conocer el índice del objeto. A partir de este índice, el host Arduino puede consultar o modificar el estado del objeto, como se muestra en el código de ejemplo siguiente.

3.2 El host Arduino puede utilizar la función "ConfigSmartDisplay" para definir el type, la posición x/y, el style, la configuration y la imagen de fondo de object 0. Como alternativa, sin necesidad de realizar una configuración adicional desde el host Arduino, el Smart Display puede leer los datos de los objetos ya almacenados en la memoria Flash integrada (previamente cargados mediante GUI Builder) y mostrar en pantalla los objetos configurados.

Código Arduino para configurar los parámetros de los objetos del Smart Display

Ejemplo de la función Arduino ConfigSmartDisplay para configurar objetos

3.3 Cuando el host Arduino detecta un cambio en el valor del Rotary Angle Sensor, envía el valor correspondiente al Smart Display mediante CANopen.

En el programa siguiente se muestran los principales ID y sub-index de la estructura de comandos. Este programa actualiza el valor del indicador (object index 0) en función del valor recibido del Rotary Angle Sensor.

Código Arduino CANopen para actualizar el valor del indicador en el Smart Display

Apéndice: Configuración del proyecto

Para obtener más información sobre el programa, consulte el siguiente repositorio de GitHub: https://github.com/Smart-Display-Series/SmartDisplay_CANbus_Arduino_Examples. El vídeo siguiente muestra la configuración real del hardware y su funcionamiento.

 

Pruebe WINSTAR GUI Builder de forma gratuita. Complete el formulario de solicitud para recibir por correo electrónico el enlace de descarga de GUI Builder.

¿Tiene preguntas sobre soluciones de pantallas para su negocio? Contacte con nosotros!

Subscribirse

Reciba correos electrónicos sobre nuevas actualizaciones de Winstar

Contacte con nosotros

Precio/Ficha técnica/Consulta general

Soporte técnico

Contacte con nosotros para cualquier información técnica

go top
Contacto
close

Valoramos tu privacidad

Al hacer clic en "Permitir todas las cookies", aceptas el almacenamiento de cookies en tu dispositivo para mejorar la navegación en el sitio, analizar el uso del sitio y ayudar en nuestros esfuerzos de marketing y rendimiento. Puedes encontrar más información sobre este tema en nuestra política. Política de privacidad

Valoramos tu privacidad

Winstar y ciertos terceros utilizan cookies en www.winstar.com.tw. Los detalles sobre los tipos de cookies, su propósito y las partes involucradas se describen a continuación y en nuestra Política de Cookies. Haga clic en “Permitir todos” para dar su consentimiento para el uso de cookies y tener la mejor experiencia posible en nuestros sitios web. También puede establecer sus preferencias o rechazar cookies (excepto las cookies estrictamente necesarias).

Gestionar preferencias de consentimiento

Siempre activo
Cookies esenciales

Estas cookies son esenciales para permitirte navegar por el sitio web y utilizar sus funciones, como establecer tus preferencias de privacidad, iniciar sesión o completar formularios.

Cookies de análisis

También conocidos como "cookies estadísticas", estas cookies recogen información sobre cómo utilizas un sitio web, como qué páginas has visitado y qué enlaces has clicado. Ver detalles.