Robô segue linha com sensor ultrassônico

Montei um robô segue linha com dois motores com redução, placa arduino uno, dois sensores LDR, um sensor de luz infravermelho, um sensor ultrassônico, um servo motor. Desenvolvi um código para ele, porém não funcionam o sensor ultrassônico e o servo motor. Alguém poderia verificar o código para saber onde está o erro.

Robot.txt (12.1 KB)

O código não faz grande sentido. Utilizar funções que devolvem valores e ao mesmo tempo usar variáveis globais não faz o mais pequeno sentido.
Exactamente o que é que o programa faz e o que é que devia fazer? É que dizer: "não funcionam o sensor ultrassônico e o servo motor" é muito vago e perde-se mais tempo a tentar perceber o que é que isto significa que a procurar o erro em si.

Interessante esse post. Algumas Universidades estão criando campeonatos de robores seguidores de linha. Bakana !