Programe o Arduino UNO com o CodeVisionAVR

O CodeVisionAVR é um ambiente integrado de desenvolvimento para os microcontroladores AVR e XMEGA. Possui compilador ANSI C e apresenta diversos recursos para facilitar a programação, que vão desde bibliotecas/drivers até assistente gráfico para configuração de periféricos.

O CodeVisionAVR já possui alguns anos de estrada, tive a oportunidade de trabalhar com essa ferramenta no passado e lembro-me da facilidade para iniciar um projeto usando seu assistente.

Recentemente recebi uma notícia que a nova versão do CodeVisionAVR tinha suporte para algumas placas Arduino e resolvi testar.

O CodeVisionAVR não é grátis, mas você pode usar a versão de avaliação que possui limitação de código de 4Kbytes e alguns recursos. 

A seguir são apresentados os passos para configuração de um projeto com LCD Alfanumérico e o upload para a placa Arduino UNO.

Hardware

Para nosso teste, vamos usar uma placa Arduino UNO e um display LCD de 16X2. A ligação do LCD no Arduino:

Ligação do LCD no Arduino UNO
Figura 1 – Ligação do LCD no Arduino UNO

A seguir é apresentado o esquema de ligação do display no Atmega328P. Precisamos saber quais são os pinos do microcontrolador usados para o controle do display. Essa informação será importante para a etapa de configuração no CodeVisioAVR:

Ligação do LCD no ATmega328P
Figura 2 – Ligação do LCD no ATmega328P

Com o esquemático em mãos, vamos para o código no CodeVisionAVR.

Criando um projeto no CodeVisionAVR

O CodeVisionAVR possui um assistente para criação e configurações iniciais de um projeto. Para iniciar um novo projeto, acesse File>New Project, será aberta uma janela perguntando se você quer usar o CodeWizardAVR, clique em Yes:

Iniciando o CodeWizardAVR no CodeVisionAVR
Figura 3 – Iniciando o CodeWizardAVR

Será aberta uma janela para escolha do tipo de microcontrolador AVR usado na aplicação. Selecione a opção do ATmega:

Selecione o tipo de AVR do projeto
Figura 4 – Selecione o tipo de AVR do projeto

Será aberta a janela de configuração do projeto. Acesse Project Information nas opções. Vamos inserir algumas informações para o nosso projeto:

Informações do projeto
Figura 5 – Informações do projeto

Vamos selecionar o microcontrolador e configurar o clock do sistema. Selecione Chip e faça a seguinte configuração:

Escolha do microcontrolador no CodeVisionAVR
Figura 6 – Escolha do microcontrolador

Agora vamos configurar LCD. Para isso, selecione Alphanumeric LCD e faça a configuração conforme esquemático apresentado acima:

Configuração dos pinos de controle do LCD.
Figura 7 – Configuração dos pinos de controle do LCD.

Agora, vamos configurar a direção dos pinos. Acesse Ports. Configure os PORTB e PORTD conforme figura 8:

Configuração da direção dos pinos e estado inicial
Figura 8 – Configuração da direção dos pinos e estado inicial

Para finalizar, acesse o menu: Generate, Save and Exit. Crie uma pasta e salve os arquivos.

A estrutura do projeto será criada, assim como todo o código de configuração dos registradores, conforme configuração feita no codeWizardAVR:

Projeto gerado no CodeVisionAVR
Figura 9 – Projeto gerado

Explorando o arquivo main.c gerado, podemos observar o cabeçalho criado com as informações do projeto inseridas. Em seguida são incluídas as bibliotecas e logo abaixo encontramos a função main. Note que a ferramenta de geração de código já configura todos os registradores, conforme configurações feitas graficamente, inclusive a inicialização do LCD. No loop infinito encontramos a mensagem para inserir o código.

A seguir é apresentado o código do nosso teste no CodeVisionAVR:

Para compilar, acesse o menu Build All ou pressione CTRL + F9. Será aberta uma janela com o resultado da compilação:

Resultado da compilação
Figura 10 – Resultado da compilação

Com o Arduino conectado ao computador, acesse Tools> Upload to Arduino:

Upload para o Arduino
Figura 11 – Upload para o Arduino

Selecione a placa Arduino UNO, a porta COM e depois clique em OK. Será feito o upload do arquivo .hex para a placa:

Programação finalizada
Figura 12 – Programação finalizada

Após o UPLOAD será apresentada a seguinte informação no display:

Mensagem de saída
Figura 13 – Mensagem de saída

Chegamos ao fim do nosso tutorial, mas você pode explorar os demais recursos do CodeVisionAVR utilizando sua placa Arduino.

Caso queira explorar outra ferramenta para desenvolvimento com os microcontroladores AVR, recomendo o Atmel Studio. Veja alguns links:

Primeiros passos com Atmel Studio

Atmel Studio 7 está disponível

Se ficou alguma dúvida, deixe seu comentário abaixo.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Arduino » Programe o Arduino UNO com o CodeVisionAVR
Comentários:
Notificações
Notificar
guest
4 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Marcelo
Marcelo
24/02/2018 21:36

Fábio, parabéns pelo artigo.

Tenho uma licença original do Codevision v3.32 e recentemente resolvi fazer alguns testes com o Arduino. Porém tudo compila sem erros mas dá erro ao subir o código para o Arduino UNO. Sabe o que pode ser ? Preciso mudar o bootloader do Arduino ? O protocolo que o Codevision usa ‘Optiboot’ é o do Arduino ?

Grato,

Marcelo

Mateus Mateus
Mateus Mateus
05/08/2017 16:47

Curso Arduino Essencial
http://bit.ly/curso-arduino-essencial

Aprenda a programar desde o zero, projetar e calcular circuitos elétricos e desenvolver projetos com a plataforma microcontroladora mais utilizada por empresas e universidades do mundo: o Arduino! Neste curso você aprenderá a trabalhar com LEDs, resistores, sensores, displays LCD; saberá como manusear um multímetro digital para medir grandezas elétricas tais como corrente, tensão e resistência e desenvolverá seu próprio sensor de estacionamento caseiro que emite sinais sonoros e mostra a distância.

Rogerio Moreira
Rogerio Moreira
17/05/2017 14:04

Excelente , Fábio. Parabéns. O CodeVisionAVR não é gratuito , mas não é muito caro. É leve, roda em qualquer máquina. Na época da Atmel, muitos engenheiros de aplicação usavam o CodeVision.

Fabio_Souza_Embarcados
Fabio_Souza_Embarcados
Reply to  Rogerio Moreira
18/05/2017 22:00

Legal Rogério. Eu usei o CVAVR no passado, era muito bom.

Talvez você goste:

Séries

Menu

WEBINAR

Projeto de Hadware: ASIC e FPGA

DATA: 24/02 às 15h