Robô controlado por gestos manuais
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 |
Aplicativos e serviços online
|
Sobre este projeto
ATUALIZAÇÃO:A VERSÃO ATUALIZADA DESTE PROJETO PODE SER ENCONTRADA AQUI
Introdução
Eu gostaria de poder controlar tudo com minhas mãos! Sentado na minha cadeira e controlando coisas como um BOSS. Eu adoraria! Então eu finalmente vim com um robô de reconhecimento de gesto de mão DIY legal, que pode seguir os comandos feitos por gestos de mão. Parece loucura, mas prometo que é muito simples. Fazer um robô de controle por gestos é realmente muito simples. Este robô é uma melhoria do meu outro carro RC de projeto DIY usando módulo RF.
Também aqui o robô é dividido em duas partes, transmissor e receptor. O circuito receptor é o mesmo do antigo posto e há apenas uma pequena mudança no circuito transmissor, aqui precisamos programar o circuito transmissor. Portanto, usarei um Arduino como plataforma de programação. Para reconhecer os gestos feitos, estarei usando um sensor acelerômetro. Então, vamos construir!
Observe o robô em ação
O que é isso e como funciona?
O que é um acelerômetro (ADXL335)?
Em suma, um acelerômetro é um dispositivo de medição de aceleração de três eixos. O acelerômetro usado aqui é ADXL335 e tem 3 eixos (X Y Z).
Quase todos os smartphones agora têm acelerômetros (embora não vamos usar um smartphone). Definitivamente, você jogou jogos de movimento em seu celular (por exemplo, Temple run), onde o personagem do jogo se move para a esquerda e para a direita quando você inclina o telefone para a esquerda e para a direita, respectivamente, isso é feito pelo acelerômetro.
Há outro sensor chamado Gyroscope encontrado no smartphone que não precisamos agora.
Como funciona e reconhece os gestos?
Aqui, o cérebro do robô é o Arduino Uno (Atmega32), ele é alimentado com algum conjunto de código. Os gestos / movimentos feitos à mão são reconhecidos por um dispositivo de medição de aceleração denominado acelerômetro (ADXL335).
Aqui, o acelerômetro lê as coordenadas X Y Z quando fazemos gestos à mão e enviamos as coordenadas X Y Z para o Arduino (aqui não precisamos do eixo Z, precisamos apenas de duas coordenadas X e Y, portanto, negligencie a coordenada Z). O Arduino verifica os valores das coordenadas e envia um código de 4 bits para o IC do codificador. O codificador passa os dados para o transmissor e os dados transmitidos são recebidos pelo receptor RF. O receptor envia o código de 4 bits para o IC do decodificador e o decodificador o passa para o IC do driver do motor. Mais tarde, o motorista do motor toma a decisão de girar os dois motores na direção desejada.
Faça a fonte de alimentação
Primeiro, vamos começar com o circuito de alimentação. Precisamos de dois circuitos de alimentação:um para o transmissor e outro para o receptor. O circuito do receptor precisa ser alimentado por uma fonte de 12 V (já que estou usando um motor de 12 V) e o circuito do transmissor pode ser alimentado por uma bateria de 9 V.
Você pode ver o circuito da fonte de alimentação do receptor à direita. Usando este diagrama, conecte o circuito de alimentação. Você também pode adicionar um LED por meio de um resistor de 1k para indicar o estado da fonte de alimentação.
- IC 7805 que regula a alimentação de 12 V para 5 V (se você não conseguir uma alimentação de 12 V, pode usar uma alimentação de 9 V)
- capacitor 0.1uf e 470uf
- resistor de 1k para o LED de status
NOTA: Use o dissipador de calor para 7805 porque estamos reduzindo 7 V (12-5), portanto, muito calor será produzido para queimar o regulador, portanto, o uso de um dissipador de calor é recomendado.
Vamos começar a fazer o transmissor (remoto)
A seção do transmissor consiste em um acelerômetro que detecta o gesto da mão e envia os dados para o Arduino. Posteriormente, o Arduino envia dados ao Codificador IC de acordo com os dados recebidos do acelerômetro e os dados são transmitidos ao receptor. Ligue de acordo com o circuito abaixo:
NOTA: Por favor, esteja ciente de que alguns acelerômetros usam fonte de alimentação de 3,3 V e podem ser danificados por 5 V. Verifique a documentação do fornecedor para descobrir qual é a tensão correta.
Esta é apenas uma ilustração do transmissor:
Carregar código para Arduino
Aqui está o código atualizado
Faça o receptor
O circuito receptor consiste em 2 IC (decodificador HT12D, driver de motor L293D), módulo receptor RF.
Conecte o circuito de acordo com o esquema do receptor acima. Existem 2 LEDs na placa do receptor, um acende quando a alimentação é fornecida ao receptor e o outro quando a alimentação é fornecida ao circuito do transmissor. O LED próximo ao IC HT12D deve acender e isso fornece uma transmissão válida (VT) quando a energia é fornecida no transmissor, se não houver algo errado com sua conexão ou módulo RF-TX-RX.
Se você quiser saber mais detalhes sobre a seção do receptor, leia este artigo.
Que gestos o robô reconhecerá?
Este robô é projetado para reconhecer cinco conjuntos de gestos:para frente, para trás, para a esquerda, para a direita e para. Você terá uma ideia melhor se verificar as fotos dos gestos abaixo.
Gostando de dirigir seu robô.
Reduza-o e torne-o permanente.
O Arduino Uno será grande e volumoso na sua mão. E se você está decidindo fazer outro projeto usando Arduino, você precisará remover o Arduino e todas as conexões feitas nele, e você perderá seu trabalho antigo. Eu não gosto de fazer isso, então eu encontrei uma solução para torná-lo permanente. Você pode verificar este artigo para aprender como reduzir seu projeto Arduino.
Baixe o layout do PCB para a versão autônoma aqui (espelho).
standalone_etch_copper_top_mirror1.pdf standalone_etch_copper_top1.pdf
Assista a este vídeo em que transferi o código para o Atmega8 MCU. Eu apenas mostrei as saídas do MCU usando LEDs.
Confira meu blog para meus novos projetos
Se você tiver alguma dúvida deixe um comentário aqui. É meu blog. Estarei verificando regularmente se há feedback lá, em vez de aqui.
Processo de manufatura
- Robô Raspberry Pi controlado por Bluetooth
- Robô controlado por gestos usando Raspberry Pi
- Núcleo IoT do Windows 10:robô controlado por fala
- Robô controlado por Wi-Fi usando Raspberry Pi
- ROObockey:Robô de hóquei de rua com controle remoto e auxílio de mira
- Luz da mesa interativa controlada por gestos
- Controlador de jogo Arduino
- Garrafa de água alimentada por Arduino
- Robô controlado por fala
- Robôs guiadores manuais