Neste artigo veremos:
O que você vai precisar
1 Motor de Passo (Stepper Motor), usamos o 28BYJ-48 de 5v
1 Placa com ULN2003 ( a nossa é da LC Eletronics) ou o próprio chip
Fios (jumpers)
A Conexão
Para esse modelo de motor (6 fios), usamos as entradas IN1, IN2, IN3 e IN4 que se conectam a pinos digitais do Arduino (Exemplo: 8, 9, 10 e 11)
Precisa conectar o Vcc ao 5volts do Arduino e o Gnd ao Gnd do Arduino.
A programação
Exemplo 1.
Precisa da Biblioteca AccelStepper.h (não vem com o Arduino)
#include <AccelStepper.h> #define HALFSTEP 4 //Half-step mode (8 step control signal sequence) // Motor pin definitions #define mtrPin1 8 // IN1 on the ULN2003 driver 1 #define mtrPin2 9 // IN2 on the ULN2003 driver 1 #define mtrPin3 10 // IN3 on the ULN2003 driver 1 #define mtrPin4 11 // IN4 on the ULN2003 driver 1 AccelStepper stepper1(HALFSTEP, mtrPin1, mtrPin3, mtrPin2, mtrPin4); void setup() { stepper1.setMaxSpeed(1000.0); stepper1.setAcceleration(100.0); //Make the acc quick stepper1.setSpeed(300); stepper1.moveTo(4096/2); //Rotate 1 revolution } void loop() { //Change direction when the stepper reaches the target position if (stepper1.distanceToGo() == 0) { stepper1.moveTo(-stepper1.currentPosition()); //Reverse motor } stepper1.run(); //Start }
Exemplo 2
Biblioteca Original do Arduino (modificada)
#include <Stepper.h> const int stepsPerRevolution = 32; // Este número funcionou bem com nosso motor (pode ser 32, 16 ou 8 // initialize the stepper library on pins 8 through 11:Aqui precisamos mudar a sequencia dos pinos, trocando o 9 pelo 10. Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11); void setup() { // define a velocidade do motor de passo: myStepper.setSpeed(1000); } void loop() { // faz uma revolução (1 volta) no sentido horário myStepper.step(2048); delay(500); // faz uma revolução (1 volta) no sentido contrário myStepper.step(-2048); delay(500); }
Mixly
2 Comments
Eu quero que o motor gire de um lado para o outro….quando eu digito os comandos em avançados funciona mas qd eu coloco no bloco naum funciona…eu queria que funcionasse no bloco..
Anexo - Attachment
Olá Ana Paula.
Você poderia nos enviar o código utilizado que deu certo pra você?
Na imagem enviada: Qual é o motivo da contagem de 1 até 2 para cada passo?