Taula de continguts:

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

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

Vídeo: Braço Robô Controlado Por Giroscópio Via Celular: 3 Steps
Vídeo: Braço Robótico com Arduino 2024, Juny
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 parts:

  1. Lista de materials
  2. Esquema eletrònic
  3. Movendo o Braço
  4. Capturant com informació del giroscòpio
  5. Integrant celular e arduino

Subministraments

Você ira precisar dos següents materials:

  1. Arduino
  2. 3 servomotors
  3. Mòdul Bluetooth per a arduino
  4. Cas per a 4 piles AA
  5. 4 pilas AA

Pas 1: Esquema Eletrònic

Esquema Eletrônico
Esquema Eletrônico

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

A alimentação dos servos não pode ser fornecida diretamente pelo Arduino pois não há potência available suficient for movimentar os 3 servos usedados this project. Dessa forma, s’ha d’utilitzar una font externa d’aproximadament 5v (foram utilitzades 4 pilas AA de 1.5V cada, totalitzant 6v, dins de les dues limitacions operacionals dos serveis).

Pas 2: Codi Arduino

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

El codi d'Arduino és el següent:

Bibliotecas e defineix

Utilitzeu una biblioteca Servo per a comunicació amb servidors motors i SoftwareSerial per realitzar una connexió bluetooth.

Configuració

Realitzem una inicialització de dos serveis i inicis a connexió bluetooth.

SetPosition

Essa és una funció que defineix una posició dos servis.

Bucle

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 inici de comandament (a seqüència de posició dos servos 1, 2 e 3)
  • O valor 255 significa o final do comando
  • Valors 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.

Pas 3: Android

Android
Android
Android
Android

O código gyroFunction recebe o event 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.

(font:

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 by bluetooth for o Arduino as uma string char (0) + X + Y + Z + char (255).

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

Recomanat: