Você está aqui: Início » Robótica, Eletrônica e Afins » Eletrônica » Arduino

Arduino com servomotor robótico e display LCD

 

Uma das diferenças de um robô para um aparelho eletrônico comum é que o robô se movimenta para realizar tarefas. Para se movimentar um robô usa motores de diversos tipos, como motores de passo, motores de corrente contínua e servomotores. E no projeto arduino com servomotor robótico e display lcd faremos um servomotor se movimentar e também trataremos este movimentos exibindo as direções do braço do servomotor no display lcd. Como um dos nossos objetivo com os projetos em arduino, aqui do site ComoFazerAsCoisas, é chegar a construção de robôs de diversos tipos, estamos apresentando os princípios básicos, que quando unidos permitirão a construção de um robô completo.

O projeto arduino com servomotor e display lcd, permite que você controle os movimentos de um servomotor através de um potenciômetro giratório. Quando você gira o potenciômetro para um lado ou para o outro o braço do servomotor acompanha estes movimentos e ainda é mostrado no display lcd em tempo real em que direção o braço do servomotor está, no final deste post tem o vídeo que mostra este projeto em funcionamento.

Aplicando o princípio deste projeto você poderia por exemplo construir, por exemplo, um guincho robótico, ou um braço robótico.

Arduino servomotor e display

Para desenvolver o projeto arduino com servomotor robótico e display lcd você vai precisar de:

  • um arduino ou um compatível;
  • uma protoboard;
  • um servomotor;
  • um display lcd do tipo JHD162A, de 16 colunas por 2 linhas;
  • 3 potenciômetros de 10 K ohms;
  • fios jumper.

O servomotor que usamos neste projeto é um microservo TG9E da Turnigy, que é um dos melhores custo/benefício do mercado. Ele é um servo bem pequeno e leve, tem um preço camarada, quando comparado a outros servos, e pode ser usado em muitos projetos de robótica. Este microservo também é muito usado em aeromodelos e carrinhos controle remoto. Nos potenciômetros desse projeto usei knobs para facilitar na hora de girá-los.

Micro servo TG9E

Então vamos começar! Segue abaixo o esquema do projeto, que servirá de base para a ligação entre todos os componentes e o arduino, e será nossa referência durante o desenvolvimento do projeto físico.

Esquema do projeto arduino

Segue abaixo o datasheet, detalhando a funcionalidade de cada pino, do display LCD JHD 162A que foi usado neste projeto.

Datasheet JHD 162A

Segue abaixo o detalhamento de como ligar o display LCD ao arduino.

  • pino 1 do LCD ligado ao GND do arduino;
  • pino 2 do LCD ligado ao 5V do arduino;
  • pino 3 do LCD ligado ao pino central do primeiro potênciômetro (controle de contraste);
  • pino 4 do LCD ligado ao pino digital 9 do arduino;
  • pino 5 do LCD ligado ao GND do arduino;
  • pino 6 do LCD ligado ao pino digital 8 do arduino;
  • pino 11 do LCD ligado ao pino digital 5 do arduino;
  • pino 12 do LCD ligado ao pino digital 4 do arduino;
  • pino 13 do LCD ligado ao pino digital 3 do arduino;
  • pino 14 do LCD ligado ao pino digital 2 do arduino;
  • pino 15 do LCD ligado ao pino central do segundo potênciômetro (controle do brilho);
  • pino 16 do LCD ligado ao GND do arduino.

Segue abaixo o detalhamento da ligação do servomotor e do potenciômetro que irá controlar o servomotor.

  • pino central do potenciômetro de controle do servomotor no pino analógico A0 do arduino;
  • fio positivo do servomotor no 5V do arduino;
  • fio negativo do servomotor no GND do arduino;
  • fio de controle do servomotor no pino digital 12 do arduino.

Lembrando que você poderá verificar o esquema de montagem do projeto no início deste post, que mostra com detalhes como foram feitas as ligações entre os componentes.

Arduino e servomotor

Bem, então depois de fazer todas as ligações entre os componentes, concluindo o projeto físico, chegou a hora de programar o arduino para que ele faça o controle do servomotor e também informe a posição do mesmo no display ldc. Então conecte o seu arduino ao computador, usando o cabo usb, e execute a IDE do arduino. Segue abaixo o código fonte completo e comentado deste projeto.

/*
Projeto Arduino - servomotor com display lcd. 
Por Jota
----------------------------------------
--=<| www.ComoFazerAsCoisas.com.br |>=--
----------------------------------------
*/

#include "LiquidCrystal.h" //biblioteca para controle de telas LDCs
#include "Servo.h"         //biblioteca para controle de servomotores

//Criando um objeto da classe LiquidCrystal e 
//inicializando com os pinos da interface.
LiquidCrystal lcd(9, 8, 5, 4, 3, 2);
Servo servoMotorObj;  //Criando um objeto da classe Servo

//pino analógico onde o potenciômetro está conectado
int const potenciometroPin = 0;  

//pino digital associado ao controle do servomotor
int const servoMotorPin = 12; 

//usada para armazenar o valor lido no potenciômetro
int valPotenciometro;            

void setup() {
  //Inicializando o LCD e informando o tamanho de 16 colunas e 2 linhas
  //que é o tamanho do LCD JHD 162A usado neste projeto.
  lcd.begin(16, 2); 

  //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 do potenciômetro para a escala do servo (0 e 180)
  valPotenciometro = map(valPotenciometro, 0, 1023, 0, 180);

  //definindo o valor/posição do servomotor
  servoMotorObj.write(valPotenciometro);   
    
  lcd.clear(); //limpa o display do LCD.     
  lcd.print("Servomotor"); //imprime a string no display do LCD.
  
  lcd.setCursor(0,1); //posiciona o cursor na coluna 0 linha 1 do LCD.
  
  //Mostrando no lcd a posição do braço do servomotor
  if (valPotenciometro < 90) {
    lcd.print("Lado direito");
  }   
  if (valPotenciometro == 90) {
    lcd.print("Centro");
  }   
  if (valPotenciometro > 90) {
    lcd.print("Lado esquerdo");
  }
  
  delay(30);            
}

Depois de copiar o código fonte na IDE compile e faça o upload para o arduino. Agora pronto, seu projeto está totalmente concluído, se você chegou até aqui parabéns! agora gire o potenciômetro para um lado e para o outro e veja que o braço do servomotor "segue" estes movimentos.

Para concluir e matar a curiosidade segue abaixo o vídeo do projeto arduino com servomotor e display lcd em funcionamento.

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!

Veja Mais

Joystick controlando 3 servomotores no Arduino
Joystick controlando 3 servomotores no Arduino
Arduino com sensor de obstáculos ultrasônico HC-SRO4
Arduino com sensor de obstáculos ultrasônico HC-SRO4
Guincho robótico de palito de picolé com arduino e servomotores. Como Fazer.
Guincho robótico de palito de picolé com arduino e servomotores. Como Fazer.
Diferenças entre um Arduino verdadeiro e um falso.
Diferenças entre um Arduino verdadeiro e um falso.
Projeto Arduino com display LCD, sensor de temperatura e sensor de luminosidade.
Projeto Arduino com display LCD, sensor de temperatura e sensor de luminosidade.
Controlando 8 leds com o Arduino usando o CI 74HC595, fazendo uma contagem binária.
Controlando 8 leds com o Arduino usando o CI 74HC595, fazendo uma contagem binária.
Projeto Arduino com display LCD.
Projeto Arduino com display LCD.
Motor CC/DC no Arduino e ponte H dupla. Controle de velocidade e sentido da rotação
Motor CC/DC no Arduino e ponte H dupla. Controle de velocidade e sentido da rotação
Controlando a velocidade de um motor CC no Arduino com potenciômetro.
Controlando a velocidade de um motor CC no Arduino com potenciômetro.
 

Tops do momento

Como calcular o resistor adequado para um LED.Como calcular o resistor adequado para um LED.
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Como fazer um mini gerador de energia eólica - versão 2.0Como fazer um mini gerador de energia eólica - versão 2.0
Projeto Arduino com display LCD.Projeto Arduino com display LCD.
Projeto Arduino, led com botão liga desliga.Projeto Arduino, led com botão liga desliga.
Como fazer um mini gerador de energia eólica - versão 1.0Como fazer um mini gerador de energia eólica - versão 1.0
Como Fazer um Circuito Pisca LEDComo Fazer um Circuito Pisca LED
Mini gerador de energia manual movido a manivelaMini gerador de energia manual movido a manivela

Destaques

Joystick controlando 3 servomotores no ArduinoJoystick controlando 3 servomotores no Arduino
Como fazer uma mini balestra pistola de palitos de picoléComo fazer uma mini balestra pistola de palitos de picolé
Como fazer uma lanterna de LEDs no palitoComo fazer uma lanterna de LEDs no palito
Como fazer um avião bimotor de palitos de picoléComo fazer um avião bimotor de palitos de picolé
Como fazer uma mini bomba de água caseiraComo fazer uma mini bomba de água caseira
Circuito simples que controla a velocidade de um motorzinho. Como fazer!Circuito simples que controla a velocidade de um motorzinho. Como fazer!
Como ligar um joystick no Arduino e ler as posições X, Y e ZComo ligar um joystick no Arduino e ler as posições X, Y e Z
Circuito simples que controla o sentido de rotação de um motorzinho.Circuito simples que controla o sentido de rotação de um motorzinho.
 
Como Fazer as Coisas no Facebook Como Fazer as Coisas no G+ Como Fazer as Coisas no Twitter Como Fazer as Coisas no YouTube Como Fazer as Coisas no Pinterest Feed Como Fazer as Coisas