не понимаю почему не работает через шилд esp13
- Войдите на сайт для отправки комментариев
Вс, 31/03/2019 - 09:14
Здравствуйте, ребята нужна ваша помощь.
Купил набор https://www.aliexpress.com/item/OSO...453.html?spm=a2g0s.9042311.0.0.2cc84c4dGb5od0
собрал как сказано в инструкции, но при движении робота крутятся только колеса с правой стороны.
если подключаю не использую шилд esp13 как на схеме работают все 4 мотора
если подключаю как на схеме ниже то работают моторы только с одной стороны, К1 и К2

в чем может быть проблема?
в чем может быть проблема?
На 90% в программе, которую Вы не представили. Будете вставлять - прочитайте наставления по вставке программы.
#define dir1PinL 2 //Motor direction #define dir2PinL 4 //Motor direction #define speedPinL 6 // Needs to be a PWM pin to be able to control motor speed #define dir1PinR 7 //Motor direction #define dir2PinR 8 //Motor direction #define speedPinR 5 // Needs to be a PWM pin to be able to control motor speed /*motor control*/ void go_Advance(void) //Forward { digitalWrite(dir1PinL, HIGH); digitalWrite(dir2PinL,LOW); digitalWrite(dir1PinR,HIGH); digitalWrite(dir2PinR,LOW); } void go_Left(void) //Turn left { digitalWrite(dir1PinL, HIGH); digitalWrite(dir2PinL,LOW); digitalWrite(dir1PinR,LOW); digitalWrite(dir2PinR,HIGH); } void go_Right(void) //Turn right { digitalWrite(dir1PinL, LOW); digitalWrite(dir2PinL,HIGH); digitalWrite(dir1PinR,HIGH); digitalWrite(dir2PinR,LOW); } void go_Back(void) //Reverse { digitalWrite(dir1PinL, LOW); digitalWrite(dir2PinL,HIGH); digitalWrite(dir1PinR,LOW); digitalWrite(dir2PinR,HIGH); } void stop_Stop() //Stop { digitalWrite(dir1PinL, LOW); digitalWrite(dir2PinL,LOW); digitalWrite(dir1PinR,LOW); digitalWrite(dir2PinR,LOW); } /*set motor speed */ void set_Motorspeed(int speed_L,int speed_R) { analogWrite(speedPinL,speed_L); analogWrite(speedPinR,speed_R); } //Pins initialize void init_GPIO() { pinMode(dir1PinL, OUTPUT); pinMode(dir2PinL, OUTPUT); pinMode(speedPinL, OUTPUT); pinMode(dir1PinR, OUTPUT); pinMode(dir2PinR, OUTPUT); pinMode(speedPinR, OUTPUT); stop_Stop(); } void setup() { init_GPIO(); go_Advance();//Forward set_Motorspeed(255,255); delay(5000); go_Back();//Reverse set_Motorspeed(255,255); delay(5000); go_Left();//Turn left set_Motorspeed(255,255); delay(5000); go_Right();//Turn right set_Motorspeed(255,255); delay(5000); stop_Stop();//Stop } void loop(){ }Что тут подсказать можно? Надо тестер брать и смотреть, чего моторам не хватает. Скорее всего неконтакт где-то. Или питание на грани, что подключили есп оно и кончилось. Или собрали не по схеме. Приведённая картинка - это как должно быть, а как на самом деле мы не знаем. А программа вряд ли виновата, она небось в обоих случаях одна и та же?
программа одна и таже, питание идет от 2-х батареек 18650 4,2В. подключил один в один со схомой. что бы проврить что питания досточно, отключил 2 мотора, осавил по одному на каждой стороне. но ничего не изменилось.
Приборы-то что показывают? На пинах драйвера моторов то, что должно быть? И с питанием непонятно. Что за 4,2 вольта? У Вас две батареи по 3,7V. Должно 7,4 V быть. Вы их на драйвер не забыли подать?
В общем расскажите точнее как всё запитано. На картинках этого нет.
Приборы-то что показывают? На пинах драйвера моторов то, что должно быть? И с питанием непонятно. Что за 4,2 вольта? У Вас две батареи по 3,7V. Должно 7,4 V быть. Вы их на драйвер не забыли подать?
В общем расскажите точнее как всё запитано. На картинках этого нет.
Извинити что так долго отвечаю
О каких приборах идет речь?
питание на драйвера моторов подключено. Вот тут фото как все подключено - https://dropmefiles.com/jkvJp