Saudações os habitantes do nosso site!
Dessa vez, AlexGyver, autor do canal do YouTube com o mesmo nome, sobre o feriado que, a propósito, não gostamos muito, decidiu repetir Projeto Adafruit - um olho biônico que é inserido nos óculos de um soldador a gás.
Do ponto de vista do código, este projeto finalizado não é absolutamente interessante, o autor estava interessado no mecanismo, a saber, seu sistema de coordenadas.
Voltaremos a isso, mas um pouco mais tarde, mas primeiro, vamos recolher toda a mecânica e conectar tudo eletrônico componentes.
Para repetir este projeto, você precisará de:
1) óculos de soldador a gás. Você pode usar metal e plástico.
O plástico certamente se encaixa melhor, mas é claro que eles não podem se orgulhar de qualidade. Especificamente, neste caso, feitos de plástico, os lados caíram literalmente imediatamente e o autor teve que colá-los.
Esses óculos podem ser comprados na loja que vende ferramentas ou materiais de construção. O autor os comprou na loja Todos os Instrumentos.
2) Em seguida, precisamos destes impressos em Impressora 3D peças de reposição.
O autor imprimiu os elementos com plástico branco PLA na nova impressora 3D de fantasma voador de 4 bits de 32 bits. Ficheiro contém todos os 3 modelos de uma só vez. A impressão é necessária com suportes.
3) O próximo componente necessário para o nosso projeto especial de Halloween é a plataforma Arduino Nano Models.
4) Também necessário bateria de iões de lítio:
5) Conversor dc-dc (até 5V);
6) Switch:
7) Micro servos, mas não 9 gramas padrão, mas menos ainda:
Então, com os componentes necessários, meio que resolvidos, vamos começar a montar o dispositivo. Primeiro, precisamos montar as unidades da seguinte maneira:
Aqui está uma imagem mais compreensível:
Removemos o adesivo e, com a ajuda da supercola, conectamos tudo isso.
A propósito, os servos chineses parecem ser ligeiramente diferentes dos de Adafruth, e você precisa colá-los assim, com um pequeno deslocamento:
As orelhas devem ser removidas, elas interferem.
Em seguida, para a unidade inferior, engatamos o balancim e giramos o eixo no sentido anti-horário.
Insira os servos no pré-impresso na Impressora 3D em branco (olho).
Apoiamos a unidade saliente até a borda e inserimos o eixo de saída no orifício dentro do olho.
O parafuso completo longo precisa ser encurtado um pouco. Isso pode ser feito usando pinças.
Em seguida, usando um parafuso encurtado, consertamos a unidade interna.
Se você possui um servo testador, pode verificar a operabilidade do mecanismo resultante.
Em seguida, anexamos a segunda parte do olho ao eixo do segundo acionamento e também o prendemos.
Estamos convencidos do desempenho geral (devemos trabalhar juntos).
Especialmente para este projeto, o autor escreveu um código simples que gira suavemente as unidades em um ângulo aleatório. Mas o centro do olho era ligeiramente inclinado, então encontramos o centro real e atraímos a pupila.
Bem, como esse é um projeto de férias e o feriado é bastante específico, vamos torná-lo um pouco mais terrível.
Em seguida, insira a parte resultante nos óculos.
Se não estiver inserido, é necessário chanfrar um pouco.
Então juntamos tudo.
Em seguida, conectamos todos os componentes de acordo com o seguinte esquema:
Está tudo pronto, mas agora temos todas as unidades em um ângulo aleatório e, em princípio, você pode deixar assim.
Mas lembre-se, no início do artigo, foi mencionado sobre o mecanismo e o sistema de coordenadas? Portanto, o mecanismo gira ao longo de dois eixos, mas não ao longo daqueles em que o olho humano gira. Nosso objetivo é fazer com que esse mecanismo se comporte exatamente como o olho humano. À primeira vista, isso parece impossível, mas você pode tentar normalizar o sistema de coordenadas para colocar a pupila em qualquer posição desejada.
Então, temos dois ângulos, os denotamos por X e Y.
Y é o pequeno ângulo do olho e X é o ângulo de rotação do olho em 180 graus.
Para alcançar todas as posições possíveis, é necessário controlar os dois ângulos, e há uma especificidade. Vamos começar com o mais simples - movimento circular com um raio máximo.
Mas não é tão simples quanto parecia. Portanto, a primeira coisa que o autor fez foi um sistema de coordenadas polares no qual é possível definir o ângulo de rotação do olho e do raio, ou seja, a remoção da pupila do ponto central 00.
No semicírculo superior, trabalhamos da metade do ângulo Y ao seu valor máximo e, na parte inferior - do mínimo à metade. Agora o movimento ocular pode ser programado de uma maneira mais interessante. Os movimentos em si são aleatórios, mas já ao redor da circunferência.
Agora vamos soldar todos os componentes eletrônicos, tudo é como no diagrama:
Tentando ligá-lo.
Indicação é. Agora, estamos escondendo tudo isso em algum tipo de construção (nesse caso, o autor usou uma caixa de seleção).
Todos os nossos olhos cibernéticos estão prontos. Aqui está uma piada.
Mas vamos continuar nossa pesquisa teórica e traduzir o sistema de coordenadas polares em cartesiano, depois entenderei o porquê.
Tudo é simples aqui, a função atan2 nos ajudará, que retorna o ângulo em radianos de –P a P, e a função hipot, que calcula o comprimento da hipotenusa nas mesmas duas coordenadas, e a hipotenusa é o raio da nossa função anterior.
E de uma maneira tão simples, nosso sujeito experimental agora pode desviar o olhar exatamente para onde precisamos (para cima, para baixo, direita, esquerda).
Então, por que isso é necessário? Isso é necessário para poder adicionar giroscópiocom a ajuda da qual o olho se voltará na mesma direção da cabeça, o que provavelmente parecerá engraçado. Na verdade, o projeto foi adicionado giroscópio mpu6050, é assim que parece no diagrama:
Mude o código, verifique se as leituras do giroscópio desviam o olho. Através do filtro naturalmente.
Então, o que ganhamos no final? O olho está um pouco atrasado atrás da virada da cabeça, criando o efeito de virar à direita e olhar para você. Como resultado, aqui está um pequeno projeto matemático.
Firmware AQUI. Obrigado pela atenção. Até breve!
Vídeo do autor: