Programa Arduino para acionar o L298N:
// Defina os pinos conforme as ligações entre Arduino e L298N
#define IN1 8 // Input 1 (L298N - Out1)
#define IN2 9 // Input 2 (L298N - Out2)
#define IN3 10 // Input 3 (L298N - Out3)
#define IN4 11 // Input 4 (L298N - Out4)
#define ENA 5 // Enable A (para as saídas 1/2)
#define ENB 6 // Enable B (para as saídas 3/4)
int delayPasso = 5; // tempo entre passos em ms (ajuste conforme necessário)
void setup() {
// Configurar pinos como saída
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
// Habilita ambos canais do L298N
digitalWrite(ENA, HIGH);
digitalWrite(ENB, HIGH);
}
void loop() {
// Gira para um sentido (horário)
for (int i = 0; i < 200; i++) { // 200 passos = 1 volta em motores 1.8º/passo
passoHorario();
}
delay(1000);
// Gira para o sentido oposto (anti-horário)
for (int i = 0; i < 200; i++) {
passoAntihorario();
}
delay(1000);
}
// Sequência para um passo no sentido horário
void passoHorario() {
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
delay(delayPasso);
digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
delay(delayPasso);
digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
delay(delayPasso);
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
delay(delayPasso);
}
// Sequência para um passo no sentido anti-horário
void passoAntihorario() {
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
delay(delayPasso);
digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
delay(delayPasso);
digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
delay(delayPasso);
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
delay(delayPasso);
}
Nenhum comentário:
Postar um comentário