Мы в социальных сетях

подчеркивание красное для правой колонки

Наш официальный YouTube канал

подчеркивание красное для правой колонки

Подключение Uno Protoshield к Arduino и автоматическое управление вентилятором с помощью реле и датчика DHT11

Чего только не придумал человек для облегчения своей жизни. В любой отрасли люди хотят применить минимум сил для создания какого-либо продукта, они стараются делать его более компактным и удобным в использовании. И электротехника не является исключением. Представляем к вашему вниманию Uno Protoshield. Этот шилд является очень компактным и удобным для создания вашего проекта, особенно для массового подключения электронных элементов к Arduino. Если внимательно взглянуть на Protoshield, то можно заметить, что подключение проводов к плате воспроизводится с помощью пайки. Шилд имеет форму Arduino Uno неслучайно, из-за этого Protoshield подключается к Arduino напрямую. Также он имеет множество отверстий покрытых металлическим слоем, с помощью которых и воспроизводится подключение устройств.

Сегодня мы создадим очень полезный проект, который вы сможете установить у себя дома. Идея проекта состоит в том, что Ардуино, при считывании информации с датчика влажности и температуры DHT11, будет управлять нашим реле, который по необходимости будет включать вентилятор. Короче говоря, мы создадим климат контроль. Главным преимуществом нашей установки станет использование Uno Protoshield, так как он значительно уменьшит его размеры. Узнать подробную информацию о датчике влажности и температуры DHT11 и о реле вы сможете в разделе Arduino для начинающих. Ну а в этой статье мы подробно поговорим про, пока не известный нам, Uno Protoshield!

Характеристики Uno Protoshield

Как уже говорилось, Uno Protoshield используется для удобства и уменьшения размеров вашей установки. Шилд включает в себя большое количество отверстий покрытых металлическим слоем и предназначенных для соединения проводов с помощью пайки. Также Protoshield имеет два светодиода и две кнопки. Одна кнопка используется для сбросса, другая же - обычная кнопка, которую можно подключить к своему проекту, например, при нажатии - включить светодиод. Подключение шилда к Arduino реализуется методом наложения платы, сделав, так сказать, бутерброд.

Подключение нашего мини проекта

Для нашей работы нам необходимы следующие компоненты:

Все эти элементы можно приобрести по низкой цене и с высоким качеством в интернет магазине SmartElements.

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




После того, как вы приготовили компоненты, перейдем к подключению. Для этого нам понадобится надежная схема, но это не проблема!


Схема подключения показана с использованием макетной платы breadbord. Мы были вынуждены сделать так потому, что это выглядит нагляднее и разборчивее. Подключение через Uno Protoshield воспроизводится также, как и с помощью макетной платы, тут ничего сложного нет! Остается только аккуратно припаять соединительные провода к Protoshield и все готово.


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


Скетч программы для управления реле с помощью датчика температуры и влажности DHT11

Для работы датчика на Arduino нужно скачать и установить библиотеку DHT11.

Скачать библиотеку можно здесь.


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

Диск C стрелка Progtam Files стрелка Arduino стрелка Libraries

папка с экрана

#include "DHT.h" //библиотека для работы с DHT
#define DHTPIN 3 //Обозначаем номер пина, к которому подключен датчик DHT11
#define Relay 5 //Обозначаем номер пина, к которому подключен реле
DHT dht(DHTPIN, DHT11); //инициируем датчик DHT

void setup() {
pinMode (Relay, OUTPUT); //Инициализируем режим работы порта в режиме выхода
dht. begin();
Serial.begin (9600);
}

void loop() {
delay (2000);
float h = dht.readHumidity(); //Считываем влажность в переменную "h"
float t = dht.readTemperature(); //Считываем температуру в переменную "t"
if (isnan(t) || isnan(h)) { //если неправильно считалась информация {
Serial.println ("Ошибка при считывании информации"); //выводим надпись в программе
} else { //иначе
Serial.print ("Humidity: "); //выводим надпись Humidity
Serial.print (h); //выводим значение переменной влажности
Serial.print (" %\t"); //выводим надпись %\t
Serial.print ("Temperature: "); //выводим надпись в программе
Serial.print (t); //выводим переменную температуры
Serial.println (" *C"); //выводим надпись *C
}
if (h > 40) //Указываем условие, если переменная "h" (влажность) больше 40%
{
digitalWrite (Relay, LOW); //то включаем наше реле, которое приводит в действие вентилятор
}
else //иначе
{
digitalWrite (Relay, HIGH); //Реле будет выключено, вентилятор не работает
}
/*Вы можете изменить переменную на переменную . Мы привели вам самый простой пример, его идею можно использовать для создания качественного проекта! */
}

Подробный разбор скетча

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

1)Микроконтроллер считывает информацию с датчика влажности и температуры DHT11.
2)Если влажность, которую показал датчик, больше 40%, то включается реле, которая включает вентилятор.

В нашем скетче за основу берется влажность, именно из-за нее и включается реле, но вы можете изменить, и поставить вместо "h" и "t" и , тогда рабочее состояние реле будет зависеть уже от температуры. Также можно менять значение минимального значения переменной, для включения реле.


if (h > 40) //В этой строчке мы и можем изменить "h" на "t", а также поменять значение "40" на любое другое

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


pinMode (Relay, OUTPUT);
dht. begin();
Serial.begin (9600);

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

Следующая часть кода более интересна, но также не сложна.


float h = dht.readHumidity();
float t = dht.readTemperature();

На данном этапе мы указываем Arduino, чтобы он считывал информацию с датчика DHT11 в переменные "h" и "t".


if (h > 40)
{
digitalWrite (Relay, LOW);
}
else
{
digitalWrite (Relay, HIGH);
}

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


Пришло время сравнить работу на макетной платой и с Unoprotoshield.

Как вы можете заметить, разница громадная. Наш проект с Uno Protoshield получился намного компактнее, и выглядит на много лучше чем с макетной платой. А как вы думаете?!

Надеюсь у вас все получилось! Если у вас остались вопросы, можете написать нам в вконтакте или в комментариях ниже. Мы постараемся ответить на ваши вопросы в скором времени!


Вам возможно будет интересно

Комментарии