Характеристики термодатчика DS 18 B 20

  Диапазон измерения температуры: от – 55 до + 125 ° C

  Точность измерений: ± 0,5 ° C

  Задержка при получении ответа: при 12-битном разрешении 750 мс, при 9-битном разрешении 94 мс

  Напряжение на питании: 3 – 5,5 В

  Потребляемый ток при бездействии: 750 нА

  Потребляемый ток при опросе: 1 мА

2.2.4 Реле модуль подключение к Arduino

Рис 12. Arduino Relay module

Arduino Relay module используется как модуль реле для управления розетками.

Управляется напряжением 5 V.

Максимальное напряжение коммутации:

  постоянного тока 10A 250V

  переменного тока 10А 30V

К ардуино подключается без дополнительной обвязки.

Состоит из трех контактов:

  VCC: контакт питания "+"

  IN: Вывод входного сигнала

  GND: контакт питания "-"

Управление идет с помощью модуля ардуино и команд:

digitalWrite (номер порта, LOW/ HIGH)

При LOW транзистор открыт, при HIGH транзистор закрыт.

Для того, что бы подключить реле, следует включить его контакты в разрыв одного из проводов питания, которые подключаются к розетке, питающей обогревательный элемент.

2.3. Разработка программы системы

Для организации связи микроконтроллера с датчиками требуется подключить специальную библиотеку OneWire. Это делается с помощью команды. [12]

#include <OneWire. h>.

Для подключения самих датчиков требуется прописать строку

OneWire dt(10);

где цифрой обозначается номер порта, к которому подключен термодатчик.

НЕ нашли? Не то? Что вы ищете?

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

int razetka = 4;

pinMode(Relay1, OUTPUT);

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

Получение температурных данных и перевод их из цифрового кода в требуемые величины прописывается следующим образом:

dt. write(0xBE); //Считываем данные с датчика 1

for ( i = 0; i < 9; i++) //Получаем и анализируем полученные 9 бит информации побитно

{

data[i] = dt. read();

}

Temper=(data[1]<<8)+data[0];

Temper=Temper; //Записываем в переменную снятые данные

z1=((Temper%16)*100)/16; //Для перевода снятых данных в температуру вводим переменную перевода цифрового значения

Так же требуется проверка бита знака, которая позволяет показать, положительная, или отрицательная температура

if (z1<0) //Проверяем бит знака

{

z1=z1*-1;

}

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

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

Для работы системы требуется установить время задержки, перед следующим считыванием данных. В данном коде значение было выставлено 1 800 000 миллисекундам, что равно 30 минутам.

delay(1800000);

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

if(z2<tnuj) //Если температура на датчике в доме меньше допустимой

{

digitalWrite(Relay1, HIGH); // Выключение розетки

}

else

{

digitalWrite(Relay1, LOW); // Включение розетки

}

Полный тексты программного обеспечения представлен в Приложении 1

2.4. Разработка интерфейса системы дистанционного управления

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

Для этих целей было принято решение о разработке сайта, который позволит получить доступ к данным. Сайт написан с использованием языков HTML и PHP, а так же использованием табличного способа верстки.

Для защиты от злоумышленников требуется авторизация, которая подтвердит ваши полномочия по управлению системы и не позволит сторонним лицам выполнять какие либо действия с системой.

Авторизация выполнена с помощью языка PHP. Процедура авторизации написана отдельным файлом “registr. php”, а обращение к ней будет проходить с помощью файла “index. html”

Отправка данных осуществляется с помощью метода передачи данных POST. Данный метод используется в запросах, при которых веб-сервер принимает передаваемые данные для хранения.[16]

При входе на сайт появляется окно авторизации.

Рис. 13. Окно авторизации.

В коде регистрации, находящемся в файле registr. php прописывается логин и пароль пользователя, после попытки авторизации идет сравнивание введенных данных с указанными. В случае удачной авторизации выскакивает сообщение с надписью «Добро пожаловать!», а в случае отказа авторизации «Не правильный логин или пароль». При отказе авторизации пользователю требуется обновить страницу сайта и ввести данные авторизации заново.

Файл “autor. html” содержит код самого сайта. Там прописана форма авторизации, метод отправки данных. Сайт сделан с помощью табличной верстки и обладает простейшим интерфейсом.

После авторизации на сайте появляется возможность работать с самой оболочкой, которая позволяет отслеживать и изменять требуемые параметры.

Рис. 14 Вид сайта с информацией с системы

В листинге кода “index. html”, заключена сама оболочка системы. Написан он так же с использованием табличной верстки.

В начале кола идет кусок подключения базы данных, в которую записывается температура, снятая с термодатчика. Написана она с использованием языка PHP.[13]

<?php

include("readbd. php"); //Подключаем файл для ввода данных в таблицу

?>

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

<a href="#" id="led6" class="button black" onMouseDown="command(1);">Температура на улице</a>

<a href="#" id="led6" class="button yellow" onMouseDown="command(2);">Температура в помещении:</a>

Так же присутствует текстовое поле с данными о минимально допустимой температуре. Пользователь может изменить эту температуру введя новые данные и нажав на кнопку отправки формы.[14]

<input type="text" name="d_ot_t" /> <?php echo ''.$temper3.""; ?>

<input type="button" name="izm_d_t" value="Изменить минимальную температуру">

В конце программы, с помощью языка AJAX прописывается отправка данных на Arduino.[15]

Полные тексты программного обеспечения представлены в Приложениях 2-4

2.5 Калькуляция стоимости

Arduino Uno = 900 р.

Arduino Relay module = 300 р.

Термодатчик DS 18 B 20 = 60 р. * 2

Розетка 100 р.

Резистор номиналом 4К7 = 10 р. * 2

Шлейф для соединения датчиков = 100 р.

Себестоимость такой системы составляет 1 540 р.

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

В виде элемента системы, отвечающего за нагрев помещения подойдет любой радиатор, который питается от электричества.

В виде компьютера можно использовать любой, даже самый маломощный компьютер, имеющий USB-порт.

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

2.6 Достоинства и недостатки разработанной системы

Такая система имеет как достоинства, так и недостатки.

Достоинствами является:

ü  Возможность контроля из любой точки мира при наличии интернета

ü  Дешевизна

ü  Возможность подсоединения большого количества различных датчиков и систем управления

ü  Отслеживание и управление необходимыми параметрами внутри системы

ü  Экономия денежных затрат

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

Недостатки:

ü  Невозможность работы без сети интернет

ü  Задержка при включении до нескольких секунд

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

Заключение

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

При разработке системы были изучены различные типы термодатчиков, микроконтроллеров и обогревательных систем.

Список литературы

1.  Тоби Элсенпитер, Дж. Велт. «Умный Дом строим сами»

2.  Arduino блокнот программиста Brian W. Evans

3.  http://arduino. ru/Hardware/ArduinoBoardUno «Arduino Uno»

4.  Электротехника и электроника.

5.  . «Датчики. Справочник» Каменяр 1995

6.  http://www. kit-e. ru/articles/measure/2006_1_140.php «Популярные контактные технологии теплометрии»

7.  http://d.17-71.com/2007/10/23/rezistivnyie-datchiki-temperaturyi/ «Резестивные датчики температуры»

8.  http://www. devicesearch. ru/article/datchiki-temperatury «Датчики измерения температуры»

9.  http://mcucpu. ru/index. php/pdevices/datchiki/108-poluprovodnikovye-datchiki-temperatury «Полупроводниковые датчики температуры»

10.  Яганов микросенсоры температуры на основе p-n пере - хода

11.  http://vashtehnik. ru/obogrevateli/vidy-obogrevatelej-dlya-doma. html «Виды обогревателей»

12.  http:///ru/prog/ «Программирование Ардуино»

13.  PHP. Рецепты программирования. Дэвид Скляр, Адам Трахтенберг

14.  HTML и CSS. Путь к совершенству. Бен Хеник

15.  , "AJAX: программирование для Интернета" БХВ-Петербург

16.  http://www. /page54.html «PHP и методы передачи данных GET и POST»

17.  https://ru. wikipedia. org/wiki/Arduino

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4