Eletrônica digital: Arduino X Pic.duino – qual é o melhor?


Em minha opinião, a Atmel abriu novos horizontes na eletrônica digital com a criação não só do open-hardware Arduino, mas também com sua IDE de desenvolvimento de tão alto-nível que levou diversos hobistas a se introduzirem nesse mundo da eletrônica digital. E como consequência de sua qualidade, concorrentes começaram a surgir, de forma direta ou indireta, mas seguindo as linhas definidas pela Atmel.
Especificamente nesse post, fiz essa chamada no título mais como uma brincadeira. Não quero influenciar opiniões, além de que meu objetivo na aquisição dessa board teve um fim muito específico, que citarei mais adiante. Mas tendo ambas em mãos, é inevitável fazer um comparativo, ainda mais por que a proposta da board parece ser a tal concorrente direta. Se realmente fosse uma disputa entre os recursos que cada uma oferece, qual seria a vencedora? Vejamos.

Arduino UNO

O Arduino UNO utiliza um chip Atmega328P-PU.

Ela possúi 14 pinos de I/O digital, dos quais 6 podem ser utilizados como saida PWM.
Possui um cristal de 16Mhz, conexão USB e jack para alimentação externa, um header ICSP, um botão de reset e um conversor USB-serial.

Todas as definições dos pinos podem ser encontradas aqui. Vejamos agora a…

PIC.Duino

“Uau”?

Parece bem interessante, mas perde em muito na EEPROM e SRAM, enquanto ganha no clock; mas perde também no número de pinos configuráveis.

No datasheet é possível ver a relação das portas com as funcionalidades internas do processador.

Mas nem tudo é Ardui…; digo, simples. Para programar até pode-se fazê-lo em C, mas não há uma interface de tão alto-nível como a do Arduino. O que tenho utilizado nessa minha inicialização em PIC é o MikroC, da MikroEletronica. É sem dúvida o melhor (talvez o único?) SDK (pelo menos dos que conheci) para programar PIC. Nele estão contidas diversas bibliotecas para interagir com muitos componentes, sendo que o mais impressionante é o help – para cada PIC selecionada para o desenvolvimento, ele gera uma imagem das ligações por exemplo, com um CI RS485. Isso ajuda bastante, mas ainda assim diversos conceitos precisam ser pré-absorvidos para gerar algum código.
Como o grande ‘Hello World’ da eletrônica digital é acender um LED, vou exemplificar em ambos os ambientes o processo, mas para piscá-lo.

Acender um LED com Arduino

Acender um LED com PIC.Duino

Não foi simples de primeira, mas agora já sei acender um LED. Então, é necessário olhar o datasheet para saber as relações entre os pinos e os nomes, por exemplo, RA se refere à porta A, que controla um conjunto de pinos. Então, PORTA.B2 é o pino 5 desse modelo de PIC, pelo que entendi (alguém de PIC aí para dar uma introdução?).

Para o PIC.Duino, subir o programa também não é tão difícil, mas também não é tão Ardu…; digo, simples. Tem um programinha específico que pode ser baixado do site da SmartRadio, onde se encontra esse e outros hardwares interessantes, como por exemplo, o gravador de PICs com debugger.
Basicamente, o programa sobe o arquivo hexa gerado pela IDE de desenvolvimento. Para tal, é necessário mudar o jumper da board. Esse é um processo bastante prático, considerando o modo tradicional de escrita na micro-controladora, que é através de um gravador, como será visto em outro post.

Programar diretamente em assembly pode não ser o ideal para lazer ou até mesmo para produção, pelo tempo que consome. De qualquer forma é o modo mais comum de programação PIC, onde o código resultante acaba ficando bem mais enxuto. Seria como comparar C++ puro ao Qt; o Qt eleva o nível de programação a ponto de facilitar a programação tal como Python (para conhecedores de C++), em contrapartida o binário resultante não terá a mesma pontualidade de um programa escrito diretamente em C++. Além disso, alguns modelos de PIC tem um recurso de memória tão escasso que até minha bisavó guarda mais informação que ela, portanto, implementar código pode comprometer recursos necessários para outra tarefa.
Por fim, farei alguns posts com exemplos em PIC dos mesmos processos executados em Arduino e aos poucos vamos nos acostumando com sua aparência diferentona, mas muito divertida!

Se gostou, não deixe de compartilhar; dê seu like no video e inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Prefere seguir-nos pelo facebook? Basta curtir aqui.

Prefere twitter? @DobitAoByte.

Próximo post a caminho!

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Um comentário em “Eletrônica digital: Arduino X Pic.duino – qual é o melhor?

Deixe uma resposta