Скорость работы FLProg и Ардуино

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
densso
Рядовой
Сообщения: 25
Зарегистрирован: 16.03.2017{, 18:53}
Репутация: 0

Скорость работы FLProg и Ардуино

#1

Сообщение densso » 28.03.2017{, 20:02}

Есть два скетча, по своей суть одинаковые, это декодер DTMF сигналов на аналоговом входе А0 и вывод результата в монитор порта. Один скомпилирован в FLProg с блоком пользователя, другой написан в Ардуино. Тестируется на одном и том же оборудовании, кнопки на телефоне нажимаются одинаково.
Суть проблемы следующая: скетч из FLProg при работе часто ошибается, не распознает нажатие, подтормаживает. Скетч из Ардуино работает четко, без сбоев и тормозов.
Вложения
6034416.png
DTMF_decoder-CO.ubi
(23.67 КБ) 37 скачиваний
2842377.txt
(356 байт) 39 скачиваний
FLProg.txt
(588 байт) 35 скачиваний
Последний раз редактировалось densso 28.03.2017{, 20:10}, всего редактировалось 1 раз.

Аватара пользователя
Anydy
Администратор
Сообщения: 3269
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Скорость работы FLProg и Ардуино

#2

Сообщение Anydy » 28.03.2017{, 20:07}

Забудьте вы про программный декодер, не будет он работать корректно, знаем, плавали..)))
Купите микросхему и сделайте аппаратный декодер....цена вопроса 100р.
И все пойдет как по маслу!

densso
Рядовой
Сообщения: 25
Зарегистрирован: 16.03.2017{, 18:53}
Репутация: 0

Скорость работы FLProg и Ардуино

#3

Сообщение densso » 28.03.2017{, 20:13}

Купил, жду когда приедет. Смысл в следующем, если писать скетч руками все работает, даже с кучей выходов. Тестируется на "Нано 328".
Последний раз редактировалось densso 28.03.2017{, 20:16}, всего редактировалось 1 раз.

Аватара пользователя
Anydy
Администратор
Сообщения: 3269
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Скорость работы FLProg и Ардуино

#4

Сообщение Anydy » 28.03.2017{, 20:38}

Если купили MT8870 - верное решение!
Схема подключения

Тут фишка в чем - когда вы нажимаете на кнопку телефона, DTMF сигнал на приемник поступает не от вашего телефона и не от оператора к которому подключен ваш исходящий телефон, а от оператора к которому подключен приемник! По этому и глюки в софт-декодере.

Скиньте библиотеку и скетч из которого блок пытаетесь сделать хотябы....как проверять то что у вас не так?
И то в железе не буду проверять....неохота собирать схему которая никуда не годится))
Вложения
2447202.png
Последний раз редактировалось Anydy 28.03.2017{, 21:13}, всего редактировалось 1 раз.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 36
Откуда: Коломна
Имя: Станислав
Контактная информация:

Скорость работы FLProg и Ардуино

#5

Сообщение Boroda » 28.03.2017{, 21:27}

Вся заковырка тут:
dtmf.sample(sensorPin); \\ код ардуино
и
in_253328735_2 = (analogRead (0));
dtmf_253328735_2.sample(in_253328735_2); \\ код ФЛПрог
и
\\ код библиотеки
void DTMF::sample(int sensorPin)
{
// El_Supremo
// To toggle the output on digital pin 4
const unsigned char f_counter = 0x10;

for (int index = 0; index < N; index++)
{
testData [index]= analogRead(sensorPin);
// El_Supremo
// toggle bit 4 for a frequency counter
PORTD ^= f_counter;
}
}
получается, что библиотека делает следующее:
testData [index]= (analogRead (analogRead (0))), т.е. вычисляет АЦП со входа, который вычислился в АЦП.

На вход блока подайте НОМЕР ПИНА, а не аналоговое значение. А лучше этот вход уберите в параметры пользователя, чтоб не смущал. И назовите его "pin".
Последний раз редактировалось Boroda 28.03.2017{, 21:38}, всего редактировалось 1 раз.

densso
Рядовой
Сообщения: 25
Зарегистрирован: 16.03.2017{, 18:53}
Репутация: 0

Скорость работы FLProg и Ардуино

#6

Сообщение densso » 28.03.2017{, 21:37}

Да, заказал  MT8870. Библиотека и скетч в первом сообщении. Попробую переделать.

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 36
Откуда: Коломна
Имя: Станислав
Контактная информация:

Скорость работы FLProg и Ардуино

#7

Сообщение Boroda » 28.03.2017{, 21:40}

Ну зато с разъемом, лампочками, платой.

densso
Рядовой
Сообщения: 25
Зарегистрирован: 16.03.2017{, 18:53}
Репутация: 0

Скорость работы FLProg и Ардуино

#8

Сообщение densso » 28.03.2017{, 23:00}

Поправил, летает. Оператор МТС Москва. Спасибо. Как получу MT8870 попробую сним.

Аватара пользователя
Anydy
Администратор
Сообщения: 3269
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Скорость работы FLProg и Ардуино

#9

Сообщение Anydy » 28.03.2017{, 23:43}

Boroda писал(а):Ну зато с разъемом, лампочками, платой.
 и не говори...
densso писал(а):Оператор МТС Москва
До чего обленились....в китае заказывают то что в москве 50 рублей стоит...лишь бы просто в дырдочку проводочком попасть...
Все понятно, удачи !

densso
Рядовой
Сообщения: 25
Зарегистрирован: 16.03.2017{, 18:53}
Репутация: 0

Скорость работы FLProg и Ардуино

#10

Сообщение densso » 06.04.2017{, 10:20}

Anydy писал(а):в китае заказывают то что в москве 50 рублей стоит
До Москвы и обратно, 500 руб., золотая плата.

aidar_i
Полковник
Сообщения: 2574
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 448
Откуда: Уфа
Имя: Айдар
Контактная информация:

Скорость работы FLProg и Ардуино

#11

Сообщение aidar_i » 06.04.2017{, 10:39}

Программный DTMF хорошо работает, во всяком случае у меня, даже на макетной плате.

Ответить

Вернуться в «Спросить у знатоков»