Projeto Final
Montagem
Para o último trabalho prático o grupo 1, nomeado Gambiarra Sinfônica, decidiu por fazer um veículo com tração traseira e uma roda dianteira feita a partir de uma esfera que pode se mover em todas as direções. A configuração final do veículo pode ser vista nas 4 figuras abaixo que trazem as vistas frontal, lateral, superior e traseira do veículo ao longo de sua construção.
Dimensões
As dimensões do veículo são:
Comprimento: 300 mm
Altura: 100 mm
Largura: 140 mm
Sistema Propulsor
Para o sistema propulsor decidiu-se pela utilização de 2 motores elétricos DC iguais, sendo cada um responsável por mover apenas uma das rodas. Os motores foram fixados à uma peça descartável de LEGO com o auxílio de cola quente e posicionados próximos ao primeiro eixo da caixa de redução. O motor utilizado pode ser visto abaixo.
Cada motor está conectado a uma caixa de redução, conforme pode ser visto na figura abaixo, de razão igual a 243:1 com o objetivo de reduzir a velocidade do motor e aumentar o torque. Ao eixo final da caixa de redução foi acoplado uma engrenagem. Através de outra engrenagem, que pode ser vista na outra figura, o torque final é transmitido para uma segunda engrenagem acoplada ao eixo da roda, garantindo assim a rotação das mesmas com uma velocidade adequada e um torque suficiente.
Manipulador
Para segurar o bloco fizemos um braço/garra manipulador(a) bem simples que utiliza um motor elétrico que gira um eixo e através de uma redução de 125:1 faz com que uma espécie de grade desça e agarre o bloco ao corpo do robô.
Sensores
Para o projeto final, foi necessário usar três tipos de sensores: dois sensores ótico-reflexivos, dois LDRs para detecção de luz polarizada, um LDR para detecção da luz de start e um LDR com LEDs para detecção de cor dos blocos e dois sensores break-beam para controle do movimento. Os sensores óticos-reflexivos utilizados foram o modelo TCRT5000. Esse sensor utiliza um LED infra-vermelho e um fotoresistor para medir a distância entre o sensor e o objeto à sua frente.
Para o sensor de detecção das luzes polarizadas, foi preciso montar nosso próprio sensor, utilizando dois LDRs e pedaços de lentes polarizadas. Colamos as lentes com o auxílio de cola quente na frente dos LDRs e fizemos uma estrutura com papelão e fita isolante para que houvesse o mínimo de interferência em nossas leituras. Os LDRs foram ligados em série, e um divisor de tensão entre eles foi conectado à entrada analógica do HandyBoard.
Para a detecção da luz de start usamos um sensor LDR ligado em série com 30kΩ em uma entrada digital, protegido com fita isolante para que luzes de direções indesejadas não o atingissem.
Para o sensor de cor, foi preciso montar nosso próprio sensor, utilizando três LEDs monocromáticos (um vermelho, um verde e um azul) e um LDR. Primeiro, o LDR é protegido com fita isolante para que a luz dos LEDs não atinja diretamente o LDR e interfira com as leituras. Depois, os três LEDs são colados ao redor do LDR, de forma que, quando ligados, a luz refletirá no bloco à frente do sensor e atingirá o LDR. Como os LEDs são de 3V e as saídas digitais no HandyBoard são de 5V, foi necessário usar resistências de 220Ω para controlar a corrente nos LEDs e prevenir mal-funcionamento. Os eletrodos positivos dos LEDs são ligados nas saídas digitais J6, e os negativos são ligados em um único pino terra, o da entrada analógica 3. O LDR é ligado na entrada analógica 2. Para ativar os LEDs, basta ativar o pino correspondente em J6, e para ler o valor do LDR, basta ler a entrada analógica 2.
Já para os sensores break-beam, tivemos que adaptar nosso próprio disco encoder feito de papelão, pois nenhuma peça do LEGO era fina o suficiente para passar na chave ótica. Para isso foi utilizado um furador de papel, um compasso e tesoura e através das corretas medições fizemos nosso próprio disco perfurado para que pudéssemos receber as leituras e realizar o controle.
Programação
Para a programação, foram aproveitadas as rotinas já implementadas nos trabalhos 2 e 3 de navegação (segue linha), localização da luz polarizada com LDR diferencial, identificação de cor, e movimentação com encoder/controle. As únicas rotinas novas que precisaram ser implementadas foram a de detecção da luz de partida, e a estratégia do robô. A detecção da luz de partida é simplesmente um loop esperando que a entrada digital correspondente ao sensor de partida vá de 0 pra 1. Para a implementação da estratégia, as rotinas mencionadas acima foram combinadas para implementar o seguinte roteiro:
- Após calibração, entrar em modo de espera
- Quando a luz de partida for detectada, iniciar um timer de 60 segundos que para toda a estratégia e desliga os atuadores
- Chamar a rotina de localização para alinhar o robô com a luz polarizada
- Virar aproximadamente 75º à esquerda
- Seguir em frente até que o sensor segue linha passe por duas linhas pretas
- Ativar todos os LEDs do sensor de cor e monitorar o LDR como um sensor de proximidade
- Iniciar a rotina de seguir linha, até que o sensor de proximidade detecte um bloco
- Chamar a rotina de identificação de cor
Caso o bloco seja preto:
- Virar 90º à direita, andar 20cm à frente, depois 20cm de ré, de forma a tirar o bloco preto da frente
- Virar à esquerda até que o sensor ótico-reflexivo passe completamente pela linha preta
- Voltar ao passo 6
Caso o bloco seja de outra cor:
- Ativar o motor do braço até que o bloco esteja preso ao corpo do robô
- Girar 180° e seguir a linha na direção oposta, até que os dois sensores segue linha estejam sobre uma linha preta, o que significa que o bloco está dentro da base
- Ativar o motor do braço em reverso para soltar o bloco na base











