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ô.
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
Postar um comentário