Arduino MEGA-2560 R31 Prototype Screw Terminal

Подключение 4х проводного дымового пожарного извещателя ИП212-45 к цифровому входу Ардуино

В этом посте я расскажу как можно подключить 4х проводный дымовой пожарный извещатель ИП212-45 к цифровому входу Ардуино. Про метод подачи питания на извещатель вы можете прочитать в посте Подключение 4х проводного дымового пожарного извещателя к Ардуино, здесь используется тот же принцип. В данном примере я использовал оптореле AQW212. Оно сильно дешевле отечественных, особенно если заказывать у наших китайских братьев. Сразу оговорюсь о минусах и плюсах подключения к цифровому входу. Из плюсов – мы экономим аналоговые входы и самое главное – меньше зависим от возможных перепадов напряжения, т.к. при подключении к аналоговому входу мы использовали делители напряжения, на которых это... Читать далее...

Автоматическое создание атрибутов блоков в автокад. LISP.

По просьбе подписчика с моего канала на YouTube выкладываю скрипт на языке LISP для создания атрибутов блоков, из поста Демонстрация работы связки AutoCad и MS SQL для создания смет, спецификаций и др.. Для товарищей, которые считают себя гуру LISP : не нравится – не используйте. Я не претендую на звание супер-разработчика. У меня работает и мне этого достаточно. Собственно лисп: (defun c:attsCreate ( / ) (defun-q createLayer (layerName layerColor / ) (entmakex (list (cons 0 "LAYER") (cons 100 "AcDbSymbolTableRecord") (cons 100 "AcDbLayerTableRecord") (cons 2 layerName) (cons 70 0) (cons 62 layerColor) ) ) ;------Return--------- ; ; ;---Call parametrs---- ; ;... Читать далее...

Болид Орион Про. Запрос для добавления прохода через определенную точку доступа в указанное время.

По просьбе одного из читателей моих заметок я написал запрос к базе данных Болид Орион Про для добавления прохода через определенную точку доступа в указанное время. Сразу оговорюсь – у меня не установлен Орион Про и нет генератора отчетов, поэтому данный запрос пока находится на стадии тестирования. Есть еще один момент: есть в таблице pLogData столбец NumCom который по описанию Болида отвечает за “Номер записи по конкретному компьютеру”. Я не знаю на сколько для генератора отчетов важно сопоставление этого столбца и столбца TimeVal. Ведь при внесении данных в таблицу позднее, получается что большее значение NumCom соответствует раннему значению времени. Так... Читать далее...

Dragino Yun Shield & Arduino Mega 2560

Dragino Yun Shield. Симбиоз Linux OpenWRT и Arduino. Видео.

Всем привет. Этот пост посвящен тому, как можно существенно расширить возможности платформы Arduino за счет соединения с платформой Linux. В принципе, такая платформа уже придумана – это Arduino Yún. Однако есть альтернатива – Dragino Yun Shield. Особенность данной платформы в том, что шилд можно соединять с разными платформами Arduino, например с Arduino Mega. Таким образом мы получаем огромный функционал. С помощью карты флешпамяти можно значитель расширить память Dragino Yun Shield. Полноценный SSH клиент и сервер, FTP, базы данных, почтовый клиент или целый сервер, не сложный в изучении язык Python для скриптов и многое другое становится возможным. В данном посте я... Читать далее...

ИП 212-45 и ARDUINO MEGA

Подключение 2х проводного дымового пожарного извещателя к Ардуино (Пожарная сигнализация на Ардуино)

После публикации про подключение 4х проводного дымового пожарного извещателя к Ардуино появились вопросы: как подключить к ардуино 2х проводный дымовой пожарный извещатель (датчик). Предлагаю вам свою версию решения данного вопроса. Для теста я использовал извещатель пожарный дымовой оптико-электронный ИП 212-45. Ниже приведены интересующие нас характеристики, взятые из паспорта на извещатель, для подключения его к Ардуино. Итак, как мы видим, питание у нас 9-30 В. Я рекомендую использовать резервированный источник питания на 12В. Этого нам хватит для питания всех устройств сигнализации: извещателей, оповещателей и т.д. плюс саму ардуинку можно запитать от 12В. Далее, идея в общем-то та же что и при... Читать далее...

Библиотека и скетч для работы с 4х проводным дымовым пожарным извещателем с Ардуино (Пожарная сигнализация на Ардуино)

Продолжаем тему пожарной сигнализации на ардуино. В прошлом посте Подключение 4х проводного дымового пожарного извещателя к Ардуино мы рассмотрели один из вариантов подключения извещателя пожарного дымового оптико-электронного точечного ИП 212-147 к ардуино. На основе этого способа подключения, с помощью которого путем нехитрых преобразований можно подключить любой 4х проводный извещатель и была написана библиотека SmokeLoop. Она включает в себя также более простые библиотеки (Loop и Timer) также написанные мной. Данная библиотека реализует распространенный способ анализа аналогового пожарного шлейфа для определения возгорания по нескольким сработкам. Логика простая – контроллер анализирует напряжение на шлейфе, при возникновении задымления и сработке извещателя на пине, который... Читать далее...

Подключение 4х проводного дымового пожарного извещателя к Ардуино (Пожарная сигнализация на Ардуино)

В этом посте я расскажу о том как подключить 4х проводный пожарный датчик (дымовой пожарный извещатель) к ардуино. Вся “сложность” заключается лишь в том что хорошие дымовые пожарные извещатели, которые имеют сертификат соответствия ФЗ-123, запитываются минимум от 9 вольт. Поэтому я использую именно 4х проводные извещатели для подключения к ардуино, так как питание у них идет по отдельной паре проводов. Для корректной работы от ардуинки нам понадобится два пина. Один – аналоговый для измерения падения напряжения в шлейфе сигнализации, второй – цифровой для управления питанием извещателя для его перезапуска в целях реализации правильного алгоритма работы извещателя и защиты от ложных... Читать далее...

Отправка почты с помощью ARDUINO.

В этом посте я представлю вашему вниманию две библиотеки для отправки почты с ардуино. Все началось с того, что мне понадобилось отправлять некоторые данные с ардуино при наступлении определенного события. Рассматривался вариант отправки СМС с SIM900, но СМСки платные, а интернет все равно оплачен и к тому-же, на любом смартфоне есть возможность принимать почту. Таким образом я остановился на почте. Отправка почты с ардуино оказалась делом не сложным. Однако выяснилось что все крупные монополисты в области почты (Яндекс, Гуголь и Мэйл) перешли на защищенные TLS соединения (в целях обеспечения вашей безопасности…:). К сожалению простая ардуинка не может устанавливать такие соединения... Читать далее...

Обновленная библиотека для управления реле в ARDUINO

Возможности библиотеки: Включить реле Включить реле на время Выключить реле Выключить реле на время Переключить реле в противоположное состояние Мигать по маске в 32 бита с заданным интервалом Мигать звуком по маске в 32 бита с заданным интервалом и заданной частотой при подключении пьезо-электрического источника звука (пищалки) Файлы библиотеки: Relay.h #ifndef Relay_h#define Relay_h #include "Arduino.h"#include "Timer.h"class Relay {public:/*constructors*/ Relay(); Relay(uint8_t pin, uint8_t initCond);/*methods*/ uint8_t on(uint32_t time = 0); /*Устанавливает включает реле, если передается не обязательный параметр time то осуществляется включение реле на указанное время в мс*/ uint8_t off(uint32_t time = 0); /*Устанавливает выключает реле, если передается не обязательный параметр time то... Читать далее...

Задержка в ARDUINO без delay(), с проверкой millis() на переполнение.

В этом посте вы можете скачать маленькую библиотеку для ARDUINO в которой реализован таймер для создания задержки в ARDUINO без delay() с проверкой millis() на переполнение. В необходимости реализации задержки без delay сомнений нет, т.к. останавливать работу всего устройства для ожидания чего-либо это не корректно. Можно конечно копипастить в каждый скетч одну и ту же функцию, но реализация задержки с помощью объекта гораздо проще. Файлы библиотеки: Timer.h #ifndef Timer_h#define Timer_h #include "Arduino.h"class Timer {public: Timer(); //конструктор по-умолчанию Timer(uint32_t delayTime); //конструктор №1, принимает время задержски в мс enum timerState { READY, COUNTDOWN, DELAY_OVER, PAUSED }; void delay(); //выполняет задержку, результат сохраняет в... Читать далее...