Блоки пользователей

Пользовательские блоки не подходящее под другие разделы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Гость

Блоки пользователей

Сообщение Гость »

[hr][/hr]
aidar_i писал(а):Испытал, не заработал. Вставил в конце delay(20000); начал проигрывать длительностью 20 с, проверил при разных индексах. Но проигрывает циклически непрерывно. Как прервать после первого воспроизведения?
Вот рабочий блок с примером.

и методика подготовки файлов здесь : http://cxem.net/arduino....]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Гость 24 фев 2017, 17:16, всего редактировалось 1 раз.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

Проверил-работает!
В моем DTMF модуле 12 выходов (выходы в блок SD добавил), при нажатии на кнопку тф включается канал, при повторном выключается. Дешифратор и триггер встроен в модуль. Я попробовал включить, добавив 12 блоков СД и прописав константы на каждый канал, все хорошо работает, но программа получается громоздким. Сделать проект, используя только один блок и изменением индекса при переключении каналов, не получается пока. Может поможете? Нужен блок, когда на вход подана "1" , он выдает на выходе  записанный в него индекс.
Спасибо!
Последний раз редактировалось aidar_i 25 фев 2017, 15:15, всего редактировалось 1 раз.
Гость

Блоки пользователей

Сообщение Гость »

Даю пример с тремя кнопками(или входами) , остальные добавьте сами.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

Большое спасибо! Все отлично работает, можно собирать проект. Я не знал , что с переменными можно так работать. Программа получается компактно и красиво!
Гость

Блоки пользователей

Сообщение Гость »

aidar_i писал(а):Большое спасибо! Все отлично работает, можно собирать проект. Я не знал , что с переменными можно так работать. Программа получается компактно и красиво!
На здоровье, удачи!
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

Нужна помощь в создании (если есть , где искать?) блок программного декодера DTMF. Хотел сам сделать из скетча Осипова, но там привязаны пины и ардуино превращается в DTMF декодер с дешифратором, чтобы еще что то запрограммировать нужен второй ардуино. А мне нужен просто блок со входом (можно привязанным к А0), 4 выводами кода и выводом stq (всего 5 ), чтобы внутри проекта использовать. Блок дешифратора я сам сделал с проекта Грачика, второй покупной модуль DTMF с 5 выводами работает, но еще хочу сделать проект без готовых модулей.
Anydy

Блоки пользователей

Сообщение Anydy »

Я пробовал программно, глюкодром полный, и не со всеми операторами работает. Купил микруху за 50р и все стало ништяк.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

У меня их 2 шт. Но нужен программный, скетч Осипова работает хорошо.
Вот сделал на его основе блок. Прикрепляю пример, там 2 блока. Первый по Осипову. Ардуино превращается в DTMF декодер с дешифратором. Второй , как я хочу видеть (количество выходов можно до 12 добавить), но он не рабочий, тк я не умею писать программу, прошу опытного скетчиста помочь.
Еще, если использовать первый блок, его выход (например пин 2) соединить другим пином МК (например А1) будет работать? Тогда можно вставить этот блок в проект и там же сделать проигрывание сд карты, замер температуры.
Последний раз редактировалось aidar_i 28 фев 2017, 14:44, всего редактировалось 1 раз.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

Добавил блоки
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

Пока нет ответа. Прикрепляю эскиз блока, чтобы можно уменьшить объем работы и скетч Осипова. В скетче нужно изменить, чтобы вход и выходы не были привязаны к пинам Ардуино (задать пременные?).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
ДедОк
Рядовой
Сообщения: 23
Зарегистрирован: 31 окт 2016, 13:48
Откуда: Славута

Блоки пользователей

Сообщение ДедОк »

Блок управления четырехразрядным  семисегментным индикатором на ТМ1637 использует два пина Ардуины.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

aidar_i писал(а):Нужна помощь в создании (если есть , где искать?) блок программного декодера DTMF.
Создать вход для сигнала (А0) получается,создал выходы блока, работают с кнопки * и # ,  с остальных не могу сделать, посмотрите код, как можно исправить?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 03 мар 2017, 18:36, всего редактировалось 1 раз.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

Добавляю блок.

Добавлено (04.03.2017, 04:01)
---------------------------------------------
Сделал все таки за ночь блок, пришлось немного изучить язык. Проверил-работает! Можно прикрутить к нему в FLProge блок СД (см выше), термодатчик и тп.
Выложу позже, если кому интересно. Блок прикрепленный здесь старый недоделанный, не знаю как удалить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось aidar_i 04 мар 2017, 04:04, всего редактировалось 1 раз.
Аватара пользователя
DrMario
Лейтенант
Сообщения: 378
Зарегистрирован: 07 ноя 2016, 13:11
Откуда: Камень-на-Оби
Имя: Евгений
Контактная информация:

Блоки пользователей

Сообщение DrMario »

Всем здрасти!
Хочу поделится способом ввода управляющих команд для изменения значения разных переменных с контролем изменяемого значения. Эти команды управления еще называют AT командами. Если управляющих команд много, то преимущество этого способа очевидно. Не нужно заботится о количестве вводимых символов, необходимо только указать, с какого индекса будут начинаться изменяемое значение. Если терминальная программа в конце добавляет символ перевода строки, то этот символ автоматически удаляется.
Такой способ я применяю для удаленного управления разными устройствами. Изменяемое значение контролируется по факту его изменения, эти данные можно сохранять в логе если это необходимо.
Ограничения:
1. Вводимые команды критичны к регистру.
2. Длина строки вводимых данных не должна превышать 16 текстовых символов без символа перевода строки или 15 - с наличием этого символа.
Если количество вводимых данных превышено, то выводится сообщение об ошибке с блокировкой изменения значения переменной. Обычно для команд управления этого вполне достаточно.
На плате 1 находится непосредственно формирователь вводимых данных.

На плате 2 я привел четыре примера для изменения разных переменных. В примере 3 есть два блока пользователя.



Теперь по командам:
После команды Comm1 вводится любое десятичное число
После команды Comm2 вводится любой текст
После команды Comm3 вводится 16-тиричное значение одного байта (если вводимое значение меньше 0х10, то в контролируемом значении добавляется ноль (работа блока пользователя).
После команды Comm4 вводится 0 или 1

Буду рад, если такой способ ввода кому нибудь пригодится.
Пример способа прилагаю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось DrMario 04 мар 2017, 08:10, всего редактировалось 1 раз.
aidar_i
Полковник
Сообщения: 3357
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 12 раз
Поблагодарили: 100 раз
Контактная информация:

Блоки пользователей

Сообщение aidar_i »

Вот вставил блок - Block soft program Arduino  for FLProg  http://flprog.ru/load....1-0-263
Последний раз редактировалось aidar_i 04 мар 2017, 12:32, всего редактировалось 1 раз.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

Блоки пользователей

Сообщение RedSky »

На основе блока от nik2-2005 сделал блок для DS18B20 с контролем работоспособности датчика. Прошу знающих людей проверить право данной схемы на жизнь. Не совсем разобрался с контрольными суммами, так как сдирал с готовых примеров. В блоке сравниваются crc расчитаные и фактические (насколько я правильно понял примеры) и в случае равенства выход OK устанавливается в true. Выходы crc и raw сделал для наглядности. Возможно есть более простой способ диагностировать обрыв датчика, но у меня в случае обрыва просто температура становится -0,0625 до перезагрузки.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07 сен 2015, 23:53

Блоки пользователей

Сообщение OlegAn1962 »

А блок сканирования шины не помогает?
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

Блоки пользователей

Сообщение RedSky »

Блок сканирования срабатывает однократно  при подаче единицы на вход EN. Что бы снова найти датчик нужно определить сбой, а как это сделать если у нас просто температура становится 0 градусов? Возможно стоит периодически сканировать шину?
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

Блоки пользователей

Сообщение Boroda »

RedSky, сделайте в блоке DS18B20 проверку сразу после цикла

error = 0;
if ((data[0] = 255) && (data[1] = 255) && (data[2] = 255) && (data[3] = 255)) {error = 1;}
if ((data[0] = 0) && (data[1] = 0) && (data[2] = 0) && (data[3] = 0)) {error = 1;}

error - дискретный выход блока.

Вот это и будет индикатором обрыва датчика или замыкания на землю. Можете конечно пробежаться по всем данным, но думаю это лишнее, четырех первых байт за глаза.
Последний раз редактировалось Boroda 04 мар 2017, 23:59, всего редактировалось 1 раз.
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

Блоки пользователей

Сообщение Boroda »

Блок энкодера со входом разрешения и дискретными выходами "Вверх" и "Вниз".
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Другое»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя