Страница 5 из 10

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

Добавлено: 09.09.2015{, 14:19}
Гость
На форуме нет такой темы, по этому её создал... Изображение

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

Добавлено: 23.02.2017{, 11:03}
Гость
Этот блок -набросок.
Попробуйте , отредактировать его в Си.
Вот здесь описание команд на Си  http://arduino.ru/Reference
Затем откройте папку vaw библиотеки ,там много примеров её использования

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

Добавлено: 24.02.2017{, 10:39}
Гость

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

и методика подготовки файлов здесь : http://cxem.net/arduino....]

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

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

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

Добавлено: 25.02.2017{, 16:35}
Гость
Даю пример с тремя кнопками(или входами) , остальные добавьте сами.

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

Добавлено: 25.02.2017{, 23:42}
aidar_i
Большое спасибо! Все отлично работает, можно собирать проект. Я не знал , что с переменными можно так работать. Программа получается компактно и красиво!

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

Добавлено: 25.02.2017{, 23:59}
Гость
aidar_i писал(а):Большое спасибо! Все отлично работает, можно собирать проект. Я не знал , что с переменными можно так работать. Программа получается компактно и красиво!
На здоровье, удачи!

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

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

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

Добавлено: 28.02.2017{, 09:34}
Anydy
Я пробовал программно, глюкодром полный, и не со всеми операторами работает. Купил микруху за 50р и все стало ништяк.

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

Добавлено: 28.02.2017{, 14:42}
aidar_i
У меня их 2 шт. Но нужен программный, скетч Осипова работает хорошо.
Вот сделал на его основе блок. Прикрепляю пример, там 2 блока. Первый по Осипову. Ардуино превращается в DTMF декодер с дешифратором. Второй , как я хочу видеть (количество выходов можно до 12 добавить), но он не рабочий, тк я не умею писать программу, прошу опытного скетчиста помочь.
Еще, если использовать первый блок, его выход (например пин 2) соединить другим пином МК (например А1) будет работать? Тогда можно вставить этот блок в проект и там же сделать проигрывание сд карты, замер температуры.

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

Добавлено: 28.02.2017{, 14:46}
aidar_i
Добавил блоки

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

Добавлено: 01.03.2017{, 11:46}
aidar_i
Пока нет ответа. Прикрепляю эскиз блока, чтобы можно уменьшить объем работы и скетч Осипова. В скетче нужно изменить, чтобы вход и выходы не были привязаны к пинам Ардуино (задать пременные?).

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

Добавлено: 03.03.2017{, 00:04}
ДедОк
Блок управления четырехразрядным  семисегментным индикатором на ТМ1637 использует два пина Ардуины.

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

Добавлено: 03.03.2017{, 17:03}
aidar_i
aidar_i писал(а):Нужна помощь в создании (если есть , где искать?) блок программного декодера DTMF.
Создать вход для сигнала (А0) получается,создал выходы блока, работают с кнопки * и # ,  с остальных не могу сделать, посмотрите код, как можно исправить?

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

Добавлено: 04.03.2017{, 04:01}
aidar_i
Добавляю блок.

Добавлено (04.03.2017, 04:01)
---------------------------------------------
Сделал все таки за ночь блок, пришлось немного изучить язык. Проверил-работает! Можно прикрутить к нему в FLProge блок СД (см выше), термодатчик и тп.
Выложу позже, если кому интересно. Блок прикрепленный здесь старый недоделанный, не знаю как удалить.

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

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

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



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

Буду рад, если такой способ ввода кому нибудь пригодится.
Пример способа прилагаю.

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

Добавлено: 04.03.2017{, 12:31}
aidar_i
Вот вставил блок - Block soft program Arduino  for FLProg  http://flprog.ru/load....1-0-263

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

Добавлено: 04.03.2017{, 17:52}
RedSky
На основе блока от nik2-2005 сделал блок для DS18B20 с контролем работоспособности датчика. Прошу знающих людей проверить право данной схемы на жизнь. Не совсем разобрался с контрольными суммами, так как сдирал с готовых примеров. В блоке сравниваются crc расчитаные и фактические (насколько я правильно понял примеры) и в случае равенства выход OK устанавливается в true. Выходы crc и raw сделал для наглядности. Возможно есть более простой способ диагностировать обрыв датчика, но у меня в случае обрыва просто температура становится -0,0625 до перезагрузки.

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

Добавлено: 04.03.2017{, 19:29}
OlegAn1962
А блок сканирования шины не помогает?

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

Добавлено: 04.03.2017{, 21:51}
RedSky
Блок сканирования срабатывает однократно  при подаче единицы на вход EN. Что бы снова найти датчик нужно определить сбой, а как это сделать если у нас просто температура становится 0 градусов? Возможно стоит периодически сканировать шину?

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

Добавлено: 04.03.2017{, 23:59}
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 - дискретный выход блока.

Вот это и будет индикатором обрыва датчика или замыкания на землю. Можете конечно пробежаться по всем данным, но думаю это лишнее, четырех первых байт за глаза.