Ontem fiz a minha primeira aplicação com os sensores do Arduíno pois já estava incomodado por ter ele lá parado na estante há uns 6 meses me olhando sem ser usado. De início desejo aprender a ler os esquemas de eletrônica e montar meus apetrechos para o barco e para algum projeto do mestrado (que depois descobri não valorizar produtos). Comecei pelo sensor ultra-som de distância HCSR04.

O sensor é aquele com dois copos metálicos, um emite o ultrassom e o outro recebe. Então, ele pega quanto tempo o som demorou para voltar e calcula a distância. Simples, né?
Preço: Aqui no Brasil, R$ 20,oo a 50,oo.
No ebay $ 3USD com entrega.
Precisão: 3mm
Distância máxima: 45/50cm
Datasheet do sensor HCSR04
Erros:
Eu já tinha testado o Arduino antes só com um código de piscar os leds com um programinha simpes sem problema algum. Mas ontem quando eu compilava qualquer código, mostrava 0 erros de código mas sempre voltava a mensagem:
avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Tinha um monte de besteiras nos fóruns, falando pra dar reset repetidamente, tirar e colocar o cabo usb rapidamente (o que acho pode queimar ou perder a ROM) mas no final das contas depois de 1 hora aprendi que é só mudar a porta COM. A minha estava COM3 e ao mudar para a COM5 funcionou, compilou e instantaneamente já começou a receber as informações na janela de serial.
Primeira pegadinha
O programa do Arduino já vem com uma biblioteca e código pronto para um sensor de distância, só que não é este que eu tenho. Pelos tutoriais, o outro sensor só tem três pinos: alimentação 5V, GND (neutro), e o que transmite os dados. Esse meu separa o dado em entrada e saida, então tem 4 pinos. Então, tem que tomar cuidado para não montar tudo no automático sem prestar muita atenção e fazer qualquer coisa que não funcione. Tive que dar uma pesquisada no sensor específico e por sorte tinha bastante documentação, com o porém de a maioria ser de mais alto nível, sem estas minhas questões de iniciante.

Conjunto em ação, mas esta configuração não foi a que funcionou.
Instalação de biblioteca
Sempre que um código chama um “qualquerCoisa.h” ele está chamando uma library. Só que este sensor não tinha esta library instalada no console do Arduino e demorei mais uma hora até ter calma de ler a documentação e ver o que deveria fazer. Aqui vai um passo a passo:
- Baixar a libray do sensor ou qualquer outro hardware que voce espetar, elas tem dois arquivos pelo menos um “qualquerCoisa.h” e um “qualquerCoisa.ccp”;
- Copiar para o diretório do programa do Arduino, na pasta de libraries criando uma pasta para ele.
- Reiniciar o programa, com isso já vai aparecer no menu e quando voce fizer a chamada, não vai mais receber o erro de biblioteca não localizada.
Documentação oficial
http://arduino.cc/it/Reference/Libraries
Conclusão:
Tudo funcionou como o esperado, fiz o esquema mais simples possível. Seguindo e lendo os tutorais oficiais e o datasheet não tem erro. Sempre vão surgir dúvidas, mas só se aprende fazendo e com a internet fica tudo muito mais fácil. Meus próximos passos serão colocar um display com as informações do sensor e um outro monitor de temperatura jogando os dados na internet.