Tutorial: como utilizar TLC5940 com Arduino para controlar vários servos

Neste tutorial vamos mostrar como controlar vários servos utilizando a breakout TLC5940 com Arduino.

Esta breakout TLC5940 pode controlar até 16 servos, mas pode juntar várias breakout TLC5940 em série e controlar mais servos. Para conectar em série é só fazer a ligação da figura abaixo:

Para conectar a breakout TLC5940 no Arduino faça a seguinte ligação:

É aconselhável utilizar uma fonte externa de 5V para alimentar os servos.

Agora, baixe a biblioteca disponível aqui e extraia na pasta "libraries" localizada dentro da pasta da IDE do Arduino. Depois abra a IDE do Arduino e passe a seguinte programação:

//From the bildr article: http://bildr.org/2012/03/servos-tlc5940-arduino
//Requires the Tlc5940 library. http://code.google.com/p/tlc5940arduino/downloads/list

#include "Tlc5940.h"
#include "tlc_servos.h"

int numberOfServos = 9; //how many servos on the chain?

void setup(){
tlc_initServos(); // Note: this will drop the PWM freqency down to 50Hz.
}

void loop(){
//loop through all the servos and move one at a time to 180º
for(int i = 0; i<numberOfServos; i++){

for (int angle = 0; angle < 180; angle+= 10) {
tlc_setServo(i, angle);
Tlc.update();
delay(20);
}

delay(200);
}

//loop through all the servos and move one at a time to 0º
for(int i = 0; i<numberOfServos; i++){

for (int angle = 180; angle >= 0; angle-= 10) {
tlc_setServo(i, angle);
Tlc.update();
delay(20);
}

delay(200);
}

}

Na IDE do Arduino, vá em "Tools/board" e selecione a versão da placa Arduino (UNO, Duemilanove, etc) e a porta em "Tools/Serial port" (COMx, ttyUSBx, ttyACMx, etc) e clique em "UPLOAD".

Ao terminar o UPLOAD, você verá cada servo indo para 180º e depois cada servo voltando para 0º. 

E é isso! Esperamos que tenha gostado! Em caso de dúvidas, poste aqui mesmo neste blog! Se tiver sugestões para tutoriais, clique aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui, respectivamente! Até a próxima!

Referências:

http://bildr.org/2012/03/servos-tlc5940-arduino/

Exibições: 7712

Comentar

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)

Comentário de hugo leonardo b em 21 janeiro 2016 às 7:32

olabom tem como controlar cada servo independente  ou so controla todos juntos de uma so vez ?

projeto interessante 

Comentário de Vitor em 16 setembro 2015 às 17:21

Será que consigo movimentar cada motor individualmente e simultâneamente?

Comentário de Jose carlos em 18 dezembro 2013 às 9:38

como eu posso comprar uma placa dessas auguem sabe me dizer

meu email para contato é zoowltar@hotmail.com

Comentário de Diogo Assiz Menon em 7 outubro 2013 às 10:11

Consigo utilizar 16 servos com 1.2A cada um? ou essa placa limita a corrente para os motores?

Comentário de Luciano de Paula em 26 agosto 2012 às 17:10

muito bom seu artigo, faço pesquisa na área de robótica e pretendo construir alguns robos, este artigo irá me ajudar muito.

Procurei uma breakout TLC5940 para comprar e não encontrei, se você souber de algum lugar no brasil que tenha esta placa para vender favor me informar.

Grato desde já.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço