Tabela de conteúdos
Programação
A programação foi subdividida em 3 estágios, equivalentes às funções que o robô deveria executar: Odometria, Seguir linha e Detectar luz mais proxima.
Seguir Linha
Com a adequação do eixo frontal do robô, o controle ficou muito mais fácil, com tempo pra tomar decisão já ciente do caminho à frente.
Com os sensores LDR aliados a um led cada, removemos a infereferência da iluminação do ambiente.
A tomda de decisão em relação à linha se deu da seguinte forma:
- Caso um dos lados detectasse preto, a velocidade da roda deste lado diminuiria e do ouro lado aumentaria; - Caso ambos os lados detectassem preto, o robô giraria à esquerda até que a primeira situação se repetisse.
Desta forma, o comportamento desejado e obtido era que o robô seguisse em frente caso pudesse e em uma encruzilhada, o caminho preferido seria virar à esquerda.
Detectar Luz Mais Próxima
Neste módulo, fazendo uso do LDR diferencial, o robô seria capaz de identificar a luz mais proxima graças à polarização do emissores e os filtros polarizadores utilizados na motagem do sensor.
Dadas as instalações, as premissas foram que o sensor responderia acima da média quando estivesse direcionado a uma luz e acima da media na outra.
Com isto em mente, a lógica aplicada foi: O robô gira 360 graus e guarda os valores minimo e máximo de leitura, tal como o tempo da rotação em que foram encontrados. Quando termina a volta, compara com o valor central definido pelo grupo (750) e o valor mais distante é o mais próximo. A partir daí, o robô gira no tempo do valor definido.
