Às vezes, os programas podem ter erros de tempo de execução. Às vezes, são difíceis de encontrar e podem ser facilmente esquecidos. Existe alguma maneira de testar o programa antes de gravá-lo na placa?
Às vezes, os programas podem ter erros de tempo de execução. Às vezes, são difíceis de encontrar e podem ser facilmente esquecidos. Existe alguma maneira de testar o programa antes de gravá-lo na placa?
Respostas:
Existem alguns projetos do Arduino Simulator por aí.
Talvez um dos mais maduros seja o Virtronics Simulator for Arduino , vídeo do YouTube aqui .
A página da Virtronics vinculada acima também lista alguns outros simuladores do Arduino, gratuitos e pagos.
Dado o interesse que o Arduino desperta, é provável que haja muitos outros simuladores por aí, então não adianta tentar listá-los todos em uma resposta aqui.
O que vale a pena notar é que também há um aplicativo para iPhone do Arduino Simulator : essa não é uma recomendação, pois ainda não o vi em operação.
Em uma nota lateral:
O Arduino é em si um painel de prototipagem / experimentação. É ideal para programar código experimental, depurá-lo, modificar e, em seguida, re-piscar o código novo, praticamente quantas vezes quiser . Se o código travar, redefina e reflash com as alterações.
Portanto, o mérito de usar um simulador, que nunca pode emular perfeitamente os vários momentos do mundo real ou outros problemas que um aplicativo pode enfrentar, é questionável.
Se o custo do Arduino é a preocupação, existem algumas opções em aberto:
Você pode encontrar erros de tempo de execução se você pode percorrer manualmente seu programa com o Arduino conectado e depurar ( após baixar o código no Arduino). Está disponível no Visual Micro, embora exija o Visual Studio. Você pode definir pontos de interrupção, avaliar variáveis e alterar valores de variáveis. Você também pode obter a visualização da memória ao longo do tempo:
Uma maneira de fazer isso seria criar um programa wrapper para o código real, que simula todas as entradas e aceita saídas (criando assim um loop de feedback) conforme o ambiente real. Isso exigiria uma quantidade variável de esforço, dependendo do tipo de programa, grau de teste e número de entradas.
Lembre-se de que, ao escrever o programa wrapper, você deve seguir uma abordagem de caixa preta .
Caso contrário, seu código externo poderá não testar o programa da melhor maneira possível, pois, tendo em mente o código real ao criar o código de teste, você poderá ignorar casos de fronteira ou áreas problemáticas (isso foi observado durante o teste de caixa branca que é a alternativa).