- 1. Placa Arduino não reconhecida
- 2. Placa não sincronizada
- 3. O código não inicia no Power Reset
- 4. Erro de assinatura de dispositivo inválido
- 5. Erro Launch4j
- 6. Porta serial já em uso
- 7: Sketch uploads com sucesso, mas nada acontece
- 8. Erro de link insatisfeito
- 9. Esboço muito grande
- 10. java.lang.StackOverflowError
Começar como um iniciante com o Arduino pode ser bastante desafiador para pessoas sem experiência em eletrônica, você se depararia com erros, alguns dos quais podem ter soluções simples, mas podem levar dias para serem resolvidos. Então, para tornar as coisas um pouco mais fáceis, criei uma lista dos 10 erros mais populares do Arduino junto com as possíveis soluções para eles.
1. Placa Arduino não reconhecida
Isso se refere a uma situação em que uma placa Arduino, conectada a um computador, não é reconhecida pelo computador. Quando isso acontece, a placa geralmente não é listada nas listas de portas do IDE do Arduino e às vezes é rotulada como USB2.0 no gerenciador de dispositivos.
Solução
Isso acontece quando você usa certos clones baratos do Arduino que usam o chip conversor CH340g USB para Serial em vez do FTDI (FT232RL) e outros usados pelas placas Arduino padrão. Os drivers para USB para chips seriais usados pelas placas Arduino padrão são sempre empacotados junto com o arquivo de configuração do IDE do Arduino, portanto, quando você instala o IDE, os drivers são instalados automaticamente no seu PC. Para poder usar este CH340g USB para placas Arduino baseadas no conversor serial, você terá que baixar e instalar o driver para o chip. O driver pode ser baixado deste link. A instalação é tão simples quanto clicar no botão instalar na interface de configuração mostrada abaixo.
Feito isso, agora você deve conseguir localizar a porta à qual a placa está conectada no IDE do Arduino.
2. Placa não sincronizada
Normalmente, quando isso acontece, você não será capaz de fazer o upload do código (embora o IDE às vezes exiba “upload concluído”) para a placa Arduino e o IDE exibirá o código de erro; “ Avrdude: stk500_getsync (): não sincronizado: resp = 0x00 ”.
Solução
O sync: resp = 0x00 é uma resposta genérica que se traduz em “ o chip Atmega não está funcionando ” no Arduino. Quando isso acontece, há um monte de coisas que podem estar erradas. Aqui estão algumas etapas que podem ser seguidas para eliminar esse erro.
1. Certifique-se de que não haja nada conectado aos pinos digitais 0 e 1 no Arduino (incluindo blindagens).
2. Certifique-se de que a porta de comunicação e a placa corretas foram selecionadas no menu de ferramentas.
3. Pressione o botão de reset no Arduino algumas vezes e reenvie o código.
4. Desconecte e reconecte o Arduino ao PC.
5. Reinicie o IDE do Arduino.
Se nada disso funcionar, pode ser hora de tentar usar uma placa Arduino diferente com o PC ou usar a placa Arduino “defeituosa” com outro PC. Isso deve ajudá-lo a identificar qual deles é a origem do problema. Se você descobrir que o problema é com o PC, reinstale o IDE do Arduino. No entanto, se a placa Arduino “defeituosa” for a fonte do problema, uma solução definitiva será atualizar a placa com o firmware do Arduino. Se nenhuma das opções acima funcionar, pode ser hora de você trocar a placa Arduino.
3. O código não inicia no Power Reset
Isso se refere a casos em que o Arduino não executa o esboço carregado para ele quando ligado e, na maioria dos casos, apenas reverte para o esboço intermitente associado ao bootloader.
Solução
Assim como os outros problemas tratados, há várias coisas que podem causar isso.
Se a placa travar e não fizer nada, você deve verificar seu código para garantir que não está enviando dados seriais para a placa quando ela é ativada. Quando o Arduino é ligado, o bootloader, nos primeiros segundos, escuta o computador enviar um novo sketch para upload para a placa. Se nenhum novo esboço for recebido, após um curto período, o bootloader atingirá o tempo limite e executará o último esboço carregado para a placa. Se o seu código estiver enviando dados seriais durante os primeiros minutos, o bootloader não atingirá o tempo limite e o último esboço carregado para a placa não será iniciado.
Se enviar dados seriais assim que a placa for ligada é uma parte importante do seu projeto, você pode precisar encontrar uma maneira de atrasar a chegada dos dados seriais assim que o Arduino ligar. Se os ajustes afetarão a tarefa que o projeto deve realizar, talvez seja necessário carregar seu esboço para a placa usando um programador externo, pois o carregador de inicialização pode ser contornado por eles.
Se a placa não travar, mas retornar ao esboço piscante do Arduino (o LED no pino 13 pisca de vez em quando), uma correção direta será piscar a placa com o carregador de inicialização do Arduino, pois o da placa pode estar corrompido.
4. Erro de assinatura de dispositivo inválido
Este erro é exibido quando é feita uma tentativa de fazer upload do código, para uma placa, diferente daquela selecionada em ferramentas> lista de placas no IDE do Arduino. Este erro geralmente ocorre porque a assinatura do dispositivo na placa de destino é diferente daquela da placa selecionada no IDE.
Solução
A solução para esse erro é tão simples quanto garantir que a placa correta seja selecionada no IDE do Arduino. Se isso não funcionar, pode ser necessário atualizar o microcontrolador com a versão mais recente do carregador de inicialização Arduino.
5. Erro Launch4j
O IDE do Arduino às vezes demora um pouco antes de carregar e, quando carregar, se você clicar em qualquer coisa, ele exibirá o erro Launch4J conforme mostrado acima. Launch4j é uma ferramenta usada para empacotar aplicativos Java (jars) no executável nativo do Windows, permitindo que sejam usados como um programa normal do Windows.
O próprio Arduino IDE é escrito em JAVA e esse erro ocorre devido à incompatibilidade da biblioteca Java Run Time Environment (JRE) fornecida com o Arduino IDE.
Solução
Por experiência própria, esse erro pode ser resolvido por algo tão simples como desligar o Bluetooth ou a conectividade sem fio do seu PC. No entanto, uma solução mais completa e permanente é substituir o JRE no pacote do Arduino por uma versão recente.
6. Porta serial já em uso
Este é provavelmente um dos erros mais fáceis de resolver. Geralmente ocorre quando você tenta carregar o código para um Arduino enquanto o monitor serial está aberto (isso não é mais um problema se estiver usando versões IDE recentes) ou quando você tenta iniciar o monitor serial quando o Arduino está falando com outro software ou dispositivo através da porta serial. Basicamente, ocorre quando você tenta usar a porta serial do Arduino para duas coisas diferentes ao mesmo tempo.
Solução
Como sugerido pelo IDE, feche todos os outros softwares / ferramentas (incluindo o monitor / plotter serial) que possam estar usando a porta de comunicação. Se você não tiver certeza sobre o software específico, desconecte o Arduino. Ele deve estar pronto para uso quando você conectá-lo novamente.
7: Sketch uploads com sucesso, mas nada acontece
Este erro é semelhante a alguns dos outros erros já tratados acima. Para este erro, o IDE do Arduino irá sugerir que o código foi carregado com sucesso, mas a placa não faz nada.
Solução
- Certifique-se de que a placa selecionada no IDE seja igual à placa de destino.
- Isso pode ser devido ao tamanho do esboço ser maior do que a capacidade do quadro. Verifique o tamanho do esboço e use alguns dos métodos mencionados acima para reduzir o tamanho.
- Por último, este erro pode ocorrer quando uma fonte de alimentação barulhenta está sendo usada. Certifique-se de que a fonte de alimentação esteja estável o suficiente.
8. Erro de link insatisfeito
Este é provavelmente o único erro raro que apareceu nesta lista. Isso ocorre quando você tem uma versão antiga da biblioteca de comunicação em seu PC, provavelmente de uma instalação anterior.
Solução
Para resolver esse erro, procurar comm.jar ou jcl.jar em /System/Library/Frameworks/JavaVM.framework/ ou em diretórios na do seu PC CLASSPATH ou PATH variáveis de ambiente.
9. Esboço muito grande
Esse erro ocorre quando seu código é maior do que a memória flash dessa placa Arduino específica. O tamanho da memória flash do Arduino Uno, por exemplo, é de 32Kb com 2KB já sendo usados pelo bootloader do Arduino. Se você deve fazer upload de um código com um tamanho superior a 32Kb, o Arduino exibirá este aviso.
Solução
Conforme mencionado acima, isso ocorre quando o seu sketch é maior que a memória flash da placa em particular que você está usando, portanto, para resolver isso, você deve encontrar formas de reduzir a quantidade de espaço ocupado pelo seu código. Algumas das dicas para conseguir isso incluem;
- Sempre que possível, use tipos de dados inteiros no lugar de um float.
- Sempre que possível, use o qualificador “const” ao declarar variáveis.
- Inclua apenas as bibliotecas necessárias. Sempre que possível, use as versões leves das bibliotecas mais importantes.
- Melhore o código em geral. Desenvolva algoritmos que podem ajudar a tornar seu código mais curto e geralmente leve.
Uma solução mais radical será passar o projeto para outra placa, como a Arduino Mega, que possui uma memória flash maior em comparação com o Uno.
10. java.lang.StackOverflowError
Ao processar o esboço, o Arduino usa algumas expressões regulares para processamento e às vezes fica confuso quando encontra certos erros relacionados a strings, como aspas ausentes.
Solução
Este erro é resolvido dando uma segunda olhada no código, especialmente nas partes onde as sequências de strings são usadas. Certifique-se de que as aspas estejam completas, as barras invertidas sejam usadas corretamente, etc.
Existe um limite para o número de erros que se pode encaixar em um único tutorial e por esse motivo, vamos parar por aqui. No entanto, esta lista contém alguns dos erros mais comuns que os iniciantes enfrentam ao usar o Arduin o. Você está lutando contra um erro específico, fique à vontade para deixar um comentário, espero que possamos resolver isso juntos.
Próxima vez.