Уважаемые пользователи! Наш сайт и форум содержится на средства полученные от рекламы. Если вы хотите и дальше продолжать общаться, скачивать, и т.п. пожалуйста отключите блокировку рекламы для нашего сайта/форума. Мы не обязываем Вас переходить по рекламным ссылкам, просто она должна отображаться у вас в браузере. Реклама размещена ненавязчиво, сверху и снизу страницы, на прочтение основного материала никак не влияет! Спасибо за понимание!

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

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

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

#1

Сообщение Гость » 09.09.2015{, 14:19}

На форуме нет такой темы, по этому её создал... Изображение
Последний раз редактировалось Anydy 09.09.2015{, 15:12}, всего редактировалось 1 раз.

Гость

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

#81

Сообщение Гость » 23.02.2017{, 11:03}

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

Гость

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

#82

Сообщение Гость » 24.02.2017{, 10:39}


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

и методика подготовки файлов здесь : http://cxem.net/arduino....]
Вложения
arduino107_WAV_.zip
(1.28 МБ) 52 скачивания
_vaw__sd2-CODE-.ubi
(31.45 КБ) 47 скачиваний
SDss2.flp
(98.24 КБ) 53 скачивания
Последний раз редактировалось Anydy 24.02.2017{, 17:16}, всего редактировалось 1 раз.

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

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

#83

Сообщение aidar_i » 25.02.2017{, 15:09}

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

Гость

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

#84

Сообщение Гость » 25.02.2017{, 16:35}

Даю пример с тремя кнопками(или входами) , остальные добавьте сами.
Вложения
primer_12_out.flp
(148.69 КБ) 69 скачиваний

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

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

#85

Сообщение aidar_i » 25.02.2017{, 23:42}

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

Гость

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

#86

Сообщение Гость » 25.02.2017{, 23:59}

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

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

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

#87

Сообщение aidar_i » 27.02.2017{, 19:52}

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

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

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

#88

Сообщение Anydy » 28.02.2017{, 09:34}

Я пробовал программно, глюкодром полный, и не со всеми операторами работает. Купил микруху за 50р и все стало ништяк.

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

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

#89

Сообщение aidar_i » 28.02.2017{, 14:42}

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

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

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

#90

Сообщение aidar_i » 28.02.2017{, 14:46}

Добавил блоки
Вложения
_DTMF.rar
(672.11 КБ) 57 скачиваний

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

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

#91

Сообщение aidar_i » 01.03.2017{, 11:46}

Пока нет ответа. Прикрепляю эскиз блока, чтобы можно уменьшить объем работы и скетч Осипова. В скетче нужно изменить, чтобы вход и выходы не были привязаны к пинам Ардуино (задать пременные?).
Вложения
Arduino_DTMF_De.txt
(1.08 КБ) 42 скачивания
__DTMF_yf_12_.flp
(177.08 КБ) 44 скачивания

Аватара пользователя
ДедОк
Рядовой
Сообщения: 21
Зарегистрирован: 31.10.2016{, 13:48}
Репутация: 0
Откуда: Славута

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

#92

Сообщение ДедОк » 03.03.2017{, 00:04}

Блок управления четырехразрядным  семисегментным индикатором на ТМ1637 использует два пина Ардуины.
Вложения
1637_-CODE-.ubi
(94.68 КБ) 70 скачиваний

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

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

#93

Сообщение aidar_i » 03.03.2017{, 17:03}

aidar_i писал(а):Нужна помощь в создании (если есть , где искать?) блок программного декодера DTMF.
Создать вход для сигнала (А0) получается,создал выходы блока, работают с кнопки * и # ,  с остальных не могу сделать, посмотрите код, как можно исправить?
Вложения
__DTMF_10_.flp
(220.76 КБ) 39 скачиваний
Последний раз редактировалось aidar_i 03.03.2017{, 18:36}, всего редактировалось 1 раз.

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

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

#94

Сообщение aidar_i » 04.03.2017{, 04:01}

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

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

Аватара пользователя
DrMario
Сержант
Сообщения: 159
Зарегистрирован: 07.11.2016{, 13:11}
Репутация: 19
Откуда: Камень-на-Оби
Контактная информация:

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

#95

Сообщение DrMario » 04.03.2017{, 08:02}

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

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



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

Буду рад, если такой способ ввода кому нибудь пригодится.
Пример способа прилагаю.
Вложения
Management_Comm.flp
(662.11 КБ) 44 скачивания
9218514.jpg
8010091.jpg
2252117.jpg
Последний раз редактировалось DrMario 04.03.2017{, 08:10}, всего редактировалось 1 раз.

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

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

#96

Сообщение aidar_i » 04.03.2017{, 12:31}

Вот вставил блок - Block soft program Arduino  for FLProg  http://flprog.ru/load....1-0-263
Последний раз редактировалось aidar_i 04.03.2017{, 12:32}, всего редактировалось 1 раз.

Аватара пользователя
RedSky
Лейтенант
Сообщения: 337
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 47
Откуда: Днепропетровск
Имя: Алексей

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

#97

Сообщение RedSky » 04.03.2017{, 17:52}

На основе блока от nik2-2005 сделал блок для DS18B20 с контролем работоспособности датчика. Прошу знающих людей проверить право данной схемы на жизнь. Не совсем разобрался с контрольными суммами, так как сдирал с готовых примеров. В блоке сравниваются crc расчитаные и фактические (насколько я правильно понял примеры) и в случае равенства выход OK устанавливается в true. Выходы crc и raw сделал для наглядности. Возможно есть более простой способ диагностировать обрыв датчика, но у меня в случае обрыва просто температура становится -0,0625 до перезагрузки.
Вложения
ds18b20_CRC-COD.ubi
(55.3 КБ) 47 скачиваний

OlegAn1962
Лейтенант
Сообщения: 361
Зарегистрирован: 07.09.2015{, 23:53}
Репутация: 0

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

#98

Сообщение OlegAn1962 » 04.03.2017{, 19:29}

А блок сканирования шины не помогает?

Аватара пользователя
RedSky
Лейтенант
Сообщения: 337
Зарегистрирован: 19.12.2016{, 20:07}
Репутация: 47
Откуда: Днепропетровск
Имя: Алексей

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

#99

Сообщение RedSky » 04.03.2017{, 21:51}

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

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

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

#100

Сообщение Boroda » 04.03.2017{, 23:59}

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.03.2017{, 23:59}, всего редактировалось 1 раз.

Ответить

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

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

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