Robô (Monty) usando Arduino - Parte 2

Na primeira postagem do robô (Monty), eu o coloquei apenas para andar e voltar caso aproximasse de algum obstáculo, estava usando um sensor ultrasonico HC-SR para detectar o obstaculo. Agora o coloquei para funcionar da mesma forma, porem com a placa original do sensor ultrasonico. O funcionamento é um pouco diferente, enquanto no HC-SR após o envio de um pulso de 10uS ele envia uma rajada de pulsos de 40khz, recebendo de volta. E assim, desta forma eu posso ter o tempo de ida e volta, e conseqüentemente em cima do tempo consigo a medida da distancia. Na placa original posso deixar a rajada constante e se em algum momento a placa detectar a volta, ela me retorna um nível baixo (0). Ou eu mando a rajada apenas quando achar necessário e a placa fica esperando o retorno para me retornar o nível baixo(0). Porém esse retorno do nível baixo é lento e temporizado, assim não consigo fazer medições de tempo. A placa possui dois potenciômetros, um para o ajuste de sensibilidade e outro para alterar a freqüência que varia de 36khz a 43khz. A solução foi aumentar a freqüência e assim diminui-se a distancia, e deixar a sensibilidade no mínimo. Com isso, deixando a rajada constante, consegui que a placa detectasse distancias não muito precisas, mas baixa, variado de 20 a 30cm. Outra dificuldade deste conjunto sensores/placas com relação ao HC-SR, é que ele não detecta obstáculos caso o ângulo aumente muito, em torno de mais de 30º, tentarei resolver isso posteriormente de outra forma.
Alem da placa, coloquei duas perfumarias. Na primeira, quando o robô está manobrando para virar ele emite um beep. Na segunda o robô somente inicializa com um som alto, como uma palma ou estalido de dedo próximo a ele.
Por fim coloquei os sensores infravermelhos, que servem para seguir uma linha preta em fundo branco, como no vídeo abaixo. O código para este processo é bem simples, se estiver sempre em branco retorna (0) e continua seguindo, caso detecte preto retorna (1) e ele conseqüentemente para um dos motores para voltar na trajetória fora da linha preta.
Para ele passar para o modo “seguir linha preta”, é necessário que os pinos 4 e 7 estejam em nível alto antes de alimentar o robô.
Próximo passo será:
  • adicionar sensores físicos (chaves) nas quinas frontais do robô, já que seu sensor de ultrasom não detecta bem caso o ângulo esteja alto.
  • melhorar o código de andar na linha preta, para tentar deixar as curvas mais “redondas”.
  • mudar o código para setar o modo de andar na linha preta, mudando apenas um pino para nível alto.
  • testar placas restantes, sensor de luz, controle do braço mecânico e chaves/LEDs.

Comentários