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.

Capítulo 10 ■ Motores de passo e robôs<br />

235<br />

// o valor de um passo é 360 / ângulo de grau do motor<br />

#define STEPS 200<br />

// crie um objeto stepper nos pinos 4, 5, 6 e 7<br />

Stepper stepper(STEPS, 4, 5, 6, 7);<br />

void setup() {<br />

}<br />

void loop() {<br />

stepper.setSpeed(60);<br />

stepper.step(200);<br />

delay(100);<br />

stepper.setSpeed(20);<br />

stepper.step(-50);<br />

delay(100);<br />

}<br />

Certifique-se de que seu Arduino esteja conectado a uma fonte de alimentação externa<br />

antes de executar o código. Quando o sketch for executado, você verá o motor de<br />

passo realizar uma rotação completa, parar por um instante, rotacionar no sentido<br />

contrário por um quarto de rotação completa, parar por um instante e, então, repetir<br />

o processo. Pode ser interessante prender uma tira de fita ao eixo do motor, para que<br />

você possa observá-lo rotacionar.<br />

Projeto 28 – Controle <strong>básico</strong> de um motor de passo – Análise do código<br />

O código para este projeto é simples e direto, graças à biblioteca Stepper.h, que cuida<br />

de todo o trabalho para nós. Primeiramente, você inclui a biblioteca no sketch:<br />

#include <br />

Depois, você tem de definir quantos passos são necessários para que o motor realize<br />

uma rotação completa de 360 graus. Tipicamente, motores de passo vêm em variedades<br />

de 7,5 ou 1,8 graus, mas você pode ter um motor de passo com um ângulo de<br />

passo diferente. Para calcular os passos basta dividir 360 pelo ângulo de passo. No<br />

caso do motor de passo que utilizei, o ângulo de passo era 1,8 grau, significando que<br />

200 passos são necessários para executar uma rotação completa de 360 graus.<br />

#define STEPS 200<br />

Em seguida, você cria um objeto para o motor de passo, dá a ele o nome stepper e<br />

atribui os pinos relacionados a cada lado das duas bobinas:<br />

Stepper stepper(STEPS, 4, 5, 6, 7);<br />

A função de inicialização não faz nada, mas tem de ser incluída mesmo assim:<br />

void setup() {<br />

}

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

Saved successfully!

Ooh no, something went wrong!