Tabla de contenido:

Braço Robô Controlado Por Giroscópio Via Celular: 3 pasos
Braço Robô Controlado Por Giroscópio Via Celular: 3 pasos

Video: Braço Robô Controlado Por Giroscópio Via Celular: 3 pasos

Video: Braço Robô Controlado Por Giroscópio Via Celular: 3 pasos
Video: Projeto de Robótica e Automação usando Arduino Robô Paletizador 2024, Junio
Anonim
Braço Robô Controlado Por Giroscópio Via Celular
Braço Robô Controlado Por Giroscópio Via Celular

Este projeto ira te auxiliar na criação de um braço robótico controlado pelo giroscópio de um celular, irei separa em x partes:

  1. Lista de materiais
  2. Esquema eletrônico
  3. Movendo o Braço
  4. Capturando como informações do giroscópio
  5. Integrando celular e arduino

Suministros

Você ira precisar dos seguintes materiais:

  1. Arduino
  2. 3 motores servo
  3. Modulo Bluetooth para arduino
  4. Caso para 4 pilhas AA
  5. 4 pilhas AA

Paso 1: Esquema Eletrônico

Esquema Eletrônico
Esquema Eletrônico

Os servos utilizados deverão ser ligados nas portas habilitadas para PWM no Arduino (indicadas por esta sigla ou por um asterico [~] em algumas versões).

A alimentação dos servos no pode ser fornecida diretamente pelo Arduino pois não há potência disponível suficiente para movimentar os 3 servos utilizados neste projeto. Dessa forma, deve-se utilizar uma fonte externa de aproximadamente 5v (foram used 4 pilhas AA of 1.5V each, totalizando 6v, dentro dos limites operacionais dos servos).

Paso 2: Código Arduino

Código Arduino
Código Arduino
Código Arduino
Código Arduino

O código do Arduino é composto das seguintes partes:

Bibliotecas e define

Utilizamos una biblioteca Servo para comunicaciones con servos motores e SoftwareSerial para realizar una conexión bluetooth.

Configuración

Realizamos una inicialización de dos servos e iniciamos una conexión bluetooth.

Posición de ajuste

Essa é a função que define a posição dos servos.

Círculo

A função loop recebe os dados enviados pelo giroscópio do celular através de um protocolo simples:

  • O valor 0 (cero) significa um início de um comando (a sequencia da posição dos servos 1, 2 e 3)
  • O valor 255 significa o final do comando
  • Valores intermediários identificam a posição de cada servo, ficando então limitados a valores entre 1 e 254

Ao receber o valor 255, a função setPosition é chamada com as respectivas posições dos servos, atualizando a posição do braço.

Paso 3: Android

Androide
Androide
Androide
Androide

O código gyroFunction recebe o evento do SensorManager e processa os dados retornados pelo giroscópio, convertendo una matriz de acelerações em um array de angulos, variando de pi a -pi.

(fuente:

Esses angulos, armazenados originalmente como floats, devem ser convertidos para char, sendo que -pi equivale a 1 e pi equivale a 254.

Esses inteiros serão enviados por bluetooth para o Arduino como uma string char (0) + X + Y + Z + char (255).

A conversão e envio dos dados é feito pela função enviaCoordenadasBluetooth.

Recomendado: