Home Soluções Como controlar o Smart Display a partir de um host via CANopen: exemplo de controle de gauge

Como controlar o Smart Display a partir de um host via CANopen: exemplo de controle de gauge

May 04, 2022

Introdução

Nas apresentações anteriores do Smart Display, o foco esteve principalmente em suas funções e características. No entanto, a forma de controlar o Smart Display por meio de um host na aplicação final do cliente foi menos explorada. Neste artigo, utilizamos um mostrador como exemplo para demonstrar como os dados de um controle físico e do host (Arduino) podem ser transmitidos ao módulo Smart Display para atualizar a exibição.

Neste exemplo, utilizamos um Smart Display de 4,3 polegadas com CAN Bus para exibir um mostrador de 240 graus controlado por um host. O host é composto por um Arduino Mega 2560, um CAN Bus Shield e um Rotary Angle Sensor. Os componentes necessários são:

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

Diagrama do sistema

Diagrama do sistema de controle do Smart Display pelo host via CANopen

Etapa 1: Criar o projeto no GUI Builder

1.1 Crie um novo projeto e selecione no GUI Builder o template em branco para o display de 4,3 polegadas.

Criação de um novo projeto para Smart Display de 4,3 polegadas no GUI Builder

1.2 No painel Resource, selecione a imagem de fundo preta para Background Style 0.

Seleção da imagem de fundo preta para Background Style 0 no GUI Builder

1.3 Na janela Gauge Edit, configure o ângulo de rotação do ponteiro.

►Primeiro, clique no botão Modify de Gauge Style 6.

Edição de Gauge Style 6 no GUI Builder

►Após a seleção, uma prévia do mostrador será exibida na janela Gauge Editor, conforme mostrado abaixo.

Prévia do mostrador na janela Gauge Editor do GUI Builder

►Marque a opção "Show Details" para visualizar mais informações sobre a rotação do ponteiro.

Configurações Show Details para a rotação do ponteiro no GUI Builder

►Os ângulos mínimo e máximo do ponteiro podem ser ajustados pelos botões +/- na área Degree, conforme mostrado abaixo.

Ajuste dos ângulos mínimo e máximo do ponteiro no GUI Builder

►O Value Range é definido por um valor mínimo e um valor máximo. Quando um valor é recebido via CAN Bus, ele é mapeado para os ângulos mínimo e máximo de rotação do ponteiro.

Configuração do Value Range do mostrador no GUI Builder

►Após concluir a configuração do mostrador, é possível verificar o funcionamento movendo o controle deslizante Test Value para a direita. À medida que o Test Value aumenta, o ângulo do ponteiro também aumenta até atingir o valor e o ângulo máximos definidos.

Teste da rotação do ponteiro com Test Value no GUI Builder

Etapa 2: Compilar e carregar o projeto

2.1 Após concluir as etapas anteriores, acesse a seção Page Info e arraste Gauge Style 6 para o centro da tela.

2.2 Conecte o PC ao Smart Display via USB2CAN e, em seguida, clique nos ícones "Connect Device" e "Upload the Project". Os recursos e as configurações da página serão carregados no módulo Smart Display por meio do GUI Builder, conforme mostrado abaixo:

Conexão com o Smart Display e carregamento do projeto pelo GUI Builder

Progresso do carregamento do projeto no GUI Builder

2.3 A tela passa da interface de inicialização para a interface de operação. Quando a tela abaixo for exibida no Smart Display de 4,3 polegadas com CAN Bus, o projeto terá sido carregado com sucesso.

Mostrador de 240 graus exibido no Smart Display de 4,3 polegadas após o carregamento do projeto

Etapa 3: Programar o host Arduino

Programação do host Arduino para controle do Smart Display via CANopen

3.1 Acesse a seção Page no GUI Builder. Na estrutura CANopen, o índice de Gauge Style 6 corresponde ao object 0 (0x2000). Para programar o host Arduino, é importante identificar o índice do objeto. Com esse índice, o host Arduino pode consultar ou alterar o status do objeto, conforme mostrado no código de exemplo abaixo.

3.2 O host Arduino pode utilizar a função "ConfigSmartDisplay" para definir o type, a posição x/y, o style, a configuration e a imagem de fundo do object 0. Como alternativa, sem necessidade de configuração adicional pelo host Arduino, o Smart Display pode ler os dados de objetos já armazenados na memória Flash onboard (previamente carregados pelo GUI Builder) e exibir na tela os objetos configurados.

Código Arduino para configuração dos parâmetros de objetos do Smart Display

Exemplo da função Arduino ConfigSmartDisplay para configuração de objetos

3.3 Quando o host Arduino detecta uma alteração no valor do Rotary Angle Sensor, ele envia o valor correspondente ao Smart Display via CANopen.

O programa abaixo apresenta os principais IDs e sub-indexes da estrutura de comandos. Esse programa atualiza o valor do mostrador (object index 0) de acordo com o valor recebido do Rotary Angle Sensor.

Código Arduino CANopen para atualização do valor do mostrador no Smart Display

Apêndice: Configuração do projeto

Para mais detalhes sobre o programa, consulte o seguinte repositório no GitHub: https://github.com/Smart-Display-Series/SmartDisplay_CANbus_Arduino_Examples. O vídeo abaixo apresenta a configuração do hardware utilizado e seu funcionamento.

 

Experimente gratuitamente o WINSTAR GUI Builder. Preencha o formulário de solicitação para receber por e-mail o link para download do GUI Builder.

Tem perguntas sobre as soluções de displays para a sua empresa? Entre em contato conosco!

Assinar

Receba e-mails sobre novas atualizações da Winstar

Entre em contato conosco

Preço/Ficha de dados/Consulta geral

Suporte técnico

Entre em contato conosco para qualquer informação técnica

go top
Contato
close

Valorizamos sua privacidade

Ao clicar em "Permitir todos os cookies", você concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar o uso do site e auxiliar nossos esforços de marketing e desempenho. Você pode encontrar mais informações sobre esse assunto em nossa política. Política de privacidade

Valorizamos sua privacidade

A Winstar e certos terceiros utilizam cookies no site www.winstar.com.tw. Os detalhes sobre os tipos de cookies, sua finalidade e as partes terceiras envolvidas estão descritos abaixo e em nossa Política de Cookies. Clique em “Permitir todos” para consentir o uso de cookies e obter a melhor experiência possível em nossos sites. Você também pode definir suas preferências ou rejeitar cookies (exceto os estritamente necessários).

Gerenciar preferências de consentimento

Sempre ativo
Cookies essenciais

Esses cookies são essenciais para permitir que você navegue pelo site e utilize seus recursos, como definir suas preferências de privacidade, fazer login ou preencher formulários.

Cookies de análise

Também conhecidos como "cookies estatísticos", esses cookies coletam informações sobre como você utiliza um site, como quais páginas você visitou e em quais links você clicou. Veja os detalhes.