Escolar Documentos
Profissional Documentos
Cultura Documentos
uma vez que possibilita o controle de até quatro Motores DC ou dois Motores de Passo
simultaneamente e possuir saída para controle de até dois Servos Motores com funcionamento
também simultâneo.
Por ser desenvolvido no formato de Shield, o Driver Ponte H em questão possui um encaixe
perfeito com o Arduino e elimina a necessidade de Jumpers comumente utilizados nos
diversificados Módulos, seu contato direto elimina problemas de mau contato e garante maior
qualidade na comunicação entre Shield e Arduino.
Outra informação bastante importante que encontramos no datasheet diz respeito aos pinos do
circuito integrada e as suas devidas funções, através da imagem abaixo podemos verificar os
pinos de sinal e alimentação, vale lembrar que ao desenvolver um projeto, todos os pinos de
alimentação devem estar devidamente conectados.
A alimentação do Motor Shield Arduino obedece os limites de tensão estabelecidos pelo Driver
L293D e por mais que seja um shield com contato direto no Arduino, a alimentação do Arduino
normalmente não é suficiente para o funcionamento dos motores, por isto é necessária uma
alimentação externa.
Através do esquema exibido abaixo, podemos observar o borne para para alimentação externa
e como dito, este possui limite de alimentação de 4,5 a 36V, ao lado tem-se o jumper de
seleção para fonte de alimentação, quando este tiver no local indicado a alimentação utilizada
para os motores é o do próprio Arduino, porém ao inserirmos uma fonte externa é fundamental
a retirada deste jumper.
– Controle dos Motores DC e Motores de Passo: D3, D4, D5, D6, D7, D8, D11 e D12.
Ao utilizar todos estes pinos mencionados acima para o controle dos motores, o Arduino UNO
disponibiliza apenas os pinos D2 e D13 (Digital 2 e Digital 13) para inclusão de sensores e
elementos de comunicação digital, quanto aos pinos analógicos, estes ficam disponíveis do A0
ao A5 e podem ser utilizados para incluir diversos equipamentos de comunicaçãoI2C, inclusive
displays, por exemplo.
Para o nosso teste, vamos utilizar apenas um motor sendo controlado pelo shield, para isto,
vamos utilizar uma fonte externa de 5V 1A e o Motor DC na posição M4, veja no esquema de
ligação abaixo:
Tendo em vista a diversidade dos motores de passo e a suas diferentes especificações, muitas
vezes o que dificulta a sua utilização diz respeito a identificação dos fios correspondentes às
bobinas, se você também possui esta dúvida, assista o vídeo abaixo de nosso parceiro e
verifique como desenvolver tal verificação:
Após termos realizado o teste e identificado os pinos, conectamos o motor aos terminais M3 e
M4 do Shield para realizarmos o controle de sua direção e velocidade, o diagrama
correspondente ao código disponibilizado logo abaixo e utiliza o Motor de Passo 39HBD26DJ4
como base:
Assim como na utilização do Motor de Passo, o Shield L293D controla também duas unidades
do Servo Motor, porém estes possuem um local específico de instalação que possibilita a
conexão direta de seus cabos em uma barra de pinos especial. Abaixo vemos o esquema de
ligação para controle de um Servo Motor:
Esquema de ligação Projeto Motor Shield Controle de Servo Motor
Como vemos, o primeiro pino da esquerda pela direita é o pino GND e após temos o pino de
alimentação e o pino de comunicação, seguindo sempre o mesmo padrão dos servos motores
comercializados.
O controle de Servo Motor pode ser executado utilizando códigos padrões como o que já
desenvolvemos anteriormente em nosso seguinte artigo e que novamente utilizaremos para
demonstrar o funcionamento do nosso Motor Shield L293D:
https://www.usinainfo.com.br/blog/controle-de-posicao-servo-motor-com-
arduino/
1 #include "Servo.h" // Inclui a Biblioteca Servo.h
2
3 Servo meuservo; // Cria o objeto servo para programação
4 int angulo = 0; // Ajusta o ângulo inicial do Servo
5
6 void setup() {
7 meuservo.attach(10); // Declara o pino do servo
8 }
9
10 void loop() {
11
12 for (angulo = 0; angulo < 180; angulo += 1) { // Comando que muda a posição do servo de 0 para 180°
13 meuservo.write(angulo); // Comando para angulo específico
14 delay(15);
15 }
16
17 delay(2000); // Tempo de espera para próximo movimento
18
19 for (angulo = 180; angulo >= 1; angulo -= 5) { // Comando que muda a posição do servo de 180 para 0°
20 meuservo.write(angulo); // Comando para angulo específico
21 delay(5);
22 }
23
24 delay(2000); // Tempo de espera para próximo movimento
25 }
Com todas as funções já comentadas, este código demonstra algumas funções padrões do
software Arduino quando trabalhamos com o Servo, o que facilita ainda mais a sua utilização é
a sequencia de pinos específico necessários para o funcionamento do mesmo.
CONCLUSÃO
O funcionamento do Motor Shield Arduino é baseado quase que exclusivamente na biblioteca
AFMotor.h, porém vale ressaltar que os projetos podem ser executados sem esta, porém é
necessário um conhecimento mais aprofundado de programação para este procedimento.
Se você já usou este Shield, tem algum uma experiência com ele e deseja compartilhar com os
demais, não esqueça de deixar o seu comentário logo abaixo, além da utilização de cada um
dos tipos de motores, é possível intercalar o seu funcionamento, sendo ideal para o
desenvolvimento de um Carro Robô 4WD com Micro Servo Motor e Eixo Móvel.