Displays Proculus com microcontrolador PIC

Displays Proculus com microcontrolador PIC

Atendendo o pedido de muitos desenvolvedores, publicamos agora a principal ferramenta de desenvolvimento de displays LCD (da Proculus) para microcontroladores PIC.

Já existe uma biblioteca muito intuitiva para Arduino, publicada aqui no blog (Biblioteca para Arduino). Baseada nesta biblioteca, desenvolvemos a Biblioteca para PIC, uma biblioteca em C para ser usada em projeto em CCS mas que pode ser utilizada em qualquer outro microcontrolador compatível com a linguagem C.

As funções desta nova biblioteca em C são semelhantes as funções usadas para Arduino.

Neste artigo, vamos explicar tudo o que você precisa para acoplar o display Proculus no seu projeto com PIC, e facilitar imensamente o fluxo de desenvolvimento.

Primeiro, veja como fazer a conexão elétrica entre o display e o PIC.

Conexão física do Proculus e o PIC

A conexão com os displays Proculus é feita ou por uma cabo Flat ou por um cabo Ribbon, como colocados na foto abaixo.

Cabo FFC (flat) à esquerda e cabo Ribbon à direita
Exemplo de cabo FLAT e cabo RIBBON

Você pode utilizar uma placa adaptadora para uma barra de pinos, para agilizar sua prototipação. A PAB_01 é um item fundamental para essa adaptação (link). A PAB_01 é um adaptador de conectores universal desenvolvido especialmente para conectar os displays Proculus facilmente ao seu protótipo.

Abaixo, você pode ver um exemplo da PAB_01 utilizada para adaptar o cabo flat para uma barra de pinos. Conectando a barra de pinos em uma protoboard, você tem acesso facilmente aos pinos de alimentação e comunicação do display.

Acessório PAB_01 e conector FFC

A placa PAB_01 se destaca pelas características:

  • Disponível em diversas configurações de conectores disponíveis;
  • Compatível com Displays TTL/CMOS e RS232;
  • Pinos de comunicação RX e TX podem ser facilmente invertidos;

Adicionando a biblioteca PIC em C

Vou apresentar agora a biblioteca para PIC para utilização com os displays inteligentes. Esta biblioteca permite que o PIC se comunique facilmente com os displays inteligentes Proculus, e oferece um controle mais intuitivo e prático de todas as suas funções.

Use a plataforma de preferência sua para programação C para microcontroladores PIC. A bilblioteca da Proculus foi desenvolvida para funcionar com todos os editores.

Primeiro, baixe a biblioteca, e armazene em um lugar seguro.

Observação: Os arquivos da biblioteca em C ficam junto com os demais arquivos no .zip da biblioteca, são os arquivos unicviewad_c.h e unicviewad_c.c.

O .zip pode ser baixado pelo link abaixo:

No seu editor de código, adicione o caminho da biblioteca para que ele encontre os arquivos da biblioteca assim que você chamar.

No código main.c, basta incluir o arquivo unicviewad_c.c:

#include <unicviewad_c.c>

Com a biblioteca adicionada, experimente utilizar um projeto DEMO para o display e para o PIC:

Aqui vai uma prévia de como deve ficar o Projeto-Demo no display controlado pelo PIC.

Algumas funções da biblioteca

  lcm_init();

Necessário no começo do código para inicialização dos parâmetros do display.

IF(lcm_var_available(&exit_intro_button)) 
{
 if (lcm_var_get_data(&exit_intro_button) == init_demo) 
 {
  lcm_change_pic_id(pic_id_main);  
  lcm_var_write(&audio_volume, volume); 
 }
}   

lcm_var_available é a função que monitora a porta Serial para verificar o recebimento de informação de uma determinada variável. Neste exemplo, ela monitora a variável exit_intro_button;

lcm_var_get_data é a função de leitura do buffer da porta Serial. Neste exemplo, ela lê a variável exit_intro_button para ser comparada a variável init_demo;

lcm_change_pic_id é a função de troca de tela. Neste exemplo, a função troca a tela do display para a tela da variável pic_id_main.

lcm_var_write é a função de escrita em uma variável do display. Neste exemplo, a função escreve o valor da variável volume no endereço de memória do display audio_volume.

uint8_t lcm_write_bytes(uint8_t* data, uint8_t length) // Função de escrita na serial utilizada pela biblioteca 

uint16_t lcm_read_byte()   // Função de leitura da serial utilizada pela biblioteca 

É preciso criar as funções lcm_write_bytes(), e lcm_read_byte() com as assinaturas e retornos iguais o exemplo, para que a biblioteca consiga implementar as funções vistas anteriormente. Um exemplo de definição dessas funções pode ser encontrado na Demo Geral CCS, no arquivo main.c.

Há muitas outras definições que irão auxiliar na organização e no controle das variáveis do display, mas todas comentadas no arquivo do projeto-Demo.

Conclusão

Controladores PIC são universalmente usados em aplicações eletrônicas, e os displays Proculus não podiam deixá-los de lado. Seguem a tendência de baixo custo, simplicidade e flexibilidade, e se tornou uma das principais plataformas utilizadas por desenvolvedores no mundo todo.

A aplicação do PIC com display inteligentes ficou direta com o uso da Biblioteca para PIC da Proculus.

Para mais informações sobre os acessórios da Proculus: https://victorvision.com.br/acessorios/

Para mais informações sobre a biblioteca unicviewad_c.c e exemplos, entre em contato com a nossa equipe de suporte pelo Skype: vvision_suporte01

Leia também: Telas Inteligentes: descubra como funcionam e quando usá-las

Marcações:

13 comentários em “Displays Proculus com microcontrolador PIC”

  1. Boa noite. Preciso de ajuda. Utilizo o compilador MikroC que possuí formatos de códigos diferentes. Na compilação deste código foi apresentado os erros “Arguments cannot have explicit memory specificator” na linha de código (extern uint8_t lcm_write_bytes(uint8_t* data, uint8_t length); ////////// INTERFACE PUBLICA); “illegal typecast ‘can not converter to pointer’ na linha de código(lcm_rx_package->p_data_buffer = (uint8_t*)malloc(length * sizeof(uint8_t));) / “Arguments cannot have explicit memory specificator” na linha de código (uint8_t* data); / e mais outos montes de erros.
    Vocês poderiam me ajudar a resolver estes pontos para que eu consiga fazer uso do display 2.8 da P-BOX Standart que adiquiri?
    Desde já muito obrigado.

    1. Olá Alexandre, muito obrigado pelo contato. Gostaria de sugerir que entre em contato com o suporte no Skype, para que eles possam te ajudar com cada ponto que você levantou.
      Eles ficam ativos no horário comercial, e costumam responder bem rápido. Obrigado

  2. boa tarde
    estou começando no display inteligente começei com o passo a passo tentando gravar no display mas nao ocorreu nada a tela fica em branco
    obs estou utilizando o child arduinoas conexoes estão corretas tanto no flatcable como no arduino salvei o projeto de teste sensores no pendrive apos verificar a pasta proculos no pendrive coloquei com o display energizado junto com o módulo arduino entao ele leu em uma tela azula pós somente uma tela em branco, nas configuralçaoes coloquei no programa todas as opçoes
    poderiam se possivel me ajudar com alguma dica ??
    obrigado

    1. Olá Aldrovando, obrigado pelo contato.
      Vamos precisar de mais informações para te ajudar a descobrir onde não funcionou, como o modelo do display, a descrição detalhada do projeto que usou e a compilação, e analisar como o display se comportou depois de programar. Sugiro que entre em contato com o time do suporte, pois eles podem te acompanhar no passo a passo para programação do seu display. Obrigado

  3. Pingback: Displays Proculus com Arduino - Victor Vision

  4. Pingback: Tutorial – Botão para troca de tela - Victor Vision

  5. Pingback: PBox, o kit de desenvolvimento dos displays Proculus - Victor Vision

  6. Pingback: Shield Arduino para Displays Inteligentes Proculus - Victor Vision

  7. Pingback: Telas Inteligentes: descubra como funcionam e quando usá-las

  8. Pingback: O que é um Microcontrolador, para que serve e principais usos

  9. Boa noite,

    A iniciativa realizada pelo CCS é muita interessante, porém, muitos dos códigos PIC estão sendo realizadas em MPLAb por ser a biblioteca oficial da MicroChip e tambémm gratuita.
    Seria possível disponibilizar também por MPLAb ?

    1. Olá, Paulo!

      No momento só temos versões especializadas no CCS e MikroC, no MPLAB ainda não.
      No entanto, o código tem poucas partes atreladas a IDEs específicas, e é simples de usar em qualquer IDE.
      Se você tiver alguma dúvida ou dificuldade durante a implementação em sua IDE de preferência, pode nos contatar no suporte técnico que nossos engenheiros vão te auxiliar!

  10. Pingback: LCD display arduino: quais suas funções e como escolher

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *