Índice:

Construir um robô controlado por gestos: 4 etapas (com imagens)
Construir um robô controlado por gestos: 4 etapas (com imagens)

Vídeo: Construir um robô controlado por gestos: 4 etapas (com imagens)

Vídeo: Construir um robô controlado por gestos: 4 etapas (com imagens)
Vídeo: UM ROBÔ SERVIU MEU LANCHE😱😱🤣🤣 2024, Novembro
Anonim
Image
Image

Neste Instructable, construímos um robô Arcbotics Sparki que pode ser controlado com gestos 3D. Uma característica interessante deste projeto é que nenhum dispositivo adicional, como um smartphone ou luva, é necessário para controlar o robô. Basta passar a mão sobre o eletrodo (área sensível de 95 x 60 mm). Um kit de desenvolvimento MGC3130 Hillstar da Microchip é usado para os sistemas de detecção de entrada de gestos 3D.

Etapa 1: componentes necessários

Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários
  1. Arcbotics Sparki, robô baseado em Arduino. Outros robôs baseados em Arduino também funcionarão.
  2. MGC3130 Hillstar Development Kit da Microchip, outras placas de gestos 3D, como o Hover original ou o Hover 2.0 da Hover Labs, ou o Flick! também deve funcionar.
  3. Algumas peças Knex (não tanto quanto na imagem)
  4. Fita adesiva
  5. Fios de ligação

Etapa 2: Montagem

conjunto
conjunto
conjunto
conjunto
conjunto
conjunto

O kit de gestos Hillstar 3D consiste em três placas:

  1. O Módulo MGC3130. esta é a principal unidade de controle de gestos Hillstar, ela faz interface de um lado com um eletrodo e do outro lado com a alimentação e uma interface I2C.
  2. Um eletrodo de referência de quatro camadas com uma área sensível de 85x60mm, na parte inferior desta placa, é um conector para conectar a placa MGC3130.
  3. Uma placa de ponte I2C para USB. Com esta placa o módulo MGC3130 pode ser facilmente conectado a um PC com USB.

A placa ponte I2C para USB não é necessária, pois conectamos o I2C do Módulo MGC3130 diretamente às portas IO do Robô, conforme mostrado no diagrama esquemático acima.

Um pequeno carrinho Knex foi feito para apoiar a placa do eletrodo de referência. A placa é presa ao carrinho com alguma fita adesiva e o carrinho completo é preso ao robô com um envoltório Ty. Finalmente, o Módulo MGC3130 é conectado às portas IO do robô com os fios de jumper.

Etapa 3: Código

Código
Código

O software é baseado na biblioteca Hover da Hover Labs e pode ser encontrado no Github (https://github.com/jspark311/hover_arduino).

Abaixo está o esboço do Arduino que pode ser baixado para o Sparki.

Há um IDE Sparki específico disponível, chamado SparkiDuino, mas prefiro usar apenas o IDE Arduino padrão e instalar a biblioteca Sparki Arduino, que pode ser baixada da página de downloads: https://arcbotics.com/downloads Não é tão fácil como SparkiDuino, e não vem com seu próprio instalador de driver (o instalador de driver Sparki também está na página de downloads), mas usa todos os mesmos exemplos e código de biblioteca e é mais fácil em combinação com outras bibliotecas, como o Hover neste caso.

#include // inclui a biblioteca sparki

#include #include // Pin declarações para Hover int ts = 0; reset int = 1; Hover hover = Hover (); evento de byte; String output_string = ""; bool driving_forward = false; configuração vazia () {atraso (4000); sparki.clearLCD (); sparki.println ("Inicializando o Hover… aguarde."); sparki.updateLCD (); pairar.begin (ts, redefinir); sparki.clearLCD (); sparki.println ("Pronto para gestos !."); sparki.updateLCD (); } void loop (void) {// Verifique se o Hover está pronto para enviar eventos de gesto ou toque if (hover.getStatus (ts) == 0) {// Obtenha o evento sobre i2c e imprima-o event = hover.getEvent (); // Esta seção pode ser comentada se você não quiser ver o evento no formato de texto output_string = hover.getEventString (event); if (output_string! = "") {sparki.print (evento); sparki.println ("=" + output_string); sparki.updateLCD (); } switch (evento) {case 40: driving_forward = true; pausa; caso 80: sparki.moveBackward (); pausa; caso 36: sparki.moveLeft (); atraso (500); sparki.moveStop (); pausa; caso 34: sparki.moveRight (); atraso (500); sparki.moveStop (); pausa; caso 72: sparki.gripperOpen (); pausa; caso 66: sparki.gripperClose (); pausa; caso 68: sparki.servo (80); pausa; caso 65: sparki.servo (-80); pausa; caso 48: driving_forward = false; sparki.gripperStop (); sparki.servo (0); pausa; } if (driving_forward) {sparki.moveForward (); } else {sparki.moveStop (); } // Redefine o Hover para o próximo evento hover.setRelease (ts); }}

Etapa 4: aproveite

Image
Image

Lista de comandos:

  • Deslize para cima - siga em frente
  • Deslize para trás - pare todos os movimentos
  • Deslize para a esquerda - vire à esquerda
  • Deslize para a direita - vire à direita
  • Toque no topo - gire o sensor 90 graus cw
  • Toque na parte inferior - gire o sensor 90 graus ccw
  • Toque à esquerda - feche a garra
  • Toque à direita - abra a garra

Recomendado: