Считывание ШИМ-сигнала с радиоуправляемого приемника
Я пытаюсь считывать ШИМ-сигнал с моего радиоуправляемого приемника на плате arduino Seeeduino XIAO, но значения считывания скачут с ума от 0 до 10000. Я смотрю учебник на Youtube, и их значение колеблется только от 1000 до 2000. Интересно, почему я поступил неправильно? Вот мой код
#define pin 3
unsigned long pwm_value;
void setup(){
pinMode(pin, INPUT); //установите pin на ввод
Serial.begin(9600); //начать последовательную связь
}
void loop()
{
pwm_value = pulseIn(pin,HIGH);
Serial.println(pwm_value);
}
@Neung Chung, 👍1
Обсуждение1 ответ
▲ 0
Я попытался подключить питание от RC к плате при подключении с помощью кабеля USB-порта, и проблема была решена.
,
@Neung Chung
Смотрите также:
- Какова работа pulseIn?
- Как использовать две функции pulseIn() одновременно в Arduino?
- Как измерить ультразвуковой датчик без импульсного метода?
- Импульсный тахометр
- Можно ли использовать Arduino Uno для измерения частоты прямоугольной волны до 600 кГц?
- Непрерывное чтение двух последовательных периодов импульса
- Функция Pulsein() блокирует одновременное выполнение других задач
- Работа с PulseIn() и Millis().
Какова частота и рабочий цикл входного сигнала?, @Sim Son
Как и где я могу это получить? Извините, я новичок в Arduino @SimSon, @Neung Chung
Эта информация должна быть включена в спецификацию вашего радиоуправляемого приемника., @chrisl
@chrisl Я только что прочитал руководство как по радиоуправляемому передатчику, так и по приемнику и не нашел никакой информации о частоте и рабочем цикле Вот ссылка получателя: https://static1.squarespace.com/static/5bc852d6b9144934c40d499c/t/6076a44d728f4b3bfdf87873/1618388047085/FGr4SUser+Manual+20210311.pdf, @Neung Chung
@SimSon Я только что снова прочитал руководство и узнал следующее : "Эта функция используется для настройки выходной частоты канала по мере необходимости для различных типов сервоприводов. эта функция включает аналоговый сервопривод (95 Гц), цифровой сервопривод (380 Гц) и пользовательские параметры частоты. Установите это значение в соответствии со спецификациями сервоприводов. если настройка частоты сервоприводов не соответствует, это может привести к дрожанию сервоприводов", @Neung Chung
функция
pulseIn
принимает время ожидания в качестве необязательного третьего аргумента. Единственная причина, по которойpulseIn
возвращает 0, заключается в том, что этот тайм-аут превышен. Вы можете попробовать поиграть с этим таймаутом и посмотреть, имеет ли это какое-либо значение. Однако тайм-аут по умолчанию в 1 секунду не должен быть проблемой, если частота ШИМ превышает 1 Гц. Вы уверены, что ваша проводка правильная?, @Sim Son@SimSon почти уверен, что моя проводка правильна, так как у меня есть только один провод, соединяющий выход сигнала RC-приемника с выводом 3 платы, @Neung Chung
Единственное соединение, кроме источника питания, я полагаю? Даже если вы считаете, что все подключения правильные, вам следует опубликовать фотографию настройки, @Sim Son
@SimSon Я уже решил проблему, было немного глупо, что мне нужно также подавать питание на плату arduino при подключении к USB-кабелю :), @Neung Chung