Índice:

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

Vídeo: Braço Robô Controlado Por Giroscópio Via Celular: 3 etapas

Vídeo: Braço Robô Controlado Por Giroscópio Via Celular: 3 etapas
Vídeo: Braço robótico com Arduino e joystick de 3 eixos - Demonstração e código 2024, Novembro
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 as informações do giroscópio
  5. Integrando celular e arduino

Suprimentos

Você ira precisar dos seguintes materiais:

  1. Arduino
  2. 3 Servo motores
  3. Módulo Bluetooth para Arduino
  4. Case para 4 pilhas AA
  5. 4 pilhas AA

Etapa 1: Esquema Eletrônico

Esquema Eletrônico
Esquema Eletrônico

Os servos utilizados devem 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 não pode ser necessária diretamente pelo Arduino pois não há potência disponível suficiente para movimentar os 3 servos utilizados neste projeto. Dessa forma, deve-se usar uma fonte externa de aproximadamente 5v (foram utilizados 4 pilhas AA de 1.5V cada, totalizando 6v, dentro dos limites operacionais dos servos).

Etapa 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 uma biblioteca Servo para comunicação com os servos motores e SoftwareSerial para realizar uma conexão bluetooth.

Configurar

Realizamos a inicialização dos servos e da iniciamos a conexão bluetooth.

SetPosition

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

Ciclo

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

  • O valor 0 (zero) 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 limitada a valores entre 1 e 254

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

Etapa 3: Android

Android
Android
Android
Android

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

(fonte:

Esses angulos, armazenados como carros alegóricos, 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).

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

Recomendado: