Escolar Documentos
Profissional Documentos
Cultura Documentos
Abaixo temos o código um programa (ou sketch) mínimo para teste da placa Arduino Motor
Shield. Ele faz o motor rodar para um lado e para o outro. Ele funcionará se:
a biblioteca Adafruit Motor estiver corretamente instalada
placa Arduino Motor Shield estiver funcionando
o motor estiver conectado a porta desejada
1
O sketch considera que o motor DC foi conectado a porta 3. Se tudo correr conforme o
esperado você pode escrever o seu programa, modificar ou expandir este.
#include <AFMotor.h>
AF_DCMotor meumotorDC(3);
void setup()
{
meumotorDC.setSpeed(255);
meumotorDC.run(RELEASE);
}
void loop() {
meumotorDC.run(FORWARD);
delay(1000);
meumotorDC.run(BACKWARD);
delay(1000);
}
Acelerando o Motor DC
Esta sketch faz com que o motor ligado a porta 3 acelere suavemente ate atingir a velocidade
máxima.Mantém a velocidade máxima por 5 segundos e depois desacelera suavemente.
Repete este ciclo até o Arduino ser desligado.
#include <AFMotor.h>
AF_DCMotor meumotorDC(3);
void setup()
{
meumotorDC.setSpeed(255);
meumotorDC.run(RELEASE);
}
void loop()
{
meumotorDC.run(FORWARD);
for(int i=0;i<255;i++){ // acelera
meumotorDC.setSpeed(i);
delay(10);
}
delay(5000);
for(int i=0;i<255;i++){ // desacelera
meumotorDC.setSpeed(255-i);
delay(10);
}
delay(5000);
}
Tres paradas com o servomotor
Servo motores são úteis para controlar a posição de mecanismos leves. Eles param numa
posição entre 0 e 180 graus aproximadamente, definida no programa.
Na skech do post anterior ele ficava variando entre 0 e 180. Aqui ele para num valor
intermediário.
#include <Servo.h>
Servo meuservo;
void setup()
2
{
meuservo.attach(9);
}
void loop()
{
meuservo.write(0);
delay(4000);
meuservo.write(85);
delay(1000);
meuservo.write(170);
delay(1000);
meuservo.write(85);
delay(1000);
}
#include <Servo.h>
Servo meuservo;
void setup()
{
meuservo.attach(9); // pino 9 e 10 sao usados para servo 1 e 2
}
void loop()
{
meuservo.write(0);
delay(1000);
meuservo.write(180);
delay(1000);
}