MX1508 motor driver, кто использовал?
- Войдите на сайт для отправки комментариев
Пнд, 07/08/2017 - 21:12
День добрый,
пришла данная плата, кто пользовалься, скиньте простейший скетч для движения, далее сам разберусь. На 293D практика есть.
для тех кто хочет отправить "Ищу исполнителя", тоже здесь срите. Все таки первый пост).
ЗЫ: И да, я новичек, и да, я не программист. Технику починить могу, даже дохлую, но с программированием на стадии обучения.
http://lmgtfy.com/?q=mx1508+arduino
А вообще, могли бы и догадаться. 4 входа, два выхода на моторы по два пина - логика...
Поиском я тоже умею пользоваться. Там магазины. Если заметили. Я бы не задал вопрос без поиска.
Вот и испугало, что на 298 есть en-2 и in-4, а тут только in-4.
Нормальный драйвер, мне навится, адекватно работает от одного литиевого аккумулятора, правда жаль что только до 9 В он.
Вот пример работы с ним:
01
// mx1508 arduino ide example
02
// By #Techn0man1ac
03
04
#define IN1 14 // left motor, PWM
05
#define IN2 13 // left motor
06
#define IN3 12 // right motor, PWM
07
#define IN4 15 // right motor
08
09
#define motorLeft 0
10
#define motorRight 1
11
12
int
motrSpd = 0;
13
14
void
setup
() {
15
Serial
.begin(115200);
16
pinMode(IN1, OUTPUT);
// PWM
17
pinMode(IN2, OUTPUT);
18
pinMode(IN3, OUTPUT);
// PWM
19
pinMode(IN4, OUTPUT);
20
}
21
22
void
loop
() {
23
24
for
(motrSpd = 0; motrSpd <= 255; motrSpd += 1) {
25
speedMotors(motorRight, motrSpd);
26
speedMotors(motorLeft, motrSpd);
27
Serial
.println(motrSpd);
28
delay(15);
29
}
30
31
for
(motrSpd = 255; motrSpd >= -255; motrSpd -= 1) {
32
speedMotors(motorRight, motrSpd);
33
speedMotors(motorLeft, motrSpd);
34
Serial
.println(motrSpd);
35
delay(15);
36
}
37
38
for
(motrSpd = -255; motrSpd <= 0; motrSpd += 1) {
39
speedMotors(motorRight, motrSpd);
40
speedMotors(motorLeft, motrSpd);
41
Serial
.println(motrSpd);
42
delay(15);
43
}
44
delay(5000);
45
}
46
47
void
speedMotors(
int
motor,
int
spd)
48
{
49
50
if
(motor == motorLeft) {
51
if
(spd >= 0) {
52
analogWrite(IN1, spd);
53
digitalWrite(IN2, LOW);
54
}
else
{
55
spd = 255 + spd;
56
analogWrite(IN1, spd);
57
digitalWrite(IN2, HIGH);
58
}
59
}
else
{
60
if
(spd >= 0) {
61
analogWrite(IN3, spd);
62
digitalWrite(IN4, LOW);
63
}
else
{
64
spd = 255 + spd;
65
analogWrite(IN3, spd);
66
digitalWrite(IN4, HIGH);
67
}
68
}
69
}
Спасибо огромное, попробую.
Должна рабатать до 10В, это два акб по 18560. чего мне и хватит.
2 18650 - это 8.4В в лучшем случае...