Система "Умный дом" для загородного дома на Arduino Mega2560, HC-05, SIM900,DHT11,3-х DS18B20,RTC-DS1302

Nemo
Offline
Зарегистрирован: 07.03.2015

Slavyanin55 пишет:

1. Не подпускайте электриков к своему дому :)) Я как КИПовец их не долюбливаю. Ну это профессиональные особенности. КИПиА. Коллеги поймут. Лучше научитесь сами. Лучше вас никто не сделает. На Ютубе все показывают, как что делается. 

Согласен. Я серьезно думаю электрику сам тянуть. Смущает только то что могу неправильно расчитать разного рода защиты и автоматы в щитке. Много ньюансов как по трем фазам раскидать правильно дом, гараж, мастерскую с оборудованием, заземление опять же.... Боюсь что то важное упустить. 

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

А камеры я iP присматриваю. чтобы в интренет, и нарастить (добавить) было проще. Но, как я понял от установки рессифера не уйти все равно. А ip-видеонаболюдение денег стоит.

 

brokly
brokly аватар
Онлайн
Зарегистрирован: 08.02.2014

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

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

brokly пишет:

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

Ну их тоже можно понять. Они по договору охраны несут материальную ответственность за ваше имущество. И они должны быть уверены, что сигнализация сработает, не будет донимать ложными тревогами, и самое главное, что доступ к её настройкам ни у кого не будет.

А вообще никто не мешает, иметь два рубежа охраны. Вашу систему на ардуино, которая будет во много раз функциональнее, и предоставлять все возможные параметры в вашем жилище, плюс заниматься управлением "тех.процессами" в доме. И также пусть будет только охранная сигнализация от ОВО.

У меня вот помимо системы на ардуино, еще стоит сигнализация TAVR-GSM. Её я покупал очень давно для охраны мет. гаража. Так вот, пока я на ардуино не сделал программые фильтры помех, то были ложные срабатывания. Но я был спокоен, потому что TAVR-GSM не выдавал тревоги. 

Nemo
Offline
Зарегистрирован: 07.03.2015

Slavyanin55 пишет:

А вообще никто не мешает, иметь два рубежа охраны. Вашу систему на ардуино, которая будет во много раз функциональнее, и предоставлять все возможные параметры в вашем жилище, плюс заниматься управлением "тех.процессами" в доме. И также пусть будет только охранная сигнализация от ОВО.

Именно в этом направлении и думю двигаться. Рад что нашел единомышленника!

TigerFS
Offline
Зарегистрирован: 04.08.2014

Жаль что плюсануть можно только один раз...

Насчет ОПС для вневедомственной - ничего не мешает повешать на один из их шлейфов свой сигнал...

Периметр - можно попробовать связку по принципу излучатель - приемник, но на лазере в невидимом диапазоне, правда хз как оно будет работать (сработка от пролетевшего через луч листика от дерева, например).
Как другой вариант - установка рекордера для камер с вебинтерфейсом (просмотр камер через инет). Настроить режим охраны по движению в кадре. Тут все зависит от размеров участка. 

По поводу подключения котла - в теории схема такая: температура теплоносителя - есть функция от температуры воздуха на улице (температурный график). Почему корейцы не реализовали этот алгоритм в Вашем котле - загадка. Дальше комнатный термостат - если в комнате (квартире) холодно - даем разрешение на включение котла, иначе - котел выключен. Тут все просто. 

Второй вариант гораздо сложнее, суть его в расшифровке протокола. Задача крайне утомительная и, практически, не реализуемая. 

darukas
Offline
Зарегистрирован: 20.03.2015

darukas

knack
knack аватар
Offline
Зарегистрирован: 27.03.2012

Концов как то мало :) где управление климатом?

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

Вместо короба с 100500 просверленными отверстиями есть готовые с монтажными щелями(они там и есть пардон), шкафы большые но 80% там пустота

ganz
Offline
Зарегистрирован: 30.04.2014

1)Слишко много на 1 контроллер. Я бы разбил и добавил MR3020 как мозг можно даже с БД, а за ардуиной только сбор с датчиков. MR3020 менее глючен по работе с сетью, к меге по UART легко подключается, так как у Меги много Uart, то еще и на прошивку останется.

2) ИМХО Реле что у Вас способны управлять максимум светом. И то со временем контакты залипнут. Думали о SSR? Думаю после пятого раза мытья мойкой керхер от розетки в гараже, они (реле) выйдут из строя. Обратите внимание на реле.

3) Я так и не понял как у Вас осуществлен контроль за вкл/выкл? Включили болер/свет/насос/лампу - а потом уже включили питание в Ардуино. Сможет она понять, что у Вас что-то включено или выключено или перегарело? есть датчики GY-712? или еще хуже они без ардуино не включатся? 

ToteMeiSter
Offline
Зарегистрирован: 01.04.2015

Очень массивный скетч, не пробывали в среде по закладками разложить? 

Проще корректировать будет. Хотя это имхо

LittleBuster
Offline
Зарегистрирован: 08.01.2015

Нужно не по "закладкам" раскладывать, а на заголовочные и подключаемые файлы разбивать

Valerrka
Offline
Зарегистрирован: 10.04.2015
Здравствуйте! Не знаю по адресу ли я пишу. Скажите пожалуйста возможно ли имея такой модуль ENC28J60, Arduino Uno и компьютер (Ноутбук) на котором есть доступ к интернету через WiFi планшета, 
подключится к интернету.Так как я работаю по вахте, то доступ к интернету у нас только через телефон или планшет который лежит на подоконнике.Модуль если  ENC28J60 подключить по изернет кабелю компу, 
а с компа в интернет. Не судите строго если вопрос оказался глупым. Заранее большое спаибо
inspiritus
Offline
Зарегистрирован: 17.12.2012

Можно и штаны через голову одеть... Только вот зачем ? ESP8266 зацепит wifi без компа.

alen2002
Offline
Зарегистрирован: 23.06.2015

Slavyanin55

Не могли бы Вы выложить проект чертежей в формате компас

layNiko
Offline
Зарегистрирован: 25.06.2015

Slavyanin55

Доброго времени суток Вам и всем форумчанам! Я тоже не меньше восхищен и проделанной работой и кодом. Сам делаю нечто подобное, но меньшего масштаба - котел, вентиляция и водоснабжение. Пытаюсь прикрутить управление через СМС (температура котла и подобное), жестоко вырвал из Вашего кода часть касательно приёма СМС, не получилось, убрал весь код, оставил только приём СМС и реакцию на них - работает, НО как только после функции read_sms() в цикле ставлю задержку, а она подразумевается даже в чтении термодатчиков, реакция на СМС прекращается....

String currStr = "";
boolean isStringMessage = false;

void setup() {
  Serial.begin  (19200);
  Serial1.begin (19200); // GPRS Shield v2.2 SIM900
  ConfigSIM900(); // Конфигурируем SIM900
  delay(1000);

  pinMode(12, OUTPUT); 
  
  }


void loop () 
{
  sms_read();
  delay(3000);
}

void ConfigSIM900()
{
  Serial1.print("AT+CMGF=1\r");         //устанавливает текстовый режим смс-сообщения
    delay(100);
  Serial1.print("AT+IFC=1, 1\r");       //устанавливает программный контроль потоком передачи данных
    delay(100);
  Serial1.print("AT+CPBS=\"SM\"\r");    //открывает доступ к данным телефонной книги SIM-карты
    delay(100);
  Serial1.print("AT+GSMBUSY=1\r");   //запрет всех входящих звонков
    delay(100);
  Serial1.print("AT+CNMI=1,2,2,1,0\r"); //включает оповещение о новых сообщениях
    delay(300);
}

void sms_read() //_____Цикл чтения входящих СМС-сообщений______________     
{
    if (!Serial1.available()) return;

    char currSymb = Serial1.read();    
    if ('\r' == currSymb)
       {
         if (isStringMessage)
           {
            //если текущая строка - SMS-сообщение,
            //отреагируем на него соответствующим образом
                   if (!currStr.compareTo("OTO-ON"))   { digitalWrite(12, HIGH); Serial.println("KLIMAT CONTROL - ON"); } // Включение климат-контроля дома
              else if (!currStr.compareTo("OTO-OFF"))  { digitalWrite(12, LOW); Serial.println("KLIMAT CONTROL - OFF"); } // Выключение климат-контроля дома

            isStringMessage = false;
           }
         else {if (currStr.startsWith("+CMT")) { isStringMessage = true;}} //если текущая строка начинается с "+CMT",то следующая строка является сообщением
        currStr = "";
      } 
    else if ('\n' != currSymb) { currStr += String(currSymb);}
}

 

И ошибка в параметрах передаваемых СИМ900 (по крайней мере для моей):

 

AT+GSMBUSY=1,1\r 

Не воспринимается, в описании АТ команд указано 

<qote>

Write command: AT+GSMBUSY=<mode>    mode = (0,1,2)  0 - Enable 1 - Forbid 2 - Forbid, enable CSD calls

</qote>

DVV
Offline
Зарегистрирован: 27.06.2015

Добрый день Slavyanin55!

Огромное вам спасибо за выложенный проект. А вы не думали оттолкнуться от питания (создать на базе Дуни ИБП на аккумуляторах +солнечных батареях+генератора с выходом 12V для дальнейшего преобразования) дома, т.е. его автономки, далее регулировку или откл. эл.сети, воды, отопления, газа по аварии. 

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

layNiko пишет:

И ошибка в параметрах передаваемых СИМ900 (по крайней мере для моей):

 

AT+GSMBUSY=1,1\r 

Не воспринимается, в описании АТ команд указано 

<qote>

Write command: AT+GSMBUSY=<mode>    mode = (0,1,2)  0 - Enable 1 - Forbid 2 - Forbid, enable CSD calls

</qote>

 

Может заменить функцию delay(3000) на счетчик циклов? ну т.е. на таймер без delay 

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

Здравствуйте форумчане! Рад что мой проект пригождается людям. Спасибо за отзывы.

Давненько я уже не программировал. Сейчас некогда. Работа душит, и дома летом на участке дел много. Мотоцикл еще приобрел. Теплицы две сделал! может и до них автоматизация дойдет. А так продолжать проект, скорее всего буду зимой, когда времени свободного будет больше.

Система работает, если перестали приходить СМС, значит деньги на счету кончились. Управление в основном через СМС если дистанционно, а так ИК-пультом обычно. Bluetooth редко пользуюсь. Очень много идей и мест, где нужно что-то автоматизировать.

Люди пишут по VK.com вопросы задают, делятся идеями и наработками. Например человек приобрел видеокамеру ардуино. Фотографирует и сохраняет на флешку. Полезная штучка.

Главно за лето успеть кабелей на участке накидать по заборам, в гараж, в баню...

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

DVV пишет:

Добрый день Slavyanin55!

Огромное вам спасибо за выложенный проект. А вы не думали оттолкнуться от питания (создать на базе Дуни ИБП на аккумуляторах +солнечных батареях+генератора с выходом 12V для дальнейшего преобразования) дома, т.е. его автономки, далее регулировку или откл. эл.сети, воды, отопления, газа по аварии. 

Ну фантазировал немного на эту тему :) У меня под это дело не сложно будет запилить мою систему. Выход на крышу (солнечные батареи) есть! Выход в подпол (аккумуляторная) также все готово. Осталось перестелить крышу профнастилом, и можно городить солнечные батареи и солнечные аккумуляторы. Кстати сбои электроэнергии не редкое явление у меня в поселке.

Вот! еще и сама структура системы, т.е. от каждого электроприемника и выключателя отдельные кабели в центр идут. Переделать их на любое напряжение не проблема будет. Место для еще двух шкафов КИП тоже есть :)))

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

alen2002 пишет:

Slavyanin55

Не могли бы Вы выложить проект чертежей в формате компас

Да без проблем, приеду только домой! Вы мне вконтакте напомните пожалуйста, а то беда с памятью :)

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

ToteMeiSter пишет:

Очень массивный скетч, не пробывали в среде по закладками разложить? 

Проще корректировать будет. Хотя это имхо

Согласен! так удобнее будет, но не умею еще так делать... научусь, какие мои годы!

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

knack пишет:

Концов как то мало :) где управление климатом?

Вместо короба с 100500 просверленными отверстиями есть готовые с монтажными щелями(они там и есть пардон), шкафы большые но 80% там пустота

1 ) Климат будет, как только кабель дотяну и прицеплюсь к пульту

2 ) Это не пустота, это перспектива :)))

layNiko
Offline
Зарегистрирован: 25.06.2015

Slavyanin55 пишет:

Может заменить функцию delay(3000) на счетчик циклов? ну т.е. на таймер без delay 

Не уверен, что это поможет, так как этих dalay - в каждом опросе датчика температур, а датчиков 10 штук. Пока так и не победил эту проблему... Буду рыть в сторону принудительного чтения непрочитанных СМС и последующего удаления... 

Focus
Offline
Зарегистрирован: 05.04.2015

Подпишусь пожалуй...

bwn
Offline
Зарегистрирован: 25.08.2014

layNiko пишет:

Slavyanin55 пишет:

Может заменить функцию delay(3000) на счетчик циклов? ну т.е. на таймер без delay 

Не уверен, что это поможет, так как этих dalay - в каждом опросе датчика температур, а датчиков 10 штук. Пока так и не победил эту проблему... Буду рыть в сторону принудительного чтения непрочитанных СМС и последующего удаления... 

Если DS18B20, то там delay() вовсе без надобности.

layNiko
Offline
Зарегистрирован: 25.06.2015

bwn пишет:

Если DS18B20, то там delay() вовсе без надобности.

Именно они, но проверить уже не судьба... не понимаю каким образом, но убил свою мегу.... (( пойду в "аппаратные.." создам темку, хотя много чего перечитал - не получается

layNiko
Offline
Зарегистрирован: 25.06.2015

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

Jungo
Offline
Зарегистрирован: 07.09.2015

Привет! Огромная работа проделана вами! Вы молодец!

Сюда я попал наигравшись с системой Кситал - достали меня уже ее фокусы. Прошу у вас небольшого совета - с чего начать чтобы не совершить ошибок по комплектующим:

Вот мое небольшое ТЗ, так сказать на вырост

ТЗ Arduino
Контроль температуры в емкости в подвале
Контроль температуры в подвале
Контроль влажности в подвале
Включение увлажнителя в подвале
Включение обогревателя в подвале
Контроль температуры на улице
Контроль утечки воды в подвале в 2 точках
Перекрытие ввода ХВС в подвале
Контроль температуры в доме
Режим на контроле периметра при отъезде
Режим на котроле периметра при нахождении внутри
Реле - система полива
Оповещение о состоянии и изменениях по SMS и выгрузка изменений на ftp по gprs
Управление реле и постановкой на контроль через SMS

 

начинать я планирую с периметра и GSM

какой ардуино вы посоветуете мега уно или леонардо? и GSM шилд с учетом того как система будет расти

 

"Плохо что, плата GSM заточена для arduino UNO. На МЕГу тоже ставится, но делает не доступными пины меги."

шилд мне нужен точно - то есть получается мегу смысла брать нет?

 

alexandersciv
Offline
Зарегистрирован: 13.09.2015

Jungo пишет:

Привет! Огромная работа проделана вами! Вы молодец!

Полностью поддерживаю автора и в части благодарности и в части вопросов.

Когда можно ждать новых решений и рекомендаций?

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

alexandersciv пишет:

Jungo пишет:

Привет! Огромная работа проделана вами! Вы молодец!

Полностью поддерживаю автора и в части благодарности и в части вопросов.

Когда можно ждать новых решений и рекомендаций?

Благодарю!

Всем привет! А вот и я. Давно я не занимался своим УД. Как весной прекратил разработки, так и работает система сама. Зависаний не было. Если СМС переставали приходить, значит деньги на счету кончались. Ну и лампа ночной подсветки когда перегорела по ночам в туалет ходить стало очень не удобно. Купить её все забывал. Были срабатывания пож.датчиков, но по делу! Один раз я шлифмашинкой тукатурку подровнять решил. Пыль поднялась такая, что сработали пож датчики. И второй раз тоже сработали они же, но тут я болгаркой железную дверь пилил, замок вставлял.

Ну DHT11-й пару раз тревоги выдавал по температуре, но заказал DHT-22 придет поменяю.

Короче всё лето работы были на работе, на участке и в огороде... умным домом не занимался вообще.

Недавно сделал видеонаблюдение, но с ардуиной никак не завязано, но хочу завязать активацию видеорегистратора от ардуины. Так как считаю странным постоянную запись и перезапись диска без надобности.

Еще, хочу входные сигналы перекинуть с дискретных входов на аналоговые. Короче входов меги не хватать стало :) Заказ модуль с СД-картой, хочу логи температуры сделать. Кабель до пульта котла так и не проложил. Обязательно проложу, очень надо сделать дистанционное управление отоплением. Жена ругается, что дому требуется время для разогрева... а так послала бы СМС заранее.

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

В бане так ничего и не сделал, все таки хочу DS18B20 поставить, чтобы знать точную температуру. Был недавно случай, в печку накидал больших пней, и ушел довольный, прихожу в трусах с полотенцем, в в бане холодно. Потухло все и не горело все это время :) Короче надо автоматизировать.

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

Ну вообщем как то так!

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

Jungo пишет:

Привет! Огромная работа проделана вами! Вы молодец!

Сюда я попал наигравшись с системой Кситал - достали меня уже ее фокусы. Прошу у вас небольшого совета - с чего начать чтобы не совершить ошибок по комплектующим:

Вот мое небольшое ТЗ, так сказать на вырост

ТЗ Arduino
Контроль температуры в емкости в подвале
Контроль температуры в подвале
Контроль влажности в подвале
Включение увлажнителя в подвале
Включение обогревателя в подвале
Контроль температуры на улице
Контроль утечки воды в подвале в 2 точках
Перекрытие ввода ХВС в подвале
Контроль температуры в доме
Режим на контроле периметра при отъезде
Режим на котроле периметра при нахождении внутри
Реле - система полива
Оповещение о состоянии и изменениях по SMS и выгрузка изменений на ftp по gprs
Управление реле и постановкой на контроль через SMS

 

начинать я планирую с периметра и GSM

какой ардуино вы посоветуете мега уно или леонардо? и GSM шилд с учетом того как система будет расти

 "Плохо что, плата GSM заточена для arduino UNO. На МЕГу тоже ставится, но делает не доступными пины меги."

шилд мне нужен точно - то есть получается мегу смысла брать нет?

 

Бери МЕГУ и шилд на SIM900 обязательно, вообще бери то что популярно у людей на этом форуме.

Любые шилды можно проводами собрать друг сдругом, все равно бутербродом все не соединишь, переживать не стоит. Но бутербродом конечно красивее.

Так что: Мега, СИМ900, датчики температуры, релейные платы для разогреву, дальше потом можно докупить. Главное начать, а то многие покупают, и так в дело не претворяют. Потом в коробочку складывают. Главное шкафы прикупи побольше :))))

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

layNiko пишет:

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

Вот спасибо за ссылочку, работу с СМС-ками в своем коде считаю незавершонной. Нужно чтобы был и пароль и распознование цифры установки точной температуры отопления например. Также оперделитель номера добавить... ну короче, есть чего добавить.

alexandersciv
Offline
Зарегистрирован: 13.09.2015

Интересно как Вы планируете осуществить:

=Основные функции умного дома:

Охрана периметра в ночное время;=

Видео наблюдение будет включено в систему?

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

alexandersciv пишет:

Интересно как Вы планируете осуществить:

=Основные функции умного дома:

Охрана периметра в ночное время;=

Видео наблюдение будет включено в систему?

Очень просто, охрана периметра у меня уже сама включается с 00-30 до 6-45, если жильцы дома. Можно и врчную включать пораньше. Но обычно человек забывает про это.

А вот при срабатывании датчиков периметра, либо ардуина должна запустить видеорегистратор (у него есть для этого специальные ввода "ALARM"), либо шлейфа от датчиков через диоды можно связать с регистратором.

Т.е. у видеорегистраторов есть стандартный разъем DB9 (как COM порт у компа) там контакты 1.2.3.4 это тревожные зоны по каналам, 5 это общий GND. Далее 6,7 это выход с регистратора на сирену или еще что нибудь, потому что регистратор сам может работать как сигнализация при обнаружении движения. 8,9 это интерфейс RS485 для управления сервоприводами видеокамер.

Вот чтобы не велась бесполезная перезапись жесткого диска регистратора, можно сделать запись видео "по делу". Так же самому потом будет легко просматривать запись, потому что записаны будут только реальные события. И ещё, поскольку Ардуина включает везде освещение, то она может включать освещение, для более качественной видеозаписи с камер. ИК подсветка в камерах  это хорошо конечно, но не видно толком ничего.

varb
Offline
Зарегистрирован: 19.01.2015

Slavyanin55 пишет:

Опторазвязки я стараюсь делать где только можно. Оптопары, "убивают двух зайцев" 1. происходит согласование разных напряжений, 2-е гальваническая развязка и помеха защищенность. Мало ли чего бывает. Грозовые разряды, статика...  мне нужна надежность. + я не парюсь проводить кабели в близи с "помехами"

Опторазвязки у меня для гальванической изоляции входных и выходных дискретных сигналов. 

Вот интересно аналоги развязать возможно?

расскажите, еще, пожалуйста, "для тупых" про опторазвязки, где применены и какая от них польза.

раньше я думал, что опторазвязка нужна для замыкания 220В по команде с ардуины

Теперь я так понял, что все управляющие выходы/входы на ардуине опторазвязаны?

И при таком подходе почему 220В управляется "простыми" реле? оптические же круче вроде как

koloboc74
Offline
Зарегистрирован: 21.07.2015

Добрый день, скажите у вас реализован проект на android , если да то можно увидеть пульт как приложение , желательно с исходником.

artemnet5388
artemnet5388 аватар
Offline
Зарегистрирован: 02.01.2015

Всем привет Доброго времени ссуток, проект шикарный Slavyanin55 просто гений.Ребята подскажите пожалуйя пытаюсь сделать чтобы с датчика 18b20 показания писались в смс . Вот что у меня вышло

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#define ONE_WIRE_BUS A3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress Thermometer2 = {0x28, 0xFF, 0xD3, 0x4C, 0x6D, 0x14, 0x04, 0xA9 };          //                           28 FF C6 4D 6D 14 04 88
LiquidCrystal_I2C lcd(0x27,20,4); 
int btnPin = 4;
boolean prevBtn = LOW;
                                            

void setup() {
  Serial.begin(9600);
    delay(500);
 lcd.init();                      
 lcd.init();
 lcd.backlight();
 sensors.begin();
 sensors.setResolution(Thermometer2, 10);

 
}
void printTemperature(DeviceAddress deviceAddress) {float tempC = sensors.getTempC(deviceAddress);lcd.print(tempC);}
void loop() {
                                     
                                      
  sensors.requestTemperatures();
  lcd.setCursor(0,1);lcd.print("2-");printTemperature(Thermometer2);
 
  boolean currBtn = digitalRead(btnPin);
    if (prevBtn != currBtn && currBtn == HIGH) 
    {sendTextMessage();}
    prevBtn = currBtn;
   }
  
  void sendTextMessage() 
  {
    Serial.print("AT+CMGF=1");
    Serial.println((char)13);
    delay(900);
    Serial.println("AT + CMGS = \"+70000000000\"");
    delay(900);
    Serial.println('tempC' );
    delay(900);
    
    Serial.println((char)26);
    delay(900);
}

Присылает цифры 28739

Security000
Offline
Зарегистрирован: 30.10.2015

Вы гений. Пойду построю почти так же

mic19154
Offline
Зарегистрирован: 30.10.2015

Здравствуйте уважаемый разработчик! У меня такая проблема... Мне нужно один раз отправить команду  mp3_play (9) при нажатии кнопки и команду mp3_play (10) при ее восстановлению. Что я только не делал. То у меня она постоянно отправляется,то вообще arduino не понимает что я от нее хочу. вот код 

#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
const int buttonPin = 2;
int buttonState = 0;
void setup () {
    Serial.begin (9600);
    mp3_set_serial (Serial);    
  delay (100);
  mp3_set_volume (25);
  delay (100);
void loop() {
 
  buttonState = digitalRead(buttonPin);
 
 
  if (buttonState == HIGH) {
  
 mp3_play (9);
delay (5000);
mp3_stop ();
  }
 if (buttonState == LOW) {
mp3_play (10);
delay (5000);
mp3_stop ();
}
}

Вобщем при нажатии кнопки должен запуститься serial (9600) отпрпавить команду и остановиться,точно также при отжатии кнопки, Подскажите пожалуйста.

kirdab
Offline
Зарегистрирован: 31.10.2015

имхо это не система "умный дом"
это система "у меня в доме есть в подвале конструктор. жена пока до него не добралась..." ))
 

mic19154
Offline
Зарегистрирован: 30.10.2015

Здравствуйте уважаемый разработчик! У меня такая проблема... Мне нужно один раз отправить команду  mp3_play (9) при нажатии кнопки и команду mp3_play (10) при ее восстановлению. Что я только не делал. То у меня она постоянно отправляется,то вообще arduino не понимает что я от нее хочу. вот код 

#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>
const int buttonPin = 2;
int buttonState = 0;
void setup () {
    Serial.begin (9600);
    mp3_set_serial (Serial);    
  delay (100);
  mp3_set_volume (25);
  delay (100);
void loop() {
 
  buttonState = digitalRead(buttonPin);
 
 
  if (buttonState == HIGH) {
  
 mp3_play (9);
delay (5000);
mp3_stop ();
  }
 if (buttonState == LOW) {
mp3_play (10);
delay (5000);
mp3_stop ();
}
}

Вобщем при нажатии кнопки должен запуститься serial (9600) отпрпавить команду и остановиться,точно также при отжатии кнопки, Подскажите пожалуйста.

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

kirdab пишет:

имхо это не система "умный дом"
это система "у меня в доме есть в подвале конструктор. жена пока до него не добралась..." ))
 

Хорошо... расскажи нам какой он на самом деле "умный дом". Может ты уже сделал свой "умный дом".

Покажи, с удовольствием посмотрим.

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

mic19154 пишет:

Здравствуйте уважаемый разработчик! У меня такая проблема... Мне нужно один раз отправить команду  mp3_play (9) при нажатии кнопки и команду mp3_play (10) при ее восстановлению. Что я только не делал. То у меня она постоянно отправляется,то вообще arduino не понимает что я от нее хочу. вот код 

Здравствуйте!

1) Вход под кнопку обычно как то определяется и включается

pinMode(2, INPUT); digitalWrite(2,HIGH);    // вход для кнопки. Включаются подтягивающий резистор. Кнопка замыкает на GND

2) Если постоянно подается команда, значит команда подается каждый пройденный круг программы. Нужно примениять "флаги". Т.е. в трех словах: кнопка нажалась, команда отправилась, флаг "переключился" допустим на TRUE и всё, так как условием отправки команды является состояние флага False...

Далее... кнопку отпускаем, флаг поменял значение на False. Это значит, что при слудующем нажатии кнопки команда отправится...

для другой команды тоже самое, но наоборот состояние флага.

Сам вижу, что ничего не понятно :))))

bwn
Offline
Зарегистрирован: 25.08.2014

Slavyanin55 пишет:

kirdab пишет:

имхо это не система "умный дом"
это система "у меня в доме есть в подвале конструктор. жена пока до него не добралась..." ))
 

Хорошо... расскажи нам какой он на самом деле "умный дом". Может ты уже сделал свой "умный дом".

Покажи, с удовольствием посмотрим.

Настоящий умный дом, это система в красивой обертке, за сто тыщ баксов, поставленная крутой фирмой. Неважно, что только свет включает, зато все от цены хереют.

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014
#include <SoftwareSerial.h>
#include <DFPlayer_Mini_Mp3.h>

boolean StatusKom1=false;     // Флаг "команда 1 отправлена"
boolean StatusKom2=false;     // Флаг "команда 2 отправлена"


void setup () 
{
 Serial.begin (9600);
 mp3_set_serial (Serial);    
 delay (100);
 mp3_set_volume (25);
 delay (100);
 pinMode(2, INPUT);    // На втором входе кнопка замыкающая на GND
 digitalWrite(2,HIGH); // Включаем подтягивающий резистор

void loop()
{
   
if (digitalRead(2) == HIGH && StatusKom1 == false) 
   {
     mp3_play (9);
     delay (5000);
     mp3_stop ();
     StatusKom1 =true;
     StatusKom2 = false;
   }

 if (digitalRead(2) == LOW && StatusKom2 == false)
   {
     mp3_play (10);
     delay (5000);
     mp3_stop ();
     StatusKom2 =true;
     StatusKom1 = false;
   }
}

 

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

Попробуйте вот такой код... в компиляторе я его не проверял.  Могут быть ошибки.

mic19154
Offline
Зарегистрирован: 30.10.2015

Спрасибо огромное!!!!!!!!! Все заработало как я и хотел!!!! Вы меня так выручили.)))))))))

mic19154
Offline
Зарегистрирован: 30.10.2015

kirdab пишет:

имхо это не система "умный дом"
это система "у меня в доме есть в подвале конструктор. жена пока до него не добралась..." ))
 

Дэбил. Если ничего умного скакзать нечего-вообще ничего не говори!!!

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

artemnet5388 пишет:

Всем привет Доброго времени ссуток, проект шикарный Slavyanin55 просто гений.Ребята подскажите пожалуйя пытаюсь сделать чтобы с датчика 18b20 показания писались в смс . Вот что у меня вышло

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#define ONE_WIRE_BUS A3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress Thermometer2 = {0x28, 0xFF, 0xD3, 0x4C, 0x6D, 0x14, 0x04, 0xA9 };          //                           28 FF C6 4D 6D 14 04 88
LiquidCrystal_I2C lcd(0x27,20,4); 
int btnPin = 4;
boolean prevBtn = LOW;
                                            

void setup() {
  Serial.begin(9600);
    delay(500);
 lcd.init();                      
 lcd.init();
 lcd.backlight();
 sensors.begin();
 sensors.setResolution(Thermometer2, 10);

 
}
void printTemperature(DeviceAddress deviceAddress) {float tempC = sensors.getTempC(deviceAddress);lcd.print(tempC);}
void loop() {
                                     
                                      
  sensors.requestTemperatures();
  lcd.setCursor(0,1);lcd.print("2-");printTemperature(Thermometer2);
 
  boolean currBtn = digitalRead(btnPin);
    if (prevBtn != currBtn && currBtn == HIGH) 
    {sendTextMessage();}
    prevBtn = currBtn;
   }
  
  void sendTextMessage() 
  {
    Serial.print("AT+CMGF=1");
    Serial.println((char)13);
    delay(900);
    Serial.println("AT + CMGS = \"+70000000000\"");
    delay(900);
    Serial.println('tempC' );
    delay(900);
    
    Serial.println((char)26);
    delay(900);
}

Присылает цифры 28739

artemnet5388 вопрос еще актуален? Найдено решение?
 
Я думаю, что проблема вот здесь Serial.println('tempC' ); 
Нужно сначала создать переменную int, потом отдельной функцией присвоить ей значение измеряемой температуры через функцию tempC, а потом уже печатать в СМС Serial.println(peremennaya);   

 

 

Slavyanin55
Slavyanin55 аватар
Offline
Зарегистрирован: 01.06.2014

mic19154 пишет:

Спрасибо огромное!!!!!!!!! Все заработало как я и хотел!!!! Вы меня так выручили.)))))))))

На здоровье! Расскажите лучше, какое устройство задумали сделать? Какая плата используется для проигрывания mp3 ? Сколько треков может проигрывать эта плата? Есть ли встроенный усилитель сразу на колонки?

koloboc74
Offline
Зарегистрирован: 21.07.2015

Slavyanin55 

Подскажи выложи пожалуйста управление с телефона желательно кодом.