08.11.2017 Views

arduino_básico_Michael_McRoberts

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

220<br />

Arduino Básico<br />

Da mesma forma, você também pode usar o comando read() para ler o ângulo atual<br />

do servo (ou seja, o último valor passado ao comando write()).<br />

Você pode ler mais sobre a biblioteca Servo no site do Arduino, em http://<strong>arduino</strong>.cc/<br />

en/Reference/Servo.<br />

Projeto 25 – Controle de um servo – Análise do hardware<br />

Um servo é uma pequena caixa, contendo um motor elétrico CC, um conjunto de<br />

engrenagens entre o motor e um eixo de saída, um mecanismo sensor de posição,<br />

e um circuito de controle. O mecanismo sensor de posição transmite a posição do<br />

servo para o circuito de controle, que utiliza o motor para ajustar o braço do servo<br />

na posição que ele deve ocupar.<br />

Servos podem ser encontrados em muitos tamanhos, e em velocidades e precisões<br />

diferentes. Alguns podem ser muito caros. Quanto mais poderoso ou preciso for seu<br />

servo, maior será o preço. Servos são mais comumente utilizados em aviões, carros e<br />

barcos de controle remoto.<br />

A posição de um servo é controlada fornecendo um conjunto de pulsos a ele. Estamos<br />

falando novamente de PWM, conceito com o qual você já trabalhou. A largura<br />

dos pulsos é medida em milissegundos. A taxa na qual os pulsos são enviados não<br />

é particularmente importante; é a largura do pulso que importa para o circuito de<br />

controle. Pulsos típicos têm entre 40 Hz e 50 Hz.<br />

Em um servo padrão, a posição central é atingida fornecendo pulsos em intervalos<br />

de 1,5 milissegundo; a posição de -45 graus com pulsos de 0,6 milissegundo e a posição<br />

de +45 graus com pulsos de 2,4 milissegundos. Você terá de ler o datasheet de<br />

seu servo para descobrir as larguras de pulso necessárias para os diferentes ângulos.<br />

Entretanto, neste projeto você está utilizando a biblioteca Servo.h, por isso não há<br />

com o que se preocupar: a própria biblioteca fornece o sinal PWM necessário para<br />

o servo. Sempre que você enviar um valor de ângulo diferente para o objeto servo, o<br />

código na biblioteca cuidará de enviar o sinal PWM correto.<br />

Alguns servos fornecem rotação contínua. Alternativamente, você também pode<br />

modificar um servo padrão, com uma certa facilidade, para obter rotação contínua.<br />

Um servo de rotação contínua é controlado da mesma forma, fornecendo um ângulo<br />

entre 0 e 180 graus. Todavia, um valor de 0 fornecerá rotação na velocidade máxima<br />

em uma direção, um valor de 90 será estacionário e um valor de 180 fornecerá rotação<br />

na velocidade máxima, na direção oposta. Valores entre esses farão com que o servo<br />

rotacione em uma direção ou outra, a velocidades diferentes. Servos de rotação contínua<br />

são ótimos para construção de pequenos robôs (Figura 9.4). Eles podem ser conectados<br />

a rodas, para fornecer controle preciso de velocidade e direção sobre cada uma delas.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!