Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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:
- Liste de matériaux
- Esquema électronique
- Movendo ou Braço
- Capturando as informações do giroscópio
- Integrando celular et arduino
Fournitures
Você ira precisar dos seguintes materiais:
- Arduino
- 3 servomoteurs
- Module Bluetooth pour arduino
- Affaire para 4 pilhas AA
- 4 pilhas AA
Étape 1: Esquema 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).
Un alimentação dos servos não pode ser fornecida directement pelo Arduino pois não há potência disponível suficiente para 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).
Étape 2: Code Arduino
O código do Arduino é composto das seguintes partes:
Bibliotecas e définit
Utilise une bibliothèque Servo para comunicação com os servos motores e SoftwareSerial pour réaliser une connexion bluetooth.
Installer
Realizamos a inicialização dos servos e da iniciamos a conexão bluetooth.
DéfinirPosition
Essa é une função que définir une posição dos servos.
Boucle
Une boucle função recebe os dados enviados pelo giroscópio do celular através de um protocolo simples:
- O valor 0 (zéro) significa um início de um comando (a sequencia da posição dos servos 1, 2 e 3)
- O valeur 255 significa o final do comando
- Valeurs intermédiaires 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.
Étape 3: Android
O código gyroFunction recebe o evento do SensorManager e processa os dodos retornados pelo giroscópio, convertendo a matriz of acelerações em um array of angulos, variando de pi a -pi.
(fonte:
Esses angulos, armzenados 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).
Une conversation et envio dos dados é feito pela função enviaCoordenadasBluetooth.