Ошибка в управлении сервоприводом
- Войдите на сайт для отправки комментариев
Используется arduino nano v3.0, питание от аккумулятора на 7.4 В. Нужна чтобы сервопривод переодически отклонялся то влево то вправо от исходной точки. При использовании этого кода:
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup() {
myservo.attach(9);
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) {
// in steps of 1 degree
myservo.write(pos);
delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(15);
}
}
Или аналогичных, результат следующий:
Где-то 1.5 секунды привод вращается в одну сторону, потом следует короткая пауза, после чего продолжает вращатся в том-же направлении. После 4-5 циклов привод перестает вращатся вообще или продолжает вращатся безостановочно. При этом иногда привод вращается около 0.25 секунды, после чего продолжает вращатся как и раньше. При подобных зависанияз мигает красный светодиот обозначенный как L.
Данная проблемма возникла сразу на двух платах. Помогите новичку разобраться в чем проблемма.
1 ошибка сервопривод это не мотор. Он не может вращатся то в одну сторону то в другую. Максимум он поворачивается от 0 до 180 градусов и все.
Извиняюсь, мой косяк. Используется все-таки мотор.
Тогда #include <Servo.h> нафиг.
Мотором ардуина управляет через половину драйвера шагового двигателя. Надо 2 пина (Motor_plus_pin) и (Motor_minus_pin)
ПС:http://arduino-diy.com/arduino-drayver-shagovogo-dvigatelya-i-dvigatelya-postoyannogo-toka-L298N
Не совсем понял, как использовать эти пины, можете объяснить подробнее?
Если у Вас мотор, не следует подключать его как сервопривод.