Está ficando um pouco quente, verão e tudo mais. Eu tenho um ventilador chinês na minha mesa, mas trabalho em diferentes extremidades da minha nova mesa grande, e o ventilador quase sempre sopra, e girá-lo sempre é algo triste. Então hoje vamos fazer um ventilador com mira automática no alvo.
Portanto, precisamos rastrear a posição do alvo, levando em consideração a situação na mesa, para que o ventilador não aponte para outros objetos. Idealmente, é claro, você pode levar um minicomputador raspberry pi com uma câmera e usar uma biblioteca de visão de máquina para reconhecer movimentos ou uma camiseta brilhante.
Mas essa é uma tarefa bastante difícil, e o próprio conselho custa mais de 10 vezes mais caro que a plataforma arduino, que não pode lidar com a câmera. Mas, além da câmera, existem outras maneiras de determinar o alvo, por exemplo, um centavo de sensor de distância ultrassônico.
Uma vez me deparei com a Internet um projeto interessante "radar" baseado no arduino e neste sensor. O projeto em si é bastante inútil, mas a ideia em si é maravilhosa - girar o sensor de distância e escanear o espaço, vinculado ao ângulo de rotação.
Vamos repetir este projeto por diversão, e depois seguiremos em frente.
Isso significa que o sensor deve ser girado, para isso, é utilizado o servo modelo usual (quem não sabe, o servo é um motor com uma caixa de engrenagens e feedback ao ângulo, ou seja, podemos definir o ângulo de rotação e ele será ativado).
Não sejamos espertos, e apenas conserte o sensor usando o anel da câmara da bicicleta.
Montamos o circuito em uma tábua de pão.
Isso é tudo, resta fazer o download do firmware no arduino. Esta versão usa uma biblioteca mais rápida.
Você pode baixar as fontes na página do projeto, o link pode ser encontrado na descrição abaixo do vídeo. Lá você encontrará todas as instruções detalhadas, em particular um artigo enorme para quem comprou o arduino pela primeira vez. Em geral, carregamos o firmware na placa e nosso radar ganha vida. Agora, no computador, você precisa executar um programa que receberá dados do radar (também está na pasta do projeto, mas você precisa de um ambiente de processamento para iniciá-lo, pode fazer o download no site oficial).
Começamos e aqui você precisa configurar apenas um momento - o número da porta à qual o arduino está conectado. Esse é o mesmo número selecionado no programa ide do arduino, apenas devemos inseri-lo manualmente.
Começamos.
É isso aí, nosso radar funciona muito bem e mostra a distância dos obstáculos encontrados. Como você pode ver, ele funciona com precisão suficiente não apenas para detectar um alvo grande na forma de uma pessoa ou uma cabeça, mas também lida com pequenas coisas que podem se tornar um campo inteiro para experimentos interessantes. Então, enquanto todo mundo está se divertindo com o raspberry pi, decidi me desafiar e ensinar um sistema literalmente cego a reconhecer o alvo e apontar para ele. Este será um ótimo projeto simples que pode ser repetido mesmo com a ajuda do kit inicial do arduino. Vamos fazer isso e pensar sobre o algoritmo do trabalho.
Portanto, os recursos do sistema são praticamente limitados. Nós só obtemos a distância do radar, mas sabemos a que ângulo cada dimensão corresponde. A primeira coisa que vem à mente é a construção de um mapa da área de trabalho. Ou seja, fazemos uma passagem e lembramos em que ângulo a que distância estava. Agora, nos passes subsequentes, podemos encontrar a diferença para cada ângulo, de acordo com o nosso mapa. E assim podemos ver um novo objeto que se destacará no contexto de valores já conhecidos. Agora você precisa ensinar o sistema a definir objetivos. Vamos tentar esta opção: consideraremos o número de pontos distintos que estão localizados um após o outro, ou seja, na vida, essa será uma determinada área que o radar verifica.
Vamos considerar o objetivo - a área é maior que um determinado tamanho. Isso filtra imediatamente todo o ruído de medição. Também proponho perdoar o sistema por vários erros ao digitalizar uma área, porque o sensor ultrassônico não é perfeito.
O radar pode reconhecer uma grande área, ou seja, conhece o ângulo do início desta região e o ângulo do seu fim em seu sistema de coordenadas. Resta apenas calcular o meio dessa área e direcionar o radar para lá, e deixar que ele não se mova mais. Este será um modo de espera.
Continuaremos a medir a distância e, se o ponto medido sair repentinamente do alcance de visibilidade do radar, depois de um tempo voltaremos ao modo de pesquisa de destino. Isso é tudo que não entendeu, o computador não é mais necessário aqui, o arduino fará tudo sozinho. Basta apenas alimentá-lo a partir de uma fonte de alimentação de 5 volts. O firmware está na pasta do projeto, há várias configurações com as quais você pode brincar e configurar tudo por si mesmo.
Então, começamos o sistema. Primeiro, a calibração vai de ponta a ponta. O sistema lembra a distância na matriz de calibração em seu sistema de coordenadas. Então o trabalho começa imediatamente, examinamos a área, se notarmos o alvo, encontramos seu tamanho angular e o objetivo no meio. Funciona como um relógio e é apontado quase no centro do alvo.
A propósito, todos os atrasos são configuráveis, em particular o tempo entre a perda de objetivos e o início de uma nova verificação, caso contrário, você também pensará que o sistema fica mais lento - nada disso, basta configurá-lo. Em geral, o cérebro do ventilador está pronto, vamos coletar ferro.
Este fã foi comprado pela aliexpress há cerca de 5 anos. É compacto, alimentado por USB e é ótimo para este projeto. Você também pode procurar um ventilador USB com preço fixo ou em utensílios domésticos.
Vamos dar uma olhada neste ventilador e ver se há espaço livre no seu gabinete que pode ser entupido com seus próprios componentes eletrônicos.
Infelizmente, o Arduino nano não se encaixa aqui, mas existe um arduino pro mini, a mesma coisa, mas menor e sem um programador a bordo, mas se encaixa perfeitamente.
E por que não controlar a energia do ventilador com o arduino e jogar fora o botão nativo? Não há espaço suficiente, o relé não se encaixa, então usaremos um transistor de efeito de campo.
Ele ainda precisa de dois resistores de 100 ohms e 10 kOhm. Removemos o botão completamente para que não interfira. O diagrama de conexão ficará assim:
Vamos conectar o telêmetro com um cabo do disco rígido.
Também temos um capacitor no circuito, não é necessário, mas muito desejável, pois o servoconversor fornece surtos de corrente bastante perceptíveis para o usb, e isso pode afetar as medições de distância.
Para baixar o firmware no pro mini, você precisa de um programador externo, que custa aos chineses uma lata de cerveja e se conecta assim:
Você não precisa fazer mais nada, clique no botão de download e o firmware é carregado normalmente na placa nano.A caixa fecha e todos os fios saem pelos orifícios do comutador.
Em seguida, você precisa consertar o servo. Foi decidido pendurar o ventilador em uma prateleira e prender o servo a um canto.
Para evitar que o canto gire, usamos fita dupla face, mas o elástico da câmera da bicicleta seria melhor.
O espaço para o sensor precisará ser ligeiramente expandido. Fixe-o nos parafusos que acompanham o servo.
O toque final, tudo, ligue e aguarde a calibração passar e aproveitar o ventilador de retorno.
Aconteceu uma coisa muito engraçada. Foi originalmente concebido como uma maquete, mas graças aos chineses e a um grande compartimento vazio dentro do ventilador, foi possível fazer um dispositivo acabado com quase nenhum fio e ranho salientes, o que foi muito agradável. A propósito, se o ventilador não conseguir encontrar o alvo por algum tempo, ele sobe no centro e desliga. Para ligá-lo, basta levantar a mão e o ventilador está pronto para mirar no alvo e esfriá-lo novamente.
O servo acabou por ser de plástico barato, a caixa de câmbio fica suspensa por toda parte, de modo que o movimento está se contraindo, mas o que posso fazer. Na página do projeto, há um link para um servo melhor, que possui uma caixa de engrenagens de metal. O projeto ficou bem interessante e interessante, devido à sua simplicidade - um sensor, uma unidade, mas, como resultado, um retorno completo no mapa da região e controle de toque.
Obrigado pela atenção. Até breve!
Vídeo: