Menu
CoddyTech

Varra um servo

Parte da seção Saídas do Journey de Arduino da Coddy. Lição 21 de 24.

arm.write() salta diretamente para um ângulo. Para mover o braço lentamente, passe por cada ângulo intermediário com um loop for, esperando um instante em cada um:

for (int angle = 0; angle <= 180; angle++) {
  arm.write(angle);
  delay(15);
}

Aqui, o contador se chama angle, e <= 180 inclui o próprio 180. 181 passos de 15 ms levam cerca de 2,7 segundos.

Para voltar, conte de trás para frente. angle-- subtrai 1 a cada rodada, e o loop continua enquanto o ângulo ainda for 0 ou mais:

for (int angle = 180; angle >= 0; angle--) {
  arm.write(angle);
  delay(15);
}

Coloque os dois loops em loop() e o braço vai para frente e para trás como um limpador de para-brisa.

challenge icon

Desafio

Fácil

Faça o servo no pino 9 girar repetidamente de um lado para o outro:

  • de 0 até 180 graus, um grau por vez, aguardando 15 ms em cada posição
  • depois, volte até 0 da mesma maneira

Pressione Run e depois Check.

Experimente você mesmo

#include <Servo.h>

Servo arm;

void setup() {
  arm.attach(9);
}

void loop() {
  // gire de 0 até 180, um grau a cada 15 ms
  // depois volte até 0
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Saídas

Pratique por conta própria: Playground de Arduino