Cov txheej txheem:

Braço Robô Controlado Por Giroscópio Ntawm Celular: 3 Kauj Ruam
Braço Robô Controlado Por Giroscópio Ntawm Celular: 3 Kauj Ruam

Video: Braço Robô Controlado Por Giroscópio Ntawm Celular: 3 Kauj Ruam

Video: Braço Robô Controlado Por Giroscópio Ntawm Celular: 3 Kauj Ruam
Video: Instrumentação e Controle de Um Braço Robótico Manipulado Utilizando Movimentos do Braço Humano 2024, Lub rau hli ntuj
Anonim
Braço Robô Controlado Por Giroscópio Ntawm Celular
Braço Robô Controlado Por Giroscópio Ntawm 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. Cov ntaub ntawv cov ntaub ntawv
  2. Kev tsim kho kev lag luam
  3. Txav mus rau Braço
  4. Capturando as informações do giroscópio
  5. Integrando celular thiab arduino

Khoom siv

Cov yam ntxwv tseem ceeb ntawm cov khoom siv hluav taws xob:

  1. Arduino
  2. 3 Servo lub cev muaj zog
  3. Modulo Bluetooth rau arduino
  4. Case para 4 pilhas AA
  5. 4 pin AA

Kauj Ruam 1: Esquema Eletrônico

Ntsib neeg Eletrônico
Ntsib neeg 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).

Ib qho tseem ceeb ntawm servos não pode ser fornecida diretamente pelo Arduino pois não há potência disponível suficiente rau movimentar os 3 servos utilizados neste projeto. Dessa forma, deve-se utilizar uma fonte externa de aproximadamente 5v (foram utilizadas 4 pilhas AA de 1.5V cada, totalizando 6v, dentro dos limites operacionais dos servos).

Kauj ruam 2: Código Arduino

Lub Arduino
Lub Arduino
Lub Arduino
Lub Arduino

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

Bibliotecas thiab txhais

Utilizamos a biblioteca Servo para comunicação com os servos motores e SoftwareSerial para realizar a conexão bluetooth.

Teeb

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

SetPosition

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

Loop

Lub função loop recebe os dados enviados pelo giroscópio ua celular através de um txheej txheem yooj yim:

  • O valor 0 (xoom) lub ntsiab lus tseem ceeb um início de um comando (qhov ua tau zoo tom qab dos dos 1, 2 e 3)
  • O lub siab 255 qhov tseem ceeb lossis qhov kawg ua 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, função setPosition é chamada com as respectivas posições dos servos, atualizando a posição do braço.

Kauj ruam 3: Android

Hauv
Hauv
Hauv
Hauv

O código gyroFunction recebe o evento do SensorManager e processa os dados retornados pelo giroscópio, hloov pauv mus rau 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 por bluetooth para o Arduino como uma string char (0) + X + Y + Z + char (255).

Kev sib tham hauv xov tooj cua nrog cov phooj ywg zoo rau enviaCoordenadasBluetooth.

Pom zoo: