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:
Smart Display de 4,3 polegadas com CAN Bus
Arduino Mega 2560
CAN Bus Shield
Rotary Angle Sensor
CAN Bus Dongle
GUI Builder
Diagrama do sistema
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.
1.2 No painel Resource, selecione a imagem de fundo preta para Background Style 0.
1.3 Na janela Gauge Edit, configure o ângulo de rotação do ponteiro.
►Primeiro, clique no botão Modify de Gauge Style 6.
►Após a seleção, uma prévia do mostrador será exibida na janela Gauge Editor, conforme mostrado abaixo.
►Marque a opção "Show Details" para visualizar mais informações sobre a rotação do ponteiro.
►Os ângulos mínimo e máximo do ponteiro podem ser ajustados pelos botões +/- na área Degree, conforme mostrado abaixo.
►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.
►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.
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:
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.
Etapa 3: Programar o host Arduino
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.
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.
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