Entre os hobistas o Arduino é uma plataforma de código aberto muito utilizada em projetos de hardware que exigem um microcontrolador. A plataforma consiste em placas de desenvolvimento fáceis de usar que são programadas usando o Arduino IDE. Com apenas uma placa Arduino e alguns componentes adicionais, você pode fazer muitos projetos legais!
Às vezes, é uma boa ideia testar seu projeto antes de comprar todos os componentes e investir muito tempo na montagem de tudo. Um simulador do Arduino permite que você faça exatamente isso! Ele simula componentes físicos e placas Arduino virtualmente para que você possa testar o circuito que projetou e até mesmo seu código antes de montá-lo na vida real.
Usar um simulador é muitas vezes a abordagem mais produtiva quando se prototipa um projeto em seus estágios iniciais. No entanto, ele também pode ter algumas desvantagens – que exploraremos em breve.
Neste artigo, discutiremos alguns dos melhores simuladores Arduino disponíveis (online e offline), os critérios que consideramos ao selecioná-los e, por fim, como escolher o simulador ideal para suas necessidades.
Sem mais delongas, vamos começar!
Para começar, vamos dar uma olhada nas opções que estão disponíveis online. Isso significa que você precisa de um navegador e uma boa conexão com a Internet — não é necessário fazer download de nenhum programa.
No Microsoft Maker Code é possível criar simulações através de blocos visuais com diversas placas, incluindo modelos Arduino. Isso o torna acessível até mesmo para quem não tem experiência com programação. Também é possível optar pela programação em Python ou JavaScript. Tudo nesse ambiente é muito intuitivo e, assim que você dominar os conceitos básicos, consegue criar simulações excelentes.
Apesar de ser uma plataforma online, é possível também conectar dispositivos físicos nela. Você tem ainda acesso a uma grande variedade de extensões para sensores e outros componentes que são de grande ajuda para as simulações. Além das funções mais básicas, existem extensões mais avançadas na parte inferior do painel, que oferecem recursos adicionais, como um joystick, sensores, ou até mesmo comandos para suporte a pendrive USB e memória flash.
A interface de usuário é bem simplificada, exibindo um painel ilustrativo com animações à esquerda e um painel de programação de blocos à direita. Alguns comandos de saída exibem resultados mesmo sem um Arduino ou um componente conectado, como o som. É possível até mesmo imprimir o diagrama de eletrônica para lhe ajudar na montagem física.
Vamos ver um exemplo básico de uma operação:
O Tinkercad Circuits é um serviço online gratuito da Autodesk que começou em 2017 e é provavelmente o simulador de Arduino mais fácil de usar. Você pode facilmente criar seus próprios circuitos, gerar um programa em formato de bloco ou texto e corrigi-lo.
A simulação de placas Arduino e interfaces de I/O e a interação com o código funcionam perfeitamente, com o código podendo ser baixado e compartilhado com outros makers.
Existem limites, é claro. O Tinkercad permite que você use qualquer item de sua biblioteca, mas não permite que você adicione novas opções de componentes à biblioteca (como módulos Arduino, outros modelos de placas Arduino, sensores Arduino). Além disso, você não consegue modificar os itens que estão disponíveis na biblioteca. Alguns componentes mais básicos, como resistores, podem ser parametrizados, mas essa não é uma opção para microcontroladores e, para o Arduino, existe apenas o modelo Arduino Uno R3.
Se você quiser experimentar o Tinkercad, vai precisar se cadastrar com uma conta de educador, estudante ou com uma conta pessoal.
Para conhecer o programa sem ter de se cadastrar, você pode testar essa fita métrica virtual. Após abrir o link:
E funciona! As distâncias na tela LCD são as mesmas mostradas pelo sensor. Para saber mais, confira nosso artigo sobre como criar e simular circuitos no Tinkercad.
O Wokwi construiu sua base originalmente no AVR8js, uma implementação baseada em JavaScript da arquitetura AVR 8-bits. É a mesma família de microcontroladores que o Arduino Uno, Nano e Mega usam. Nos últimos anos, eles também integraram algumas outras plataformas populares, como ESP32, STM32 e RP2040 (Raspberry Pi Pico). A lista completa de hardware suportado pode ser encontrada no site da Wokwi.
A maneira mais fácil de começar é ir para a página inicial, onde você pode escolher a plataforma que deseja experimentar (por exemplo, Arduino). A partir daí, você pode explorar os projetos em destaque e simulá-los. Você também pode modificar o código e o esquema do circuito, seja modificando o arquivo diagram.json ou simplesmente arrastando o novo componente para o circuito. Para obter dicas e instruções, há um bom guia sobre como usar o editor de diagramas.
Se quiser salvar seu trabalho, você vai precisar de um cadastro no Google ou no GitHub. Depois de logar, você verá um pequeno menu (no canto superior direito da tela) com uma opção chamada “Meus projetos”, onde você pode criar e organizar seus projetos.
O Wokwi permite criar ou adicionar componentes customizados, bem como carregar bibliotecas personalizadas, que são discutidas em mais detalhes em sua documentação. Para usuários de nível avançado, há também a opção de usar depurador interativo e analisador de lógica para depurar melhor seu código.
O desenvolvedor e a comunidade são bastante ativos e, assim, o Wokwi evoluiu rapidamente, graças ao seu modelo de código aberto, que incentiva um ambiente colaborativo. No canal do Discord e no grupo do LinkedIn, você pode fazer perguntas e receber suporte, inclusive do desenvolvedor.
Em termos de preços, o Wokwi tem uma modalidade gratuita para projetos de código aberto, o que significa que todos podem ver os arquivos do seu projeto. Isso deve ser suficiente para a maioria dos usuários, embora não ofereça o upload de bibliotecas personalizadas.
Para entusiastas mais avançados, os planos pagos chamados Hobby e Hobby+ oferecem alguns recursos adicionais, incluindo projetos privados, bibliotecas personalizadas e integração com o Visual Studio Code. Por fim, o nível Wokwi Pro tem permite projetos comerciais e inclui um tempo de construção mais rápido e a capacidade de executar um gateway IoT privado, entre outros recursos.
Vamos dar uma olhada em nosso programa de teste:
Funciona! As distâncias na tela LCD são quase iguais aos dados mostrados pelo sensor.
Os simuladores a seguir estão disponíveis tanto online e offline. Assim, diferentes necessidades podem ser atendidas.
O Virtual Breadboard é um aplicativo da Windows Store. A interface é fácil de usar e você consegue facilmente criar seus próprios circuitos (com ferramentas de arrastar-e-soltar). Você também pode fazer o upload de seus esboços no formato HEX do Arduino IDE, Arduino Create, PlatformIO, Visual Studio e assim por diante.
O núcleo de sua funcionalidade inclui a simulação de uma placa de Arduino, interfaces de I/O e interação de programas. Além disso, você pode exportar seu projeto nos formatos SVG e KiCad. O que há de especial no Virtual Breadboard é a inclusão de hardware virtual de realidade mista e a oportunidade de modificar o hardware.
O simulador é um pouco restritivo, pois você não consegue criar ou adicionar suas próprias peças e componentes, nem criar seus próprios programas diretamente na interface do software. E, finalmente, não é possível exportar placas e layouts para a fabricação de circuitos impressos.
Para testar a fita métrica virtual, baixe e instale o software no seu PC. Depois disso, você pode começar a usar a “Toolbox” para adicionar seus componentes clicando e arrastando-os. Por exemplo: “Toolbox > Integrated circuits > ATMega328p”.
Agora você pode carregar seu arquivo HEX apenas arrastando-o, mas você receberá a seguinte mensagem de erro:
Unlicensed components: ATMega328Uno
Consider purchasing a license to enable these components at runtime ["Considere adquirir uma licença para ativar esses componentes"]
Para verificar se nosso programa de teste funciona, você vai precisar de uma licença e, por isso, você pode:
Funciona! E as distâncias na tela LCD são as mesmas mostradas pelo sensor.
Se você não quiser pagar por uma assinatura, você pode testar os exemplos beta online.
O PICSimLab é um emulador em tempo real de placas de desenvolvimento com um debugger MPLAB X/AVR-GDB integrado. Ele dá suporte a alguns microcontroladores PICSim e alguns microcontroladores Simavr. O PICSimLab tem integração com o MPLAB X Arduino IDE para programação de placas de microcontroladores.
Você pode criar seus próprios circuitos, carregar arquivos HEX, ou fazer upload diretamente do Arduino IDE. Você também pode simular interfaces de I/O do Arduino e programar a interação. Usuários avançados podem criar ou adicionar suas próprias peças e componentes, mas, novamente, não é possível criar placas e layouts e exportá-los para a fabricação de placas de circuito impresso.
E, para completar, aqui estão algumas opções que você pode baixar e utilizar sem precisar de internet durante a simulação.
O Flowcode é uma plataforma de programação gráfica com um IDE integrado para vários controladores, como o PIC, AVR, ARM, ESP ou Raspberry Pi. Além de simular tranquilamente o Arduino, ele oferece uma grande variedade de componentes de teste e uma visualização de ambiente 3D ou 2D. Com um simples clique e arraste, você pode incluir blocos de comandos editáveis em um fluxograma para testar seu Arduino sem nem precisar mudar de tela! Confira esse vídeo no YouTube da StudentCompanion Electronics para ver esse programa em ação.
O Flowcode é bastante intuitivo e adequado tanto para usuários que estão apenas começando quanto para aqueles com alguma experiência. Ele possui a capacidade exclusiva de importar modelos 3D em formatos MESH, STEP e OBJ, o que o torna perfeito para fazer experiências com sistemas eletromecânicos onde motores, servos e atuadores podem ser integrados à representação digital.
Há uma versão gratuita do Flowcode, disponível para makers e hobistas cadastrados, com muito a oferecer e sem limitações quanto ao tamanho do projeto. As versões Pro e Academic possuem alguns recursos especiais relacionados a depuração, paradigmas e documentação. O Flowcode explica todas as diferenças em detalhes em seu site. Ele está disponível em seis idiomas.
Além do guia de introdução e de um vídeo para iniciantes, podemos verificar nosso programa de teste para ver como seria um fluxo de trabalho:
O SimulIDE é um simulador de circuitos eletrônicos em tempo real com simulação de PIC, AVR e Arduino. Ele tem uma interface spartan, com foco em velocidade, simplicidade, e facilidade de uso.
Você pode criar seus próprios circuitos e programá-los com um editor de código e debugger para GcBasic, Arduino, PIC e AVR. O SimulIDE também tem um canal no YouTube com mais de 45 vídeos.
Como visto em exemplos anteriores, não é possível criar suas próprias peças ou componentes (embora você possa pedir no fórum ou ser um Patreon). Também não é possível criar placas e layouts para exportar para fabricação de placas de circuito impresso.
Vamos experimentar a versão gratuita para o nosso exemplo. Há duas maneiras de fazer isso:
Apesar do nome, o Arduino IO Simulator é melhor para testar componentes e requer um Arduino físico conectado ao computador para ser utilizado. Ao executar um código ou exemplo no Arduino conectado ao computador, você pode interagir com esse Arduino através dos sensores e de componentes do simulador. Na versão gratuita, você precisa estar conectado via cabo USB e usar uma porta COM, mas, na versão Pro, é possível emular portas via protocolo TCP e assim conectar-se via Wi-Fi. A versão Pro está disponível gratuitamente no momento.
A promessa desse programa é facilitar um teste caso você não tenha todos os componentes ou para verificar rapidamente o comportamento do seu código. Tudo está muito bem documentado, incluindo um manual de instruções e um guia de instalação que explica o que é necessário para a instalação do Java. O programa oferece diversos exemplos para teste, além de bibliotecas para facilitar o uso de componentes. Esse programa pode ser muito útil para fins educacionais.
Vamos ver como usar esse programa:
O UnoArduSim é uma ferramenta educacional gratuita com a qual você pode criar seus próprios circuitos (clicando em “Configure > I/O Devices”) e programas (somente texto ou carregando arquivos Arduino). Com ela também é possível corrigir códigos e simular interfaces de I/O do Arduino e a interação de programas.
Note que não é possível criar ou adicionar suas próprias peças e componentes, arrastar e soltar componentes, criar placas e layouts, nem exportar placas e layouts para a fabricação de circuitos impressos.
Vamos dar uma olhada em nosso programa de teste:
O Proteus VSM para Arduino AVR é, de longe, a opção mais cara da lista. Dito isso, além de todo o básico, ele oferece alguns recursos especiais não vistos em outros simuladores. Por exemplo, você tem acesso a milhares de modelos de periféricos, além de poder arrastar-e-soltar dezenas de shields em suas simulações.
Embora não tenhamos conseguido testar nosso exemplo pelo fato de a versão profissional de demonstração ser bastante limitada, muitas pessoas no YouTube já utilizaram o mesmo projeto da fita métrica.
Se você quiser experimentar, existem diversos projetos de teste:
Com os simuladores, precisamos manter nossas expectativas controladas, porque eles nunca serão tão tranquilos e confiáveis quanto o hardware real. Dito isto, um simulador ideal ainda precisa ter as seguintes características:
Licença: O texto "Os melhores simuladores Arduino (online / offline)", da All3DP, é licenciado pela licença Creative Commons Atribuição 4.0 Internacional (CC BY 4.0)