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