Skocz do zawartości

Niepoprawne działanie silników z L293D podłączonego do Arduino UNO


Dabz

Pomocna odpowiedź

Witam wszystkich, na wstępie zaznaczę, że jestem początkującym elektronikiem oraz robię projekt do szkoły.
Owym projektem jak wspomniałem w tytule jest autko na bazie Arduino UNO, L293D i modułu bluetooth HC-05

Sugerując się poradnikami postanowiłem zrobić projekt i podłączyć go według schematu poniże

 

Już na początku napotkałem pewne problemy, ponieważ podłączenie zasilania na samą płytkę L293D (płytka jest wpięta bezpośrednio w Arduino) moduł HC-05 nie dział, więc rozdzieliłem kable i podłączyłem osobno L293D i Arduino UNO z jednego akumulatora i teoretycznie zadziałało.

 

Lecz jak wgrałem kod (wszystko jak należy RX, tx zmieniłem i wyjąłem przed programowaniem) i połączyłem z aplikacją działa mi tylko przycisk tył i prawo.

Jak klikam lewo i przód silniki zaciskają się i autko jedzie bez przerwy, a sam moduł się rozłącza i gubi zasięg z aplikacją.

W czym może być problem????

Tutaj podsyłam jeszcze kod

#include <AFMotor.h>


//initial motors pin

AF_DCMotor motor1(1);

AF_DCMotor motor2(2);

AF_DCMotor motor3(3);

AF_DCMotor motor4(4);



char command;



void setup()

{

Serial.begin(9600); //Set the baud rate to your Bluetooth module.

}



void loop(){

if(Serial.available() > 0){

command = Serial.read();

Stop(); //initialize with motors stoped

//Change pin mode only if new command is different from previous.

//Serial.println(command);

switch(command){

case 'F':

forward();

break;

case 'B':

back();

break;

case 'L':

left();

break;

case 'R':

right();

break;

}

}

}



void forward()

{

motor1.setSpeed(255); //Define maximum velocity

motor1.run(FORWARD); //rotate the motor clockwise

motor2.setSpeed(255); //Define maximum velocity

motor2.run(FORWARD); //rotate the motor clockwise

motor3.setSpeed(255);//Define maximum velocity

motor3.run(FORWARD); //rotate the motor clockwise

motor4.setSpeed(255);//Define maximum velocity

motor4.run(BACKWARD); //rotate the motor anti-clockwise

}



void left()

{

motor1.setSpeed(255); //Define maximum velocity

motor1.run(BACKWARD); //rotate the motor anti-clockwise

motor2.setSpeed(255); //Define maximum velocity

motor2.run(BACKWARD); //rotate the motor anti-clockwise

motor3.setSpeed(255); //Define maximum velocity

motor3.run(FORWARD); //rotate the motor clockwise

motor4.setSpeed(255); //Define maximum velocity

motor4.run(FORWARD); //rotate the motor clockwise

}



void right()

{

motor1.setSpeed(255); //Define maximum velocity

motor1.run(FORWARD); //rotate the motor clockwise

motor2.setSpeed(255); //Define maximum velocity

motor2.run(FORWARD); //rotate the motor clockwise

motor3.setSpeed(255); //Define maximum velocity

motor3.run(BACKWARD); //rotate the motor anti-clockwise

motor4.setSpeed(255); //Define maximum velocity

motor4.run(BACKWARD); //rotate the motor anti-clockwise

}



void Stop()

{

motor1.setSpeed(0); //Define minimum velocity

motor1.run(RELEASE); //stop the motor when release the button

motor2.setSpeed(0); //Define minimum velocity

motor2.run(RELEASE); //rotate the motor clockwise

motor3.setSpeed(0); //Define minimum velocity

motor3.run(RELEASE); //stop the motor when release the button

motor4.setSpeed(0); //Define minimum velocity

motor4.run(RELEASE); //stop the motor when release the button
}

 

IMG_20220402_183125.jpg

Edytowano przez Gieneq
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.