Os 5 erros comuns na programação do Arduino.

code-coding-computer-574080

É muito comum meus alunos se sentirem desmotivados perante alguns erros comuns que aparecem quando estão iniciando o aprendizado na plataforma Arduino.

É totalmente compreensível.

Para eles é um mundo completamente novo a ser explorado. E sem a devida orientação, qualquer um se sente perdido em um novo terreno.

doubt

A boa notícia é que 80% dos erros que são cometidos na fase inicial de aprendizado se concentram em apenas alguns tópicos.

Neste artigo eu vou listas esses tópicos e ensinar como não cair (ou sair) dessas armadilhas que podem fazer você desistir de aprender antes mesmo de poder enxergar as possibilidades que o Arduino oferece a quem gosta de eletrônica e programação.

 

1- FALTANDO ” ; ”  NO FIM DA LINHA

Todas as instruções, definições de variáveis e chamadas de funções na programação do Arduino, devem ser finalizadas com o ;

Todos sabem disso. Mas na pressa, e sem a devida experiência, é comum esquecer deste detalhe.

E nem sempre a mensagem de erro do compilador colabora. Isso porque o compilador acaba posicionando o cursor na linha posterior ao erro.

Por exemplo:

Na imagens abaixo temos um pequeno trecho de código onde foi esquecido o ; no final da linha 8. Quando pressionamos o botão de “verificar”, o compilador indica o erro colocando a linha 9 em destaque (cor de rosa).

prtsc1

Nas linhas do console da IDE do Arduino (logo abaixo do código) temos a seguinte mensagem de erro:

prtsc2

Traduzindo a mensagem: “esperado ‘,’ ou ‘;’ antes de ‘delay'”. Ele está avisando que você esqueceu de colocar o ; antes da instrução delay. Mas você tem que observar a linha anterior para ver que está faltando o ; no final da linha.

Se houver mais erros, ai então a coisa fica mais complicada.

Minha dica então é ficar de olho na mensagem de erro. Se aparecer a palavra “before”, procure o erro na linha anterior ao cursor na tela de código.

 

2- FALTA DE DEFINIÇÃO DA VARIÁVEL OU DIGITAÇÃO ERRADA DO NOME DA VARIÁVEL

Para o compilador, toda palavra dentro do código, tem que ser conhecida, com exceção dos trechos de comentários.

As palavras que definem as instruções e funções da linguagem, ficam definidas nas bibliotecas que são instaladas na IDE.

Já as variáveis que criamos para uso no programa que criamos, tem que ser definidas antes de podermos usar dentro do programa.

Neste caso o que acontece com maior frequência, não é esquecermos de fazer a definição. É a digitação errada do nome da variável.

O nome da variável é “case sensitive”. Ou seja, letras maiúsculas e minúsculas devem ser iguais na definição e no uso da variável dentro do programa.

Observe o exemplo a seguir:

prtsc3

Neste caso o erro foi que usamos a variável com a primeira letra maiúscula e na definição estava com minúscula.

O compilador marca em cor de rosa a linha 10 onde o erro foi detectado e escreve no console:

prtsc4

Quando temos a mensagem “xxx was not declared in this scope” significa sempre que o compilador não identificou o nome xxx. Possivelmente porque é uma variável não declarada ou foi declarada com um nome diferente.

 

3- DESBALANCEAMENTO DOS PARES DE CHAVES { }

Outro erro cometido com frequência por quem está aprendendo a programar com o Arduino, é usar as chaves sem balanceamento.

Chamamos de chaves balanceadas quando temos o mesmo número de aberturas e fechamentos de chaves dentro do programa.

As chaves são usadas na programação para criar grupos de instruções que devem ser executadas em sequência. Por exemplo dentro de uma função ou de uma instrução de “if”.

Cada vez que usamos uma abertura de chave ( { ), temos obrigatoriamente que usar um fechamento de chave ( } ) , caso contrário teremos uma mensagem de erro do tipo :

“expected ‘}’ at end of input”

Muitas vezes dentro do corpo do programa temos que usar as chaves em sequência, uma dentro das outras. Ou seja, antes de fecharmos um conjunto de instruções com }, temos que abrir outro grupo de instruções com {. Não tem nenhum problema fazermos isso (na verdade é muito comum). O que não pode ocorrer é faltar (ou sobrar) nenhum fechamento de chave no final do código do programa.

 

4- FALTA DE CONEXÃO COM A PLACA

Então finalmente você aperta o botão “Verificar” e não recebe nenhuma mensagem de erro. É hora de apertar o botão “Carregar” para fazer o download na placa do Arduino.

E ai você recebe mensagens do tipo:

“Can’t open device”

“Problema ao carregar a placa”

Isso quer dizer que o computador não localizou a placa do Arduino conectada a uma das portas USB e não pode fazer o download.

Neste momento “muita calma”. A solução pode ser muito fácil ou um pouco mais difícil.

Vamos tentar a solução “fácil” primeiro.

Você vai desconectar o Arduino do seu computador e verificar as portas que estão disponíveis quando o Arduino não está conectado. Faça isso pelo menu Ferramentas-> porta:

prtsc5

Em seguida reconecte seu Arduino no computador e veja no mesmo menu qual foi a porta COM que apareceu na lista. A que apareceu é a porta conectada ao seu Arduino. No próprio menu click sobre esta COM e seu Arduino estará conectado.

Se der tudo certo aparecerá o nome da COM logo no menu Ferramentas, conforme a figura abaixo:

prtsc6

Este procedimento é necessário sempre você mudar a porta USB que está sendo usada. Caso você use sempre o mesmo computador e a mesma porta USB, esta configuração ficará memorizada na IDE.

Isso foi fácil. O problema é quando a porta COM conectada ao Arduino não aparece na lista no menu Ferramentas-> porta.

Isso acontece quando não foi feita a instalação correta do driver para o Arduino.

Para resolver isso vamos seguir os seguintes passos:

  1. Desconecte a placa Arduino do seu computador;
  2. Desinstale a IDE do Arduino no seu computador;
  3. Desligue e ligue o computador;
  4. Faça novamente a instalação da IDE deixando a placa Arduino desconectada do computador;
  5. Depois de terminar a instalação, conecte a placa do Arduino e espere alguns minutos até que o próprio computador termine a instalação automática do driver;
  6. Quando você obter a mensagem no computador que “a instalação do seu novo dispositivo foi finalizada com sucesso”, pode abrir a IDE do Arduino e procurar no menu Ferramentas->porta qual a porta COM que aparece agora. Selecione esta porta e tente fazer o download novamente.

Este procedimento deve resolver o problema. Caso contrário, tente fazer a mesma instalação em outro computador. Se não obtiver sucesso, provavelmente sua placa Arduino está com defeito.

 

 

5- FALTA DE DEFINIÇÃO DE ENTRADAS E SAÍDAS

Agora que você conseguiu carregar seu programa no Arduino, é hora de testar o programa.

Se o programa não funcionar, provavelmente deve ser um problema de lógica. Mas eu gostaria somente de lembrar que todos os periféricos que você utilizar no programa devem ser inicializados corretamente para que tudo dê certo.

O periférico mais comum são as portas de IO do Arduino e é onde acontecem os erros mais comuns desta categoria. Reveja todos os pinos de IO que estão sendo utilizados em seu programa e confira se foram inicializados corretamente. Ou seja, se você especificou na rotina de setup( ) quais pinos são entradas e quais são saídas.

Um detalhe muito importante é que os pinos 0 e 1 da placa Arduino tem algumas restrições devido a serem compartilhados com a porta serial. Isso pode causar problemas no programa mesmo se fizermos as definições de entradas e saídas corretas.

Como são os primeiros pinos em ordem crescente, é comum usarmos estes pinos primeiramente. Eu aconselho sempre evitar o uso desses pinos. Normalmente temos vários outros pinos sobrando e não atrapalha em nada usarmos outros pinos.

 

CONSELHOS FINAIS

Estes são apenas alguns erros possíveis quando estamos desenvolvendo programas no Arduino. Mas pelo que tenho visto em aula, são os mais comuns e que “com certeza” acontecem com que está na fase de aprendizado.

Meus conselhos adicionais são 3:

  • Ao escrever um programa mais longo, tente dividi-lo em partes pequenas e ir fazendo a verificação pelo compilador a cada parte finalizada. É muito mais fácil achar erros quando temos poucos erros. Se você deixar para fazer a verificação somente depois de finalizar todo o programa, a probabilidade de ter muitos erros é grande.
  • Quando tiver uma mensagem de erro do compilador, observe bem onde fica posicionado o cursor na tela do comutador. Normalmente o erro está próximo desta posição.
  • Use os comentários sempre que possível para lembrar a você mesmo como  o programa deveria funcionar. Este hábito ajuda tanto na hora que você está escrevendo o programa, quanto na hora que você tem que fazer uma manutenção ou alteração no código.

 

Braços,

Jorge Candido

 

 

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s