Cuprins:

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

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

Video: Braço Robô Controlado Por Giroscópio Via Celular: 3 Steps
Video: Braço Robótico com Arduino 2024, Noiembrie
Anonim
Braço Robô Controlado Por Giroscópio Via Celular
Braço Robô Controlado Por Giroscópio Via Celular

Este proiectat 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 materiale
  2. Esquema eletrônico
  3. Movendo o Braço
  4. Capturando as informações do giroscópio
  5. Integrand celular e arduino

Provizii

Você ira precisar dos following materials:

  1. Arduino
  2. 3 Servo motores
  3. Modulo Bluetooth pentru arduino
  4. Caz pentru 4 pilase AA
  5. 4 pilha AA

Pasul 1: Esquema Eletrônico

Esquema Eletrônico
Esquema Eletrônico

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

A alimentação dos servos não can be furnecida diretamente pelo Arduino pois não há potência disponível sufficient for movimentar os 3 servos usedados this project. Dessa forma, trebuie să se utilizeze o sursă externă de aproximativ 5v (foram utilizadas 4 pilhas AA de 1.5V cada, totalizando 6v, dentro dos limites operacionais dos servos).

Pasul 2: Cod Arduino

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

Codul Arduino este compus din următoarele părți:

Bibliotecas e definește

Utilizați o bibliotecă Servo pentru comunicație cu servere motoare și SoftwareSerial pentru realizarea unei conexiuni bluetooth.

Înființat

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

SetPosition

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

Buclă

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

  • O valoare 0 (zero) înseamnă um inicio de comandă (o secvență de poziție dos servos 1, 2 și 3)
  • O valoare 255 înseamnă o finală de comandă
  • Valori intermediare identifică poziția fiecărui serviciu, înregistrând valori limitate la valori între 1 și 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.

Pasul 3: Android

Android
Android
Android
Android

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

(fonte:

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 é feito pela função enviaCoordenadasBluetooth.

Recomandat: