sábado, 26 de agosto de 2017

Girando o stepper motor 28BYJ48

Para ligar um stepper motor 28BYJ48 a um Arduino é necessário
um driver ULN2003. Conecte-os como abaixo:




Na sketch abaixo o delay de 800ms torna o giro muito lento e permitirá você visualizar o movimento nos leds. Depois de entender a lógica você poderá acelerar isso para 1ms.

A sketch manda uma mensagem pela usb para você visualizar no monitor que o arduino está vivo.

 Sketch:

int motorD1 = 2;    // Blue   - 28BYJ48 pin 1
int motorD2 = 3;    // Pink   - 28BYJ48 pin 2
int motorD3 = 4;    // Yellow - 28BYJ48 pin 3
int motorD4 = 5;    // Orange - 28BYJ48 pin 4
                    // Red    - 28BYJ48 pin 5 (VCC)

int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};

void setup() {
  pinMode(motorD1, OUTPUT);
  pinMode(motorD2, OUTPUT);
  pinMode(motorD3, OUTPUT);
  pinMode(motorD4, OUTPUT);
  Serial.begin(9600);
  Serial.println("Hello, world! 28BYJ48 acordou!");
}

void loop() {
   for( int i=0; i < 4096 ; i++){
        int out = i%8;
        digitalWrite(motorD1, bitRead(lookup[out], 0));
        digitalWrite(motorD2, bitRead(lookup[out], 1));
        digitalWrite(motorD3, bitRead(lookup[out], 2));
        digitalWrite(motorD4, bitRead(lookup[out], 3));;
        delay(800);  // lento para visualizar os leds, 1 é ok
        }
   delay(1000);
}

Nenhum comentário:

Postar um comentário