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:
Jose carlos
como eu posso comprar uma placa dessas auguem sabe me dizer
meu email para contato é zoowltar@hotmail.com
18 Dez, 2013
Vitor
Será que consigo movimentar cada motor individualmente e simultâneamente?
16 Set, 2015
hugo leonardo b
olabom tem como controlar cada servo independente ou so controla todos juntos de uma so vez ?
projeto interessante
21 Jan, 2016