Manual

do

Maker

.

com

Servo shield para Arduino

Servo shield para Arduino

Para fazer robôs que utilizam servo-motor pode ser necessário utilizar um bom expansor de I/O. Escrevi a respeito com a Onion Omega, utilizando a expansão-servo, que permite até 16 servos. Se estiver interessado em saber a respeito, procure alí na lupa do canto direito por "onion" e "omega", você deverá encontrar fácil.

Servo shield

Nesse post vou apresentar o shield para servos que serve para Arduinos que combinem com o formato do UNO, como o Leonardo. Trata-se de um shield com um CI I²C, de modo que apenas 2 GPIOs são utilizados para controlar os 16 servos. A alimentação, claramente não deverá vir diretamente do Arduino por questões de consumo. No borne ao fundo do shield você deverá fornecer tanta corrente quanto requisitado pelo número de servos. Do mesmo modo, no espaço disponível para o capacitor, deve calcular 100uF para cada servo, então somam-se estes valores para definir o tamanho do capacitor.

Endereçamento

O CI vem com uma configuração padrão no endereço 0x40. Na direção oposta ao borne estão 6 endereçadores que correspondem à ordem binária, bastando ligar com um ponto de solda o endereço desejado. Caso não pretenda empilhar shields I²C, deixe como está.

Em relação ao endereçamento, não se preocupe. No post prático com um robô mostrarei em detalhes no video o endereçamento, falarei da alimentação adequada e do capacitor ideal para o shield.

Biblioteca

A Adafruit oferece uma biblioteca para seu shield e você poderá baixá-la no git do projeto. O procedimento é o padrão; descomprima-a no diretório ~/arduino-x.y.z/libraries e renomeie o diretório para algo como AdafruitPWMservoDriver. Abra a IDE do Arduino e em "Examples" você deverá encontrar a referência.

Um dos passos importantes é a calibração dos servos, que deixarei para mostrar no próximo artigo relacionado ao robô.

Projeto

Eu adquiri esse shield para finalizar dois projetos de robôs, sendo um com 8 servos e o outro com 12. Em breve teremos por aqui alguns artigos com eles.

Há pouco tempo escrevi alguns artigos com um braço robótico utilizando também um expansor para servo, mas com a board Onion Omega (você pode ver aqui e aqui). Esses são os projetos que me ocorrem no momento e que utilizam mais servos.

Dos projetos que ainda não fiz, tem o robô aranha. O melhor robô que estou montando é um quadrupede e consome 12 servos, imagine uma aranha!

Porque utilizar um servo shield

Mesmo que fossem menos servos, o número de GPIO disponíveis na board se reduziria e lhe sobrariam poucos recursos para outros componentes como sensor ultrassonico para desvio de obstáculos, câmera etc. Não só isso, mas principalmente o consumo. Passando de 2 servos já não é viável utilizar mais o Arduino diretamente e a alimentação haveria de ser distribuida de algum modo entre os servos. De qualquer modo, ao menos um proto shield seria necessário. Utilizando um servo shield você utilizará apenas 2 GPIO, alimentará os servos externamente e pode empilhar shields servos, de modo que você pode chegar a uma quantidade considerável de shields; 32 endereçamentos possíveis, com 16 servos por shield. Suficiente?

Por enquanto vou ater-me a essa introdução para não fazer um artigo entediante e cansativo. O gostoso é a prática, que ficará para o próximo artigo relacionado, mas agora você já sabe uma das "ferramentas" que precisará para avançar em projetos robóticos com servos, acompanhe.

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.