Ahojte, snažil jsem se udělat program, který by za pomoci můstku L298N a dvou tlačítek reverzoval jeden motor. Při stisknutí jednoho tlačítka by se motor točil jedním směrem (smer1), při stisknutí druhého zase opačným (smer2). Při "nule" by se motor netočil (stop).
Když ale celé zapojení realizuji, motor se automaticky začne točit i bez stisku jakéhokoliv tlačítka a já nevím proč. Samozřejmě přes 10k rezistor digitalní vstupy uzemňuji... Kde je problém? Neumím používat podmínky?
Jsem začátečník. Děkuji
const int button1 = 2;
const int button2 = 3;
const int IN1 = 8;
const int IN2 = 9;
int buttonState1 = 0;
int buttonState2 = 0;
void setup() {
// put your setup code here, to run once:
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
buttonState1 = digitalRead(button1);
buttonState2 = digitalRead(button2);
if (buttonState1 == HIGH)
{
smer1();
}
if (buttonState2 == HIGH)
{
smer2();
}
else
{
stop();
}
}
void smer1()
{
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
delay(2000);
}
void smer2()
{
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
delay(2000);
}
void stop()
{
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
delay(2000);
}
L298N reverzace motoru
Re: L298N reverzace motoru
Není tam definovaný počáteční stav. Do void setup přidejte na konec
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
Re: L298N reverzace motoru
Jseš šikovnýNení tam definovaný počáteční stav. Do void setup přidejte na konec
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
A já nadšený, že to funguje
Děkuji za radu
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů