Motores tipo servo e de passos
Anderson M. Amaral
Agosto - 2017
#include <Servo.h>
servo.attach(pin)
: Indica qual o pino de comunicação com o Servoservo.write(angle)
: Informa a nova posição para o servoservo.read(angle)
: Recebe o último ângulo informadoExemplos\Servo\Sweep
#include <Servo.h>
Servo myservo; // Armazena as informações do servo
int pos = 0; // Variável global para manipular a posição
void setup() {
myservo.attach(9); // Indica que o servo está no pino 9
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // Vai de 0 a 180 graus em passos de 1 grau
myservo.write(pos); // Nova posição
delay(15); // Aguarda um tempo para o servo atingir a posição final
}
for (pos = 180; pos >= 0; pos -= 1) { // Move-se no sentido inverso ao anterior
myservo.write(pos);
delay(15);
}
}
#include <Stepper.h>
stepper.Stepper(steps, pin1, pin2, pin3, pin4)
: Número de passos por volta e pinos utilizadosstepper.setSpeed(rpm)
: Ajuste da velocidade de rotação em RPMstepper.step(steps)
: Dá um determinado número de passosExemplos\Stepper\stepper_oneStepAtATime
#include <Stepper.h>
const int stepsPerRevolution = 500;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
int stepCount = 0; // number of steps the motor has taken
void setup() {
Serial.begin(9600);
myStepper.setSpeed(25);
}
void loop() {
// step one step:
myStepper.step(1);
Serial.print("steps:");
Serial.println(stepCount);
stepCount++;
delay(50);
}