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:
Comentar
olabom tem como controlar cada servo independente ou so controla todos juntos de uma so vez ?
projeto interessante
Será que consigo movimentar cada motor individualmente e simultâneamente?
como eu posso comprar uma placa dessas auguem sabe me dizer
meu email para contato é zoowltar@hotmail.com
Consigo utilizar 16 servos com 1.2A cada um? ou essa placa limita a corrente para os motores?
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á.
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)