Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Use o novo Pixy2 e um DFRobot ESP32 FireBeetle para criar um robô que pode encontrar e recuperar itens!
Etapa 1: peças
-
Câmera Pixy 2:
www.dfrobot.com/product-1752.html
-
DFRobot ESP32 FireBeetle:
www.dfrobot.com/product-1590.html
-
Garra de robô servo DFRobot:
www.dfrobot.com/product-628.html
-
Chassi DFRobot 2WD MiniQ:
www.dfrobot.com/product-367.html
Etapa 2: plataforma do robô
Pixy lançou recentemente sua próxima versão de sua câmera Pixy, que pode reconhecer objetos e rastreá-los. O DFRobot me enviou um, então decidi criar um robô que possa pegar um item e trazê-lo de volta.
Usei um chassi de robô MiniQ da DFRobot como a plataforma sobre a qual o robô seria construído. Ele vem com vários orifícios de montagem, então projetei um elevador de bateria usando o Fusion 360 que se conecta a um conjunto de orifícios. Então montei a garra na frente.
Etapa 3: configuração da câmera Pixy
Os fabricantes da Pixy Camera fornecem um software chamado PixyMon, que mostra o que a câmera "vê" e permite aos usuários ajustar parâmetros, definir interfaces e criar códigos de cores. Baixei e instalei o PixyMon do site deles aqui. Então eu conectei o Pixy2 ao meu PC via USB e fui ao menu Arquivo e selecionei Configurar.
Primeiro, defino a interface para I2C, pois estarei usando uma placa não Arduino.
Em seguida, ajustei algumas configurações diversas no menu de especialistas, como pode ser visto na imagem.
Por fim, peguei o bloco que queria usar e cliquei em "Definir assinatura 1" no menu Ação. Isso define o que o Pixy procura.
Etapa 4: Fiação
Desde que configurei o Pixy para usar o modo I2C, apenas 4 fios são necessários para conectá-lo ao ESP32 FireBeetle. Basta conectar SDA, SCL, 5V e GND. Em seguida, conectei o driver do motor CC de ponte H dupla L293D aos pinos IO26, IO27, IO9 e IO10, junto com a potência e a saída, como pode ser visto nesta imagem.
Etapa 5: Criação do programa
O "fluxo" do programa é o seguinte: Encontre o bloco de destino
Obtenha largura e posição
Ajuste a posição do robô com base em onde o bloco está
Siga em frente até chegar perto o suficiente
Pegar objeto
Reverter para trás
Objeto de liberação
Etapa 6: usando o robô
Primeiro coloquei um pedaço de papel branco como plano de fundo para evitar que outros objetos sejam detectados acidentalmente. Em seguida, reiniciei o ESP32 e observei-o dirigir em direção ao objeto, agarrá-lo e devolvê-lo, como pode ser visto no vídeo.