Nesta aula extra, veremos como simular um microcontrolador AVR e PIC, bem como algumas plataformas que facilitam o aprendizado.
Na aula 5, aprendemos a gravar códigos no AVR e no PIC.
Informações básicas
Para aprender, de fato, a mexer em um AVR/PIC é necessário praticar. E isso pode demandar alguns custos para comprar o microcontrolador e o programador. Entretanto, é possível praticar e aprender sem gastar nada (ou quase nada).
Levando isto em conta, irei mostrar alguns simuladores que você pode utilizar para praticar a programação, e algumas soluções físicas mais baratas.
Simuladores
Tinkercad (AVR)
O Tinkercad é um simulador online GRATUITO que possui alguns elementos de circuitos e um Arduino Uno. E é totalmente possível programar o Arduino utilizando os mesmos comandos que você usaria no Atmel Studio.
Veja abaixo um exemplo funcionando em que programei um LED para piscar utilizando os comandos próprios do AVR (veremos em aulas futuras).
Como o Tinkercad possui uma variedade considerável de componentes, é possível aprender bastante utilizando esta plataforma. Sem falar que sua interface é bem intuitiva.
Além do Arduino UNO, ele possui também o microcontrolador ATtiny (um “genérico” de 8 pinos). No caso do ATtiny, o Tinkercad disponibiliza o CI diretamente. Veja, na imagem abaixo, a implementação do mesmo código de antes no ATtiny. Além do circuito do LED, foi necessário alimentar o CI (e ligar o pino de reset em alta).
Obs: não cheguei a verificar se todos os periféricos funcionam corretamente programando desta forma direta no Tinkercad. De todo modo, é uma plataforma excelente para quem não quer gastar nada além do esforço de criar uma conta no site.
Proteus (PIC/AVR)
O Proteus é um software PAGO de design e simulação de circuitos, sendo uma das melhores opções para simular circuitos com microcontroladores. Isto porque ele possui uma vasta biblioteca de componentes, incluindo diversos microcontroladores PIC/AVR.
O preço do software é bastante elevado, pois ele é feito para ser usado profissionalmente (nível industrial). E, apesar de possuir uma versão de demonstração, ela não permite simular os microcontroladores. Mas se você tiver acesso ao software por meio de uma universidade ou algo assim é uma excelente opção.
A imagem abaixo mostra um circuito simples com o PIC16f628a feito no Proteus.
Placas de desenvolvimento
Tanto o AVR quanto o PIC possuem as chamadas “placas de desenvolvimento”, que nada mais são do que placas feitas para o rápido desenvolvimento/teste de algum programa no microcontrolador. E, para o aprendizado é altamente recomendado utilizar uma placa destas.
AVR
Mesmo não sendo uma placa da Atmel, o Arduino (independente de qual) é uma excelente placa de desenvolvimento. Isto porque, ele é barato, é de fácil uso, já possui um programador USB embutido (no caso do UNO), e o microcontrolador que vem nele (ATmega328p no caso do UNO) possui uma quantidade boa de recursos. Além disto, muitos iniciantes na área de microcontroladores possivelmente possuem um Arduino.
E é totalmente possível utilizá-lo com a plataforma do Atmel Studio e, com isto, aprender a programar o AVR de forma direta. Portanto, ele é uma das melhores (senão a melhor) opção de placa de desenvolvimento AVR.
PIC
Infelizmente, todas as soluções para o PIC são mais caras, até porque não existe um “Arduino” ao estilo PIC (me refiro a uma placa barata e mundialmente conhecida).
Até o momento deste post, e com base nos meus conhecimentos, para você conseguir usar um PIC, você vai ter que comprar o microcontrolador separado e um programador (com uma exceção abaixo). Existem alguns gravadores não oficiais que possuem um preço razoável e conseguem programar diversos PICs diferentes.
Entretanto, existe uma placa chamada “μstart for PIC” que pode ser programada via USB e tem um preço razoável (específica para o PIC18F4550).
Particularmente, quando eu estava aprendendo, preferi comprar o PIC e fazer minha própria placa de gravação (limitada ao PIC16F) gastando menos de 20 reais (desconsiderando o PIC).
IDE
AVR
Vale mencionar que a própria IDE do Arduino pode ser utilizada no lugar do Atmel Studio para fazer a programação dos microcontroladores AVR. Mas é claro que, ela é bem mais limitada e possui bem menos recursos que o próprio Atmel Studio.
Gravar códigos no microcontrolador – Aula 5 – MC