Você está na página 1de 3

Motor DC com Arduino Motor Shield

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;

// Atenção: pino 9 e 10 sao usados para servo 1 e 2

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);
}

Servo motor com Arduino Motor Shield


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.

#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);
}

Você também pode gostar