COREDuino com Pinguino IDE

Olá caro leitor, tudo bem? Neste artigo será apresentado como criar um projeto com o COREDuino em conjunto com o Pinguino IDE.

 

O Pinguino é projeto Open Hardware e Open Source, que oferece ferramentas de hardware e software, de modo a permitir o desenvolvimento de projetos com os microcontroladores PIC da Microchip.

 

O Pinguino oferece uma IDE para o desenvolvimento do firmware, diversas placas com microcontroladores PIC e um conjunto de bibliotecas. Esse conjunto de bibliotecas é bem similar às encontradas na plataforma de desenvolvimento do Arduino. Além da IDE, hardware e o conjunto de biblioteca, o Pinguino oferece também o firmware de Bootloader, que uma vez gravado na placa não se faz necessário o uso de gravador externo, para descarregar o firmware na placa.

 

Para mais informações sobre o Pinguino recomendo o artigo Pinguino: Programando PIC como Arduino, escrito pelo André Curvelo. Nesse artigo o Andre Curvelo explica desde instalar a IDE até gravar o firmware na placa.

 

 

Criando o Projeto Hello World 

 

Uma vez que você caro leitor já conferiu o artigo do André, instalou a Pinguino IDE e já gravou o firmware na placa, vamos criar o famoso projeto de “Hello World” para a COREDuino. O projeto consiste em escrever uma mensagem no display de LCD 16x2 e piscar LED com uma frequência de 1 Hz.

 

PS: No momento que estou escrevendo este artigo estou utilizando a Pinguino IDE 11.0 e a versão do firmware do bootload v.4.x.

 

Criando Novo Projeto

 

Para criar um novo projeto no Pinguino IDE, devemos clicar em File -> New.

 

Após criar novo projeto na IDE do Pinguino, criar estrutura básica, semelhante a IDE do Arduino, com duas funções; void setup e void loop, conforme pode ser visto na figura abaixo:

 

Novo projeto no Pinguino IDE
Figura 1 - Novo projeto no Pinguino IDE

 

Configurando o Projeto

 

Nesta etapa iremos configurar o projeto para o COREDuino. É configurado: a arquitetura, a interface de programação, a versão do Bootloader (caso opte pelo Bootloader) e por fim o microcontrolador alvo.

 

Devemos clicar em Settings -> Board Configuration. Em seguida deve abrir a janela Pinguino IDE – Board Configuration. A seguir temos a imagem da janela com os parâmetros configurados para o COREDuino.

 

Ao final clique em Accept para salvar as configurações.

 

Configuração do projeto no Pinguino IDE
Figura 2 - Configuração do projeto no Pinguino IDE

 

Pin Name PINGUINO 

 

Antes de começar editar o código fonte do projeto, é necessário analisar o circuito elétrico do COREDuino e mapa de pinos do Pinguino. Feito essa análise, podemos montar uma tabela correlacionando os pinos do Pinguino com a placa COREDuino.

 

Tabela correlacionando os pinos do Pinguino com os do COREDuino

Pin Name PINGUINOPin MCUPin COREDuino
18RE0LCD EN
20RE2LCD RS
19RE1LCD RW
5RB5LCD D4
RB4LCD D5
3RB3LCD D6
2RB2LCD 47
29RA4LCD BACKLIGHT
0RB0LED0

 

Editando o código fonte do projeto

 

Como observado no circuito elétrico do COREDuino, o display de LCD esta configurado no modo 4 bit. E analisando a função de inicialização do display de LCD fornecida no conjunto de bibliotecas do Pinguino. A seguir temos o protótipo da função que inicializa os pinos do display.

 

 

Você caro leitor já deve ter notado que a função está preparada para trabalhar no modo 8 bit. E agora? Como informar que o meu display esta no modo 4 bit? Simples, informe os 4 pinos que estão ligados ao display, e os bits restantes devem ser preenchidos com 0.

 

A seguir apresentada a função que inicializa os pinos do display de LCD e a função que inicializa o display LCD 16x2.

 

 

E para encerrar, restam os pinos do backlight do display e o LED. Para essa tarefa iremos utilizar a função pinMode, onde devemos informar o número do pino e modo de operação (output ou input). Para este projeto todos os pinos são configurados no modo output. A seguir é apresentado todo o código fonte do projeto:

 

 

Compilando o Projeto & Gravando o Firmware

 

Após a editar o do código fonte, é necessário compilar o projeto. Para realizar essa tarefa clique em Pinguino -> Compile F5. Em seguida deve abrir a janela Pinguino IDE Config board, que informa; microcontrolador, arquitetura e versão do bootloader. Em seguida clique em Compile.

 

Janela com informações do projeto
Figura 3 - Janela com informações do projeto

 

Caso não exista nenhum erro no código fonte, em seguida deve abrir a janela Pinguino IDE –Compi... informando que o projeto foi compilado. Em seguida deve clicar em Ok.

 

Janela que informa que o projeto foi compilado
Figura 4 - Projeto foi compilado

 

Caso exista algum erro no código fonte, em seguida deve abrir a janela Pinguino IDE –Compi... informando que o projeto não foi compilado. Em seguida deve clicar em Ok.  E corrija o código fonte.

 

Janela que informa que o projeto não foi compilado
Figura 5 - Projeto não foi compilado

 

Gravando o firmware no COREduino. Com a placa conectada ao computador via cabo USB, pressione a push buttun CH5 (RESET - MCLR) para entrar no modo Bootloader. Em seguida clique em Pinguino -> Upload F6. Ao final do processo deve-se abrir a janela Pinguino IDE – Upload done. Em seguida clique em Ok.

 

Janela que informa que o firmware foi gravado na placa
Figura 6 - Firmware foi gravado na placa

 

 

 

Conclusão

 

Com os recursos disponíveis na placa do COREDuino PIC18F4550 e as facilidades oferecidas pela plataforma Pinguino, auxilia você caro leitor no aprendizado e no desenvolvimento de suas aplicações.

 

Reitero o meu pedido, para que você monte o seu COREDuino, divulguem e compartilhe essa ideia. Para que assim motive mais pessoas a desenvolver soluções open source e open hardware em nosso país.

 

 

Aprenda mais

 

COREDuino PIC18F4550

 

 

Referências

 

Wiki.Pinguino

Pinguino

Circuito Elétrico COREDuino PIC18F4550

COREDuino PIC18F4550

Licença Creative Commons
COREDuino com Pinguino IDE por Evandro Teixeira. Esta obra está licenciado com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Sou formado em Técnico em Mecatrônica pelo Colégio Salesiano Dom Bosco Americana - SP, Graduando em Engenharia Elétrica com Ênfase em Eletrônica pela UNISAL de Americana - SP. Atuando com desenvolvimento de hardware e software para sistema embarcado desde 2010. Experiência com microcontroladores de 8,16 e 32 bits. Atualmente trabalhando com desenvolvimento de equipamentos Eletromédicos.