Fala galera do Labdegaragem ...
Estou me aventurando agora no arduino, e tenho um projeto que contém 2 motores de Passo (unipolar) e 1 servomotor;
Preciso de uma dica, ou uma base para uma programação para que:
Servomotor gire fique em duas posições: 0º e 180º
Motor de passo vai rodar +- 25º para a direita e parar quando o Servomotor estiver a 0º
Motor de passo vai rodar +-25º para a esquerda quando o Servomotor estiver a 180º
Segue a programação que eu já fiz e a foto montada no protoboard, somente para o teste.
Agradeço desde já!
#include <Stepper.h>
#include <Servo.h>
const int stepsPerRevolution1 = 48;
Stepper myStepper1(stepsPerRevolution1,1,3,2,0);
const int stepsPerRevolution2 = 200;
Stepper myStepper2(stepsPerRevolution2,5,7,13,6);
Servo myservo;
int pos = 90;
int time = 3;
int time2 = 10;
int botao2 = 12; // BOTAO MOTOR DE PASSO1 - IDA
int botao = 11; // BOTAO MOTOR DE PASSO1 - VOLTA
int bservo = 10; // BOTAO SERVOMOTOR
int botao3 = 8; // BOTAO MOTOR DE PASSO2
void setup(){
myStepper2.setSpeed(110); // VELOCIDADE MOTOR MAIOR
myStepper1.setSpeed(70); // VELOCIDADE MOTOR MENOR
pinMode(0,OUTPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(botao3,INPUT);
pinMode(bservo,INPUT);
pinMode(botao2,INPUT);
pinMode(botao,INPUT);
pinMode(13,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
digitalWrite(12,1);
digitalWrite(11,1);
digitalWrite(10,1);
digitalWrite(8,1);
myservo.attach(9); // PINO 3 NA ENTRADA DO SERVO
}
void loop() {
// ************** MOTOR DE PASSO 1 **************
int botao2 = digitalRead (12);
int botao = digitalRead (11);
if (botao == 0 ){
myStepper2.step(stepsPerRevolution2);
delay(0);
}
else {}
if (botao2 == 0){
myStepper2.step(-stepsPerRevolution2);
delay(0);
}
else {
digitalWrite(13,LOW);
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
}
// ************** SERVOMOTOR **************
int bservo = digitalRead (10);
if (bservo == 1){
myservo.write(0);
}
else {
myservo.write(180);
}
// ************** MOTOR DE PASSO 2 **************
int botao3 = digitalRead (8);
if (botao3 == 0) {
myStepper1.step(stepsPerRevolution1);
delay(1000);
}
else {
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
}
}
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por