Olá galera,

Alguém poderia me ajudar?  Estou usando um arduino UNO + easy driver + stepper motor

Preciso que esse motor gire  +180 graus quando aperto um botão, depois gire + 180 graus quando aperto o mesmo botão novamente.

Eu coloquei esse programa, mas ele gira 180 + 180 em uma única vez

************************************************************************************** 


int DIR_PIN = 2;//direction pin of motor driver
int STEP_PIN = 3;//step pin of motor driver
int switchPin=8;// Switch to make the motor start 
//float speedRot =0.057;

void setup() {
pinMode(DIR_PIN, OUTPUT);
pinMode(STEP_PIN, OUTPUT);
pinMode(switchPin,INPUT);

}

void loop(){
int start=digitalRead(8);
if(start==HIGH){
rotateDeg(180,speedRot);
delay(1000);
rotateDeg(180,speedRot);

}
}

Exibições: 1245

Responder esta

Respostas a este tópico

Ola Amigo, tenta tirando o segundo "rotateDeg(180,speedRot);" e vê se dar certo!!!

valeu Angelo, obrigado pela ajuda

Um outro projeto que tenho, é parecido, porém o botão deve girar o motor +180 graus e no segundo toque -180 graus

Vc teria alguma idéia?

Desde já agradeço

bom, vc pode declarar mais uma variável, ' const int DIR', no void setup vc dgitalWrite(DIR, LOW); e dentro do void loop, dentro das chaves do if, vc fala que DIR = !DIR e depois do delay vc faz um dgitalWrite(DIR_PIN, DIR);

acho que isso vai resolver! qquer coisa é perguntar!!!

Ok Angelo,

vou tentar! mais uma vez agradeço

Não entendi direito estes teus comandos, mas algumas dicas:

O limite do servo não é 180?

Tu pode criar uma variável auxiliar:

rotação = 89

ao clicar no botão tu passa para o servo e adiciona mais 90 em rotação

ao clicar novamente, tu vai jogar os 179. Claro que tu tem que verificar quantas vezes o cara clicou para não ultrapassra o limite de rotação do servo.

Espero ter ajudado.

Vc ta usando servo motor ou stepper motor?

Bem... Pela tua pergunta acho que estou usando o stepper. Risos...  O que eu uso é um que tem limite de rotação de 180 graus.

Boa Tarde Luiz,

É pq inicialmente vc falou que estava usando um arduino UNO + easy driver + stepper motor e agora vc ta falando que esta usando um motor que tem limite de 180°, pelo que eu sei easy driver é usado pra controlar motores de passo por uma sequencia logica, e os motores com limite de rotação são os servos motores, que controlamos por PWM, então pra sanar suas duvidas temos esses dois videos daqui msm do Lab:

https://www.youtube.com/watch?v=fbuM6DsVimk

https://www.youtube.com/watch?v=qNTPg8oRuE0

mas se vc realmente ta usando um easy driver esse outro video vai ajudar bastante:

https://www.youtube.com/watch?v=V9r74kkfqhc

mas qualquer duvida vc volta aqui e a gente tenta te ajudar!!!

Abraços!!!!

Perdão Angelo. Me atravessei na conversa. Tentei ajudar o Rogerio mas acho que o que postei não é o caso dele.

De qqer forma muito boas tuas dicas.   Valeu.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço