Criação de sensores e sistema de calibração

From TheUbberCannon

Quando o canhão é ligado, não é possível fazer nenhuma inferência a respeito da posição em que o canhão está apontando. Por este motivo é necessário mover o canhão para uma posição conhecida pelo menos uma vez. Para fazer isso, são necessários dois sensores que deve ser acoplados a base, um para o movimento vertical e outro para a horizontal.

Para isso várias alterações tiveram que ser realizadas, entre elas:

1. Modificação do código da avr. A classe Canhão foi modificado para utilizar o padrão estado, e dois estados foram criados: estado Livre (funcionamento normal), estado Calibragem (quando está calibrando). O canhão inicia no estado de Calibragem até que os dois sensores tenham sido atingidos, neste momento ele corrige as posições lógicas do canhão e muda para o estado Livre, onde ele pode realizar o tiro. Além disso, uma classe "driver" Interruptor foi criada.

2. Integração elétrica com avr. Os sensores tiveram que ser ligados com a AVR através da porta. Para isso um resistor de pullup (inerente ao atmega16) teve que ser ligado e o sensor ligado na porta e no terra.

3. Fixação do sensor na base. Os sensores tivera que ser fixados a base de forma que o canhão, quando nas posições extremas, o ative.