2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Este projeto ira te auxiliar na criação de um braço robótico controlado pelo giroscópio de um celular, irei tách em x chia tay:
- Lista de materiais
- Esquema eletrônico
- Movendo o Braço
- Capturando as Informações do giroscópio
- Integrando celular e arduino
Quân nhu
Você ira Preisar dos seguintes materiais:
- Arduino
- 3 Servo motores
- Modulo Bluetooth para arduino
- Trường hợp para 4 pilhas AA
- 4 pilhas AA
Bước 1: Esquema Eletrônico
Os servos Operatingizados 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 não pode ser fornecida diretamente pelo Arduino độc não há potência disponível suughte para phimmentar os 3 servo useizados neste projeto. Dessa forma, deve-se useizar uma fonte externa de aproximadamente 5v (foram useizadas 4 pilhas AA de 1.5V cada, totalizando 6v, dentro dos limites operacionais dos servos).
Bước 2: Código Arduino
O código do Arduino é composto das seguintes partes:
Bibliotecas e định nghĩa
Utilizamos a biblioteca Servo para comunicação com os servos motores e SoftwareSerial para realizar một conexão bluetooth.
Cài đặt
Realizamos a inicialização dos servos e da iniciamos a conexão bluetooth.
Đặt vị trí
Essa é một função que xác định một posição dos servos.
Vòng
Một vòng lặp função thube os dados enviados pelo giroscópio do celular através de um protocolo simples:
- O valor 0 (zero) ý nghĩa là um início de um comando (a sequencia da posição dos servos 1, 2 e 3)
- O valor 255 có nghĩa là cuối cùng do comando
- Valores Middleários Idificam a posição de cada servo, ficando então limitados a valores entre 1 e 254
Ao Thuber o valor 255, a função setPosition é chamada com as respectivas posições dos servos, atualizando a posição do braço.
Bước 3: Android
O código con quay hồi chuyểnCác chức năng thube o evento do SensorManager e processa os dados retornados pelo giroscópio, converttendo a matriz de acelerações em um array de angulos, variando de pi a -pi.
(fonte:
Esses angulos, armazenados originalmente como float, devem ser converttidos para char, sendo que -pi equivale a 1 e pi equivale a 254.
Esses inteiros serão enviados bởi bluetooth para o Arduino como uma string char (0) + X + Y + Z + char (255).
Aversão e envio dos dados é feito pela função enviaCoordenadasBl Bluetooth.