2025 Pengarang: John Day | [email protected]. Terakhir diubah: 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:
- Daftar materi
- Esquema eletrônico
- Movendo o Braço
- Capturando sebagai informaes do giroscópio
- Integrando seluler dan arduino
Perlengkapan
Voca ira precisar dos seguintes materiais:
- Arduino
- 3 motor servo
- Modulo Bluetooth untuk arduino
- Kasus para 4 pilhas AA
- 4 pilha AA
Langkah 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).
A alimentao dos servos não pode ser fornecida diretamente pelo Arduino pois não há potência disponível cukup untuk 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).
Langkah 2: Codigo Arduino
O código lakukan Arduino é komposto das seguintes partes:
Bibliotecas e mendefinisikan
Memanfaatkan biblioteca Servo untuk komunikasi dan motor servo dan SoftwareSerial untuk realizar bluetooth conexão.
Mempersiapkan
Realisasikan inisialização dos servos dan iniciamos a conexão bluetooth.
Atur Posisi
Essa é a função que mendefinisikan sebuah posição dos servos.
Lingkaran
A função loop recebe os dados enviados pelo giroscópio do celular através de um protokol sederhana:
- O valor 0 (nol) significa um início de um comando (a sequencia da posição dos servos 1, 2 e 3)
- O valor 255 significa o final do comando
- Valores intermediarios 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 posies dos servos, atualizando a posição do braço.
Langkah 3: Android
O código gyroFungsi recebe o evento melakukan SensorManager dan proses os dados retornados 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 por bluetooth para o Arduino como uma string char(0) + X + Y + Z + char(255).
A conversão e envio dos dados é feito pela função enviaCoordenadasBluetooth.