Video do último teste básico ao sistema de detecção de IR (as várias colunas são uma tabela de frequências do ângulo detectado; no final do artigo encontra-se a foto da tabela de frequências final deste teste).
Depois de isolado o código relativo à operação do sistema detector da torre IR usado no Micro Rato 2018, foi testado e rescrito segundo um novo modelo.
No robot usado no Microrato 2018 o uso do servo para efectuar varrimentos foi preterido face à opção de rotação do robot. A explicação que me foi dada é que o detector de IR saturava. Para um newbie como eu, isso quer dizer tudo e nada, portanto, examinei a situação e tentei por a funcionar o sistema com o varrimento do servo, como era suposto ser.
No entanto, para mim, esta não é a melhor opção, pois o ângulo de varrimento tem grandes limites. A opção seria uma torre rotativa com um servo.
Ambiente de testes ao detector da torre IR do Maze Runner
O ambiente de teste ao detector da torre IR para a prova Maze Runner do Microrato 2019 é constituído por um emissor a funcionar como torre e o sistema de detecção. O emissor é único e colocado a uma altura compatível com a posição do sistema de detecção.

Segundo o regulamento da prova Maze Runner do Micro Rato 2019, o farol emite radiação infra-vermelha, com os respectivos emissores colocados a 28 cm de altura.
A radiação infra-vermelha é emitida no comprimento de onda de 940nm. O sinal é modulado, em “on-off keying”, a 600 Hz sobre uma portadora de 38 kHz. O “duty-cycle” do sinal modulante (600 Hz) é de 30%.

A detecção dos infra-vermelhos do farol é efectuada recorrendo a um detector de IR, cuja a direcionalidade da recepção é reforçada por um tubo estreito e negro.
O sistema de detecção foi experimentado de forma autónoma recorrendo a:
- um Servo, para fazer o varrimento
- um Detector de IR, com um condensador associado
- um Arduino nano, com um condensador entre os 5V e GND
Conjunto detector de IR, que inclui o detector e o servo

Resultados dos testes efectuados ao detector da torre IR
Os primeiros testes foram efectuados com base no modelo de exploração do microrato 2018, e não foram bem sucedidos.
A implementação aproveitada do microrato 2018 não funcionava bem por duas razões:
- O funcionamento seria sempre sub-óptimo porque estava pensado para devolver resultados mais imediatos (e portanto devia ser muito rápido);
- O tempo necessário para a rotação do servo para uma nova posição não era suficiente (fruto da necessidade de rapidez para resultados imediatos);
Depois de observar o problema e a eventual solução rescrevi o código para funcionar de forma mais fluída e eficiente, mas reduzindo a velocidade de varrimento do servo.
Os primeiros testes mostram-se mais animadores, mas no entanto, notei uma serie de falsos positivos, especialmente quando aumentava a velocidade de varrimento (aparentemente concentrados próximos das posições de inflexão do movimento), e também notei a dificuldade do servo ultrapassar os 160 graus.
Para colmatar a situação, reduzi a amplitude do varrimento do servo dos 10 aos 160 graus, e adicionei um condensador de 1000 uF na alimentação dos periféricos (junto aos pinos do Arduino).
No video acima, pode-se observar o funcionamento do sistema, com varrimento de baixa velocidade.
No primeiro video, no principio do artigo, está o video final, com um varrimento mais rápido.

Posteriormente reparei, que a inversão da rotação não está bem no limite superior. Passa de 160 para 150, sem passar pelos 155. Um pequeno pormenor que não compromete a validade dos testes efectuados, nem sequer a capacidade de encontrar o farol numa situação real.
Pode se observar alguma consistência da detecção, numa amplitude de 20 graus, e com especial incidência num dos elementos do conjunto.
Software de detecção de torre IR para o Maze Runner
https://github.com/inaciose/SoundRat/blob/master/SoundRat2019/ir_beacon_detector.ino