Projeto: Braço robótico controlado por 4 potenciômetros

O Arduino é uma plataforma de desenvolvimento de hardware livre que permite criar projetos eletrônicos com facilidade. Um projeto popular utilizando o Arduino é a criação de um braço robótico controlado por meio de potenciômetros.

Os potenciômetros são componentes eletrônicos que permitem controlar a tensão em um circuito. No caso de um braço robótico, eles podem ser usados para controlar o ângulo dos servomotores que movem os dedos do braço.

Para criar um braço robótico controlado por 4 potenciômetros, é necessário conectar os potenciômetros ao Arduino e escrever um código que lê os valores dos potenciômetros e os utiliza para controlar os servomotores. O código também pode incluir lógica para limitar os movimentos do braço e evitar que ele seja danificado.

É importante notar que a construção física do braço robótico também é importante para o seu sucesso. É preciso usar materiais resistentes e garantir que todas as articulações estejam bem alinhadas para que o braço possa se mover de forma suave e precisa.

Em resumo, um braço robótico controlado por 4 potenciômetros é um projeto divertido e desafiador que pode ser criado usando o Arduino. Ele requer habilidades de codificação e mecânica, e pode ser uma ótima maneira de aprender sobre robótica e eletrônica.

O código

// inclui bibilioteca do servomotor
#include  

// define pinos dos servos
#define pinServ1 2
#define pinServ2 3
#define pinServ3 4
#define pinServ4 5

// define as portas dos potenciometros
#define pot1 A0
#define pot2 A1
#define pot3 A2
#define pot4 A3

// nomeia os servos
Servo serv1,serv2,serv3,serv4;

// cria as variavies dos angulos de cada motor
int motor1,motor2,motor3,motor4;

unsigned long mostradorTimer = 1;
const unsigned long intervaloMostrador = 5000;

void setup() {

  //inicia o monitor serial
  Serial.begin(9600); 

  // atribui pinos dos servos
  serv1.attach(pinServ1);
  serv2.attach(pinServ2);
  serv3.attach(pinServ3);
  serv4.attach(pinServ4);
  
}

void loop(){

  // leitura dos potenciometros
  motor1 = map(analogRead(pot1),0,1023,0,180);
  motor2 = map(analogRead(pot2),0,1023,0,180);
  motor3 = map(analogRead(pot3),0,1023,85,180);
  motor4 = map(analogRead(pot4),0,1023,0,43);

  // posicionamento dos potenciometros 
  serv1.write(motor1);
  serv2.write(motor2);
  serv3.write(motor3);
  serv4.write(motor4);

   if ((millis() - mostradorTimer) >= intervaloMostrador) {

  // envio para o monitor serial do posicionamentos dos motores
  Serial.println("**********************************************");
  
  Serial.print("Pot1:");
  Serial.print(analogRead(pot1));
  Serial.print(" Angulo Motor1:");
  Serial.println(motor1);

  Serial.print("Pot2:");
  Serial.print(analogRead(pot2));
  Serial.print(" Angulo Motor2:");
  Serial.println(motor2);

  Serial.print("Pot3:");
  Serial.print(analogRead(pot3));
  Serial.print(" Angulo Motor3:");
  Serial.println(motor3);

  Serial.print("Pot4:");
  Serial.print(analogRead(pot4));
  Serial.print(" Angulo Motor4:");
  Serial.println(motor4);

  mostradorTimer = millis();
  }

  // tempo de espera para recomeçar
  delay(100);

}

Veja um exemplo no TinkerCAD

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *