Olá pessoal, neste post vou ensinar como controlar um servomotor com um potenciômetro giratório através do arduino. Ao girar o potenciômetro o braço do servomotor responderá fazendo um movimento proporcional a velocidade e ao sentido do giro do potenciômetro. O arduino usado neste projeto foi um arduino uno r3, mas qualquer outra versão poderia ser utilizada. O servomotores são componentes muito importantes no mundo da robótica, da mecatrônica, e muito usado também no mundo dos hobbys. Na robótica os servomotores são responsáveis por movimentar braços, pernas e mãos de robôs. No automodelismo os servomotores são usado para virar as rodinhas dianteiras dos carrinhos, para esquerda e direita. No aeromodelismo são usados para controlar os flaps das asas dos aviões. Os servomotores são componentes chave em muitos projetos, por isso neste post vamos ensinar o conceito básico de controle de um servomotor, usando um arduino. E ao final deste post veja o vídeo deste projeto em funcionamento.
Segue abaixo o esquema do projeto, que detalha todas as ligações entre os componentes, a protoboard e o arduino.
Para desenvolver este projeto usamos:
O servomotor usado neste projeto foi um TG9e da Turnigy, um micro servo que possui um ótimo custo benefício.
Começe conectando o potenciômetro na protoboard e depois conecte os fios jumper entre os componentes da protoboard, o servomotor e o arduino. Para fazer estas conexões corretamente veja o esquema do projeto, feito em Fritzing, no inicio deste post.
Agora vamos programar o arduino para que ele se comporte como desejamos. Então conecte o arduino ao seu computador com o cabo USB, abra a IDE do arduino e programe o arduino. Segue abaixo o código fonte deste projeto todo comentado para facilitar o entendimento de cada parte do código.
/* Projeto Arduino controlando um servomotor com potenciômetro Por Jota ---------------------------------------- --=<| www.ComoFazerAsCoisas.com.br |>=-- ---------------------------------------- */ //incluindo biblioteca para controle do servomotor #include "Servo.h" //Criando um objeto da classe Servo Servo servoMotorObj; //pino analógico onde o potenciômetro está conectado int const potenciometroPin = 0; //pino digital associado ao controle do servomotor int const servoMotorPin = 3; //variável usada para armazenar o valor lido no potenciômetro int valPotenciometro; void setup() { //associando o pino digital ao objeto da classe Servo servoMotorObj.attach(servoMotorPin); } void loop() { //lendo o valor do potenciômetro (intervalo entre 0 e 1023) valPotenciometro = analogRead(potenciometroPin); //mapeando o valor para a escala do servo (entre 0 e 180) valPotenciometro = map(valPotenciometro, 0, 1023, 0, 180); //definindo o valor/posição do servomotor servoMotorObj.write(valPotenciometro); delay(15); }
Após introduzir o código fonte na IDE do arduino, compile-o e depois faça o upload, aguarde alguns instantes para que a transferência do programa seja realizada, e pronto, você já pode controlar servomotor através do potenciômetro. Vire o potenciômetro para um lado e veja que o braço do servomotor vai se mover.
Então é isso pessoal, este projeto trata do princípio básico para o uso de servomotores, que você poderá aplicar em diversos outros projeto que se movimentam. E logo mais estará disponível aqui no site ComoFazerAsCoisas.com.br um guincho robótico que usa 3 servomotores e que aplica este princípio.
E para fechar com chave de ouro segue abaixo o vídeo que mostra detalhadamente este projeto em funcionamento. Veja!
E se você gostou, curta, compartilhe, dê um gostei no vídeo e inscreva-se no nosso canal do YouTube para nos ajudar e sempre estar por dentro e acompanhar os novos projetos. Um grande abraço e valeu!