Сервопривод сохраняет свою позицию каждый раз, когда я отправляю какое-то значение
Я хотел управлять своим сервоприводом с помощью модуля Bluetooth.
Я дал определенные значения для поворота. Когда я нажимаю эти значения, сервопривод вращается, но затем сохраняет свое исходное положение, а ПК также издает звук отключения платы Arduino, потому что я запитал плату от своего ПК (также пробовал с блоком питания). Даже мой Bluetooth отключается.
Это мой код:
#include <Servo.h>
Servo myservo;
int pos = 0;
char data = 0;
void setup() {
myservo.attach(9);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
data = Serial.read();
if (data == 'F') {
// for (pos = 0; pos <= 180; pos += 1)
myservo.write(180);
delay(1);
}
}
else if (data == 'B') {
// for (pos = 180; pos >= 0; pos -= 1)
myservo.write(0);
delay(1);
}
}
Подключения:
Сервопривод:
красный провод -- 5 В (не работает при 3,3 В)
оранжевый провод -- pin9
коричневый провод -- масса
Bluetooth (hc05):
5 V -- 5 V
gnd -- gnd
rx -- tx
tx -- rx
@Rathore Brothers, 👍-1
Обсуждение1 ответ
Лучший ответ:
▲ 0
Я попытался заменить кабель USB B на более качественный, и это сработало.
,
@Rathore Brothers
Это нормально, чтобы ответить на свой вопрос. Теперь, пожалуйста, отметьте это для будущих посетителей с похожей проблемой., @the busybee
Смотрите также:
- Мой модуль Bluetooth HC-05 не работает
- Модуль HC-05 не получает команд и не спаривается
- Проблема чтения данных Arduino Bluetooth HC-05
- Arduino с модулем Bluetooth HC-05 | Данные не передаются
- Управление esp32 с помощью клавиш клавиатуры
- Как объединить два скетча Arduino: один для реле и один для серводвигателя?
- Можете ли вы помочь мне сократить мой код?
- Неудачная загрузка скетч Bluetooth HC-05 - (порт и плата верны)
Я исправил твой отступ. Вам не хватает 2 закрывающих фигурных скобок в конце. Также ваш цикл for для символа
F
ничего не делает, кроме ожидания (вы там не пишете сервоприводу). Если ваше USB-соединение не работает, когда сервопривод движется, это может указывать на проблему с питанием. Какой именно тип сервопривода у вас есть? Вы пробовали запитать сервопривод отдельно от более мощного источника питания?, @chrislНет линии позиционирования сервопривода при нажатии «F» (myservo.write), я предполагаю, что это случайное упущение в опубликованном вами коде. Ваше описание симптомов указывает на то, что плата Arduino сбрасывается, предположительно, проблема с питанием. Полная электрическая схема поможет диагностировать вашу проблему., @Bra1n
@chrisl Я зарядил его зарядным устройством, но все равно не работает., @Rathore Brothers
Как именно вы питали его от зарядного устройства? Через USB-порт Arduino? В зависимости от потребляемой мощности сервопривода вы можете перегрузить там диод. Пожалуйста, попробуйте подключить сервопривод напрямую от зарядного устройства (не через Arduino). И скажите нам, какой у вас сервопривод, @chrisl
у меня сервопривод 9g, @Rathore Brothers
ваш код никогда не должен содержать
}}
, если вы не являетесь опытным программистом... всегда устанавливайте}
на правильном уровне отступа для каждого блока, который они ограничивают... приготовьтесь к миру боли, если вы не научитесь правильно отформатировать код, @jsotola