Страница 6 из 9
Блоки пользователей
Добавлено: 05 мар 2017, 10:36
RedSky
Сделал по совету от Boroda, только для всех 9-и байт т. к. ситуация когда байты [0-4]==255 является нормальной(Т=-0,0625) и появлялась ложная ошибка. Выкладываю исправленный блок, может пригодится кому не будь. Проверка CRC осталась.
Блоки пользователей
Добавлено: 05 мар 2017, 11:47
Boroda
RedSky, почитал PDFку: достаточно взять 0, 1 и 8й байты. Это температура и CRC. В остальных могут быть вообще нули.
Блоки пользователей
Добавлено: 19 мар 2017, 19:00
Olejon
Ребята, если не трудно, сделайте блок для управления BLDC двигателем (с датчиками холла). В связи с развитием электротранспорта, это сейчас очень нужная штука. Не хватает способностей самому сделать, старый уже. Без синусоиды и регулироки мощности, как в куллере, сделать не сложно, но вот чтобы по нормальному, с шимом и тд... ну никак
Блоки пользователей
Добавлено: 27 мар 2017, 19:48
igrik1972
а можно соеденить два блока 8INT to UART к примеру с одного на другой потом аж в UART
Блоки пользователей
Добавлено: 27 мар 2017, 21:27
densso
Доброго времени суток. В продолжении темы DTMF, пытался сделать блок имитации нажатия кнопок на определенное время, но без фиксации. Не пошло. Не могу понять, что не так. Делал для замены 4 портов на один.
Если написать скетч в редакторе Ардуино для конкретных пинов, то все работает.
Блоки пользователей
Добавлено: 27 мар 2017, 22:25
Boroda
densso писал(а):Если написать скетч в редакторе Ардуино для конкретных пинов, то все работает
Так не будет работать.
У вас out0=1;delay(500);out0=0;
Программа пробегает по всем if/else, а при выходе из блока имеем: out0=0,out1=0,out2=0,out3=0... (наружу одни нули уходят)
Сейчас перепишу блок.
Блоки пользователей
Добавлено: 27 мар 2017, 22:49
Boroda
densso, ну вот как-то так будет. Импульс на выходах на один цикл программы.
Блоки пользователей
Добавлено: 28 мар 2017, 08:04
RedSky
К вопросу wizard007, о DS18.
Блок служит для опроса одного датчика (только один датчик на один пин). Пин указывается в настройках блока (параметр pins).
Опрос происходит постоянно при высоком уровне на входе in (нужно использовать генератор и Rtrigger для периодического опроса раз за цикл).
На выходе crcOK единица когда контрольные суммы расчётная и от датчика равны. На выходе error единица если от датчика не поступают данные.
В приложенном примере реализован поиск датчиков после включения и потери связи с максимальной частотой(750 мс) и рабочая частота опроса (3с) с целью уменьшения саморазогрева.
Блоки пользователей
Добавлено: 28 мар 2017, 11:43
densso
Boroda, спасибо за помощь, все работает. Я не учел особенности написания кода в блоках.
Блоки пользователей
Добавлено: 30 мар 2017, 23:26
aidar_i
У меня вопрос по СД блоку, выложенному здесь. Как код СД блока сделать одной строкой , чтобы файлы проигрывались только подачей индекса со входа? Чтобы индекс вставлялся вместо "файл" в (tmrpcm.play("файл"); ). Расширение аудиофайлов будет убираться.Сейчас все файлы ( у меня 28шт) прописаны внутри кода блока . Нужно для уменьшения веса программы.
Блоки пользователей
Добавлено: 31 мар 2017, 17:20
aidar_i
Вот проект для проверки.
Добавлено (31.03.2017, 17:20)
---------------------------------------------
Уважаемый, Boroda! Ваша помощь требуется!
Блоки пользователей
Добавлено: 31 мар 2017, 22:04
Boroda
aidar_i, сейчас проигрывается (out_in-48) файл или это не работает? Просто хотите от конвертора избавиться? Файлы называются: "0", "1", "2"...?
Блоки пользователей
Добавлено: 31 мар 2017, 23:11
aidar_i
Да, out_in-48 = 0,1,2,-11(это сделано для испытания).
С термодатчика зайдут через переключатель интежер данные. Да файлы называются: "0", "1", "2"...? Так как термодатчик задействует файлы от -30 до 30, то для выходов 1,2,3,4 будут задействованы данные 49,50,51,52 (out_in = tishar). Режим монторинга будет с выхода * ли как у Грачика кнопки 5-8. Файлов будет или 70, или будет прикручен голосовой термометр -40 +40 (у него проблема в весе из за СД блока, но всего 28 файлов).
Попробовал с массивами сделать (на 28 файлов) - начал работать при 83% занимаемых памяти переменными, прежний блок работает при 79 %. Где то читал нужно свободной памяти 400 байтов.
Пробовал убирать лишние выходы ДТМФ декодера, освобождается пару байтов. Как прикручиваю термодатчик 84% уже не работает.
Мне нужно уменьшить вес , чтобы для переменных осталось место около 400 байтов. Мой проект "Удаленное управление" выложенный здесь на сайте влезает только в МЕГУ. В Нано - только с покупным DTMF модулем.
Пробую так if(pl = = 1) tmrpcm.play(ind); где ind вход блока СД - не работает. Как бы так сделать , чтобы внутри программы не прописывались бы аудиофайлы.
Второй (или дополнительный) путь уменьшить как то объем DTMF блока. Нельзя его сделать без дешифратора? 5 выводов, из них 4 коды, один нажатие кнопки. Может так будет полегче?
Прикрепляю блок СД сделанный с массивами файлов.
Блоки пользователей
Добавлено: 31 мар 2017, 23:33
Boroda
aidar_i писал(а):5 выводов, из них 4 коды, один нажатие кнопки.
Какие коды? У Вас только ИНТ и Стринг выходят, откуда еще 2 кода?
Блоки пользователей
Добавлено: 01 апр 2017, 00:11
aidar_i
С ДТФМ модуля (как у Грачика) выходят коды 0001, 0010, 0011 и так далее.
Блоки пользователей
Добавлено: 01 апр 2017, 00:16
Boroda
Тестируйте!
П.С. поздно написали... смотрите далее.
Блоки пользователей
Добавлено: 01 апр 2017, 00:45
Boroda
Переделал.
Добавлено (01.04.2017, 00:38)
---------------------------------------------
Сейчас посмотрел Ваш проект... А че так много лишнего? Одних RTrig на половину кода. Блок DTMF на 1 цикл выдает импульс, RTrig не нужны, выкидывайте их. Плата "термодатчик" с кучей коробок-дешифраторов... Жуть Как страшно жить.
Добавлено (01.04.2017, 00:45)
---------------------------------------------
Так... переделываю блок на отдельные выходы кнопок, иначе вы закопаетесь... Для звука ставим выход INT от 0 до 12. 0 - нет кнопки, 1-12 - коды кнопок.
Блоки пользователей
Добавлено: 01 апр 2017, 06:50
aidar_i
Спасибо! Проект мой первый, сделал как мог, нужно было получить результат. Выложил, чтобы покритиковали, улучшить помогли. А так все работает хорошо. Во втором варианте я выкинул кучу триггеров, но все равно не влезал в Нано, пришлось и DTMF блок выкинуть. Термометр голосовой можно выкинуть и подсоединить напрямую с Вашим СД блоком. Сегодня попробую переделать и испытать с Вашими блоками .
Блоки пользователей
Добавлено: 01 апр 2017, 13:16
Boroda
aidar_i, получилось освободить только 331 байт оперативки, дальше никак. Даже не родной блок DS18b20 поставил. Библиотеки очень жирные.
П.С. поправьте номера треков во всем проекте.
Блоки пользователей
Добавлено: 01 апр 2017, 16:57
aidar_i
Вы уже проект подкорректировали!
Уже хорошо! Если не выходить за пределы 83% занимаемой памяти переменными СД блок работает. У Вас как раз 83%. Я еще уберу вход систему, он не нужен.
Сейчас проверял Ваш СД блок - не запустился, и отдельно пробовал подав в ind цифру файла и подключив СД через R триггер к true, старые СД блоки работают. Посмотрите еще раз.