Adquira estes componentes na Loja do Lab de Garagem
Neste tutorial vamos mostrar como utilizar o L293D para controlar motores de corrente contínua (DC) com Arduino.
O L293D é basicamente uma ponte-H em um circuito integrado. Pode-se controlar motores de até 36V de alimentação como mostra no datasheet. Cuidado, que o L293D aguenta corrente constante de 600mA e corrente pico em torno de 1.2A. Portanto não coloque motores DC que exijam mais do que 600mA.
Primeiramente, vamos olhar no datasheet para saber a pinagem do L293D:
Vendo a pinagem do L293D, é possível ligar até 2 motores em um único L293D, porém é necessário que a fonte de alimentação suporte o consumo de corrente. Neste tutorial iremos demonstrar apenas um motor DC.
Agora, vamos ver como fazer o motor DC girar de um lado e para outro:
Se os pinos 1 e 7 estiverem em alto(HIGH) e o pino 2 estiver em baixo(LOW), o motor girará para um lado. Se os pinos 1 e 2 estiverem em alto(HIGH) e o pino 7 estiver em baixo(LOW), o motor girará para o outro lado. E assim por diante.
Utilizando um botão, um resistor de 10K ohm, um motor DC de 9V, uma bateria de 9V, L293D e um Arduino, vamos para a montagem:
Na montagem estou utilizando um motor DC de 9V e alimentando o L293D com uma bateria de 9V. Antes de ligar a alimentação do motor, veja qual é a sua alimentação, caso contrário irá queimá-lo.
Depois de feito a montagem, abra a IDE do Arduino e passe a programação exemplo:
int switchPin = 2; // switch input
int motor1Pin1 = 3; // pin 2 on L293D
int motor1Pin2 = 4; // pin 7 on L293D
int enablePin = 9; // pin 1 on L293D
void setup() {
// set the switch as an input:
pinMode(switchPin, INPUT);
// set all the other pins you're using as outputs:
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(enablePin, OUTPUT);
// set enablePin high so that motor can turn on:
digitalWrite(enablePin, HIGH);
}
void loop() {
// if the switch is high, motor will turn on one direction:
if (digitalRead(switchPin) == HIGH) {
digitalWrite(motor1Pin1, LOW); // set pin 2 on L293D low
digitalWrite(motor1Pin2, HIGH); // set pin 7 on L293D high
}
// if the switch is low, motor will turn in the opposite direction:
else {
digitalWrite(motor1Pin1, HIGH); // set pin 2 on L293D high
digitalWrite(motor1Pin2, LOW); // set pin 7 on L293D low
}
}
Agora, selecione a versão da placa Arduino (UNO, Duemilanove, etc), depois em selecione a porta a qual a placa Arduino está conectada (COMx, ttyUSBx, ttyACMx, etc) e clique em "UPLOAD".
O motor DC irá girar para um lado. Se apertar o botão, o motor DC girará para o outro lado.
Pronto!! Caso tenham dúvidas sobre o post, poste aqui mesmo neste post! Se tiverem sugestões, postem aqui! Vocês podem ver outros tutoriais, clicando aqui, e projetos abertos desenvolvidos pela equipe LdG ou pelos garagistas da rede, clicando aqui! Até a próxima!
Referências:
http://luckylarry.co.uk/arduino-projects/control-a-dc-motor-with-ar...
http://arduino.cc/playground/Main/InterfacingWithHardware
http://www.datasheetcatalog.org/datasheet/stmicroelectronics/1330.pdf
Comentar
no datasheet diz que ele aguenta 600mA e nao 1.5A
Algum substituto para o L293D?
com esse CI L293D posso controlar um motor de passo ? o motor de passo tem 6 fio( Branco.Preto, vermelho,verde, amarelo e azul) .
att.Vicente
Marcelo, estou precisando muito deste CI L293D e do ULN2003 para poder fazer um projeto utilizando um motor de passo. Se você consegui-los o quanto antes ficarei satisfeito.
Abraço!!
Edgleice Rodrigues
Edgleice,
Pelas regras da rede, não é permitido postar links de lojas. Mas jea estamos incluindo na loja do LdG, deve estar disponível em poucos dias.
Abraço!!
Belo Tutorial. Você poderia me informar uma loja virtual aqui no Brasil que posso comprar o CI L293D
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)