Arduino controlando dois servos independentes e 1 motor de passo

Exibições: 228

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Roberto de Paula em 22 maio 2014 às 20:40

É mole, o programa fica inicialmente assim:

#include <Stepper.h> // Incluir Biblioteca motor de passo'Stepper'

Stepper myStepper(300, 2, 4, 3, 5); // Define velocidade e a sequencia dos pinos do motor

myStepper.setSpeed(60); // Ajusta a velocidade do motor, este valor pode ser mudado

myStepper.step(200); // Numero de passos, sentido horário
delay(500); // Delay de 0,5 seg antes do próximo 

int MotorPin =  9; // incluir a biblioteca de motor DC no pino 9
 
void setup()
{
  pinMode(MotorPin, OUTPUT);
}
 
void loop()
{
  digitalWrite(MotorPin, HIGH);
  delay(1000);
  digitalWrite(MotorPin, LOW);
  delay(1000);
}

Comentário de nelson braga dos santos em 19 maio 2014 às 20:46

Super legal!

O meu projeto é pra acionar um motor dc + um motor de passo em sequencia e nao juntos.

Voce pode me ajudar?

Comentário de Roberto de Paula em 19 maio 2014 às 15:54

Faço de graça para os amigos.

Te passo o programa que adaptei pro meu caso e você ffaz o mesmo pro teu caso.

Lá vai:

#include <Servo.h> // Incluir a biblioteca de servo
#include <Stepper.h> // Incluir Biblioteca motor de passo'Stepper'
Stepper myStepper(300, 2, 4, 3, 5); // Define velocidade e a sequencia dos pinos do motor


Servo servoLeft; // Define servo 1
Servo servoRight; // Define servo 2

void setup() {
servoLeft.attach(10); // Habilita pino 10 para o servo 1
servoRight.attach(9); // Habilita pino 9 para o servo 2
}

void loop() { // Loop para as funcoes automaticas do motoe e servos

myStepper.setSpeed(60); // Ajusta a velocidade do motor, este valor pode ser mudado
myStepper.step(200); // Numero de passos, sentido horário
delay(500); // Delay de 0,5 seg antes do próximo





forward(); // Example: move forward
delay(2000); // Wait 2000 milliseconds (2 seconds)
reverse();
delay(2000);
turnRight();
delay(2000);
turnLeft();
delay(2000);
stopRobot();
delay(2000);
}

// Motion routines for forward, reverse, turns, and stop
void forward() {
servoLeft.write(0);
servoRight.write(180);
}

void reverse() {
servoLeft.write(180);
servoRight.write(0);


}


void turnRight() {

myStepper.step(-500); // Numero de passos, sentido horário
delay(500);


servoLeft.write(180);
servoRight.write(180);




}
void turnLeft() {
servoLeft.write(0);
servoRight.write(0);
}

void stopRobot() {
servoLeft.write(90);
servoRight.write(90);
}

Comentário de nelson braga dos santos em 19 maio 2014 às 10:41

Olá,

Amigo, preciso do código pra acionar 1 motor dc por 10seg, delay de 5seg, depois acionar um motor de passo por 20 passos e delay de 10seg, ficando assim num ciclo continuo.

Quanto vc me cobraria R$  ?

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço