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/

Load Previous Comments
  • Jose carlos

    como eu posso comprar uma placa dessas auguem sabe me dizer

    meu email para contato é zoowltar@hotmail.com

  • Vitor

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

  • hugo leonardo b

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

    projeto interessante