Arduino 3D-Printed Robotic Arm
Componentes e suprimentos
| | × | 1 | |
| | × | 4 | |
| Potenciômetro rotativo (genérico) | | × | 1 | |
Aplicativos e serviços online
Sobre este projeto
Este projeto usa 4pcs. servo motores SSG 90 baratos que são alimentados pela placa Arduino. Você pode baixar arquivos.stl para impressão 3D a partir do link fornecido abaixo ou diretamente para a web Thingiverse,
https://www.thingiverse.com/thing:1015238
onde você pode encontrar instruções mais detalhadas para fazer este braço robótico.
Conforme mencionado anteriormente, os servo motores são acionados a partir da placa Arduino. Para isso também escrevi um código simples para que cada servo seja controlado por um potenciômetro adequado. Após um pequeno exercício, o manuseio com potenciômetros torna-se muito fácil e interessante como pode ser visto no vídeo.
No futuro, tentarei expandir o código com a opção de capturar e realizar automaticamente determinados movimentos de servo motores que dariam para obter um robô industrial completo.
Os esquemas podem ser vistos na figura abaixo.
Código
código Arduino
#include Servo myservo; // cria servoobjeto para controlar um servoServo myservo1; Servo myservo2; Servo myservo3; int potpin =0; // pino analógico usado para conectar o potenciômetroint potpin1 =1; int potpin2 =2; int potpin3 =3; int val; // variável para ler o valor do pino analógico val1; int val2; int val3; void setup () {myservo.attach (8); // anexa o servo no pino 8 ao objeto servo myservo.attach (9); myservo.attach (10); myservo.attach (11);} void loop () {val =analogRead (potpin); // lê o valor do potenciômetro (valor entre 0 e 1023) val =map (val, 0, 1023, 0, 180); // escalar para usá-lo com o servo (valor entre 0 e 180) myservo.write (val); // define a posição do servo de acordo com o valor escalado delay (15); // espera o servo chegar lá val1 =analogRead (potpin1); val1 =mapa (val1, 0, 1023, 0, 180); myservo1.write (val1); atraso (15); val2 =analogRead (potpin2); val2 =mapa (val2, 0, 1023, 0, 180); myservo2.write (val2); atraso (15); val3 =analogRead (potpin3); val2 =mapa (val3, 0, 1023, 0, 180); myservo3.write (val3); atraso (15); }
Peças personalizadas e gabinetes
eezybotarm_uVD6bjbxQi.zip Esquemas