Boa tarde, continuamos a fabricar robôs e brinquedos. Hoje, o próximo passo é a modificação do meu modelo de tanque. Instruções de fabricação legíveis aqui
A essência da modificação é mudar a maneira de gerenciar. Desta vez, para controle, usaremos um ponteiro laser. Mais precisamente, o tanque passará atrás do ponto do laser. O tanque determinará a localização do ponto através de fotorresistores. A lista de itens necessários é semelhante à lista acima caseiromas não exatamente:
- Engrenagem dupla Tamiya 70168
- Conjunto de rolos e esteiras Tamiya 70100
- Tamiya 70157
- Contraplacado 10 mm (um pequeno pedaço)
- Arduino Pro Mini 5V AtMega 328
- DRV 8833
- Fotoresistores 5506 4 peças.
- USB-UART para firmware Arduino
- LEDs retangulares vermelhos e verdes
- LEDs brancos 5 mm 2pcs.
- Resistores 3x 150 Ohms
- baterias Li-ion 18650
- Conectores Dad-Mom da Dupont
- Fios de cores diferentes
- solda
- Rosin
- ferro de soldar
- Parafusos 3x40, 3x20, porcas e arruelas para eles
- 2x10 parafusos de madeira
- Brocas para madeira de 3 mm e 6 mm
- Serra de traste elétrica
- Tinta acrílica
Etapa 1 Produção de peças de tanque.
Detalhado processo de fabricação de tanques descrito em caseiro.
Repetir isso não faz sentido. Portanto, o primeiro e o segundo passo do caseiro acima são completos.
Etapa 2 Instalação de fotorresistores.
Vamos precisar dos fotorresistores mais comuns, eles são fáceis de comprar na loja de rádio:
Em seguida, antes de instalar as faixas, você precisa preparar locais para os fotorresistores e inseri-los lá. Então, temos quatro fotorresistores, dois na frente e dois atrás. Todos eles estarão localizados na parte inferior do gabinete, nos cantos. Recuando 5 mm de cada lado, faça dois orifícios para as pernas do fotorresistor. A distância entre os orifícios é de 4 mm. Você pode usar a broca de menor diâmetro ou apenas perfurar o folheado com um furador. Feito isso, insira os fotorresistores. Vamos começar pela frente:
Depois de inserir os fotorresistores no compensado, solde os fios aos contatos e ao conector Dupont da mãe. Isolamos o local da solda. Você pode usar fita isolante ou, como eu, colocar isolamento no fio mais grosso.
E nas costas também fazemos:
Abaixo ficará assim:
Montamos o caso ainda mais de acordo com as instruções, cujo link é indicado acima.
Para aumentar a sensibilidade dos fotorresistores ao ponto do laser e se livrar de interferências desnecessárias, eles devem ser pintados com um marcador ou tinta vermelha. O principal é que a luz penetra através do revestimento. Não pinte completamente sobre eles.
Dessa forma, aumentaremos a sensibilidade dos sensores ao ponto vermelho do laser.
Etapa 3 Eletricista.
Na quarta etapa, as instruções para fazer o tanque descrevem em detalhes o que e como conectar. Fazemos tudo de acordo com ele, com exceção da conexão do módulo Bluetooth. Nós não precisamos dele. Conectamos um dos contatos dos fotorresistores ao GND. O segundo está conectado ao Arduino de acordo com o esquema:
Frente direita para A0 (Pin14)
Frente esquerda para A1 (Pin15)
Traseira esquerda para A2 (Pin16)
Traseira direita para A3 (Pin17)
Como ferramenta de controle, usaremos o habitual apontador laser chinês com um feixe vermelho:
Etapa 4 Editando um esboço.
Para editar e preencher o esboço, você precisa fazer o download do IDE do Arduino. Vamos ao oficial site do projeto e baixe a versão mais recente.
Nenhuma biblioteca adicional é necessária.
Os fotorresistores estão longe de ser o dispositivo de medição mais preciso. Suas características, na prática, dependem de um grande número de fatores. Portanto, para uma operação adequada, é necessário ajustar cada fotorresistor. Corrigiremos as leituras editando o esboço usando o IDE do Arduino e o monitor de porta. Abra o esboço:
Vamos começar com os resistores fotográficos frontais. Na parte inferior, remova o comentário das três linhas dos sensores frontais:
//Serial.print(senLF); // Não comentário para ajustar os fotorresistores frontais
//Serial.print ("");
//Serial.println(senRF);
E você também precisa adicionar uma pausa para ter tempo para vê-los. Portanto, remova o comentário desta linha também:
// delay (500);
Preencha o esboço. Colocamos o tanque em cima da mesa. Ao iluminar a sala com um lustre comum, o candeeiro de mesa não deve estar ligado. E abra o monitor da porta IDE do Arduino. Sob iluminação normal, as leituras devem ser maiores que 500 e, ao mesmo tempo, aproximadamente as mesmas para os dois sensores. Vamos tentar mover o ponteiro laser na frente do nariz do tanque. As indicações devem variar. Quanto mais próximo o ponto, menores serão os números. Eles devem estar no intervalo de 80 (na proximidade máxima do ponto) a 500 (a uma distância de cerca de 2-3 cm).
Para ajustar, use as variáveis no esboço:
int corLF = 0; // Variáveis de correção, frente esquerda
int corRF = 30; // Frente Direita
As variáveis de correção podem ser positivas (adicionadas ao sensor) ou negativas (subtraídas das leituras). Alterando essas variáveis, preencha novamente o esboço e verifique se os indicadores estão nos intervalos que precisamos.
Agora faça o mesmo com os fotorresistores traseiros. Para fazer isso, comente as linhas dos sensores frontais e remova o comentário das seguintes linhas:
//Serial.print(senLB); // Descomente para ajustar os fotorresistores traseiros
//Serial.print ("");
//Serial.println(senRB);
Uma pausa deve ser deixada sem comentário. Realizamos as mesmas medições, só agora com fotorresistores na parte de trás. E escreva as variáveis de correção:
int corLB = 0; // traseira esquerda
int corRB = 35; // Traseira Direita
Para deixar claro como tudo funciona. O sensor frontal esquerdo controla o movimento da faixa direita para a frente, e o sensor frontal direito controla a faixa esquerda para a frente e assim por diante. As leituras do sensor são ajustadas de acordo com as seguintes fórmulas:
senLF = (leitura analógica (senLFPin) + corLF); // frente esquerda
senRF = (leitura analógica (senRFPin) + corRF); // Frente Direita
senLB = (leitura analógica (senLBPin) + corLB); // traseira esquerda
senRB = (leitura analógica (senRBPin) + corRB); // Traseira Direita
Onde, senLF, senRF, senLB, sen RB - leituras corrigidas
analogRead (senLFPin), (analogRead (senRFPin), (analogRead (senLBPin), (analogRead (senRBPin) - leituras de sensor "limpas"
colLF, colRF, corLB, corRB - variáveis de correção.
E então as leituras são traduzidas para a velocidade de rotação da pista oposta:
walRF = mapa (senLF, 80, 500, 100, 255);
walLF = mapa (senRF, 80, 500, 100, 255);
walRB = mapa (senLB, 80, 500, 100, 255);
walLB = mapa (senRB, 80, 500, 100, 255);
Se você não conseguir corrigir as leituras de forma alguma, altere as leituras máxima e mínima nas quais as faixas começam a se mover. Estes são os números 80 e 500 nas linhas de conversão escritas acima.
Após concluir todos os procedimentos, comente todas essas linhas e preencha o esboço. Agora o tanque passará atrás do ponto vermelho do ponteiro laser.