Продвинутая метеостанция: температура, влажность, давление и запись на SD. Мини-проекты Амперки

44 301
6.9
Амперка550 тыс
Опубликовано 26 июня 2019, 15:25
Все компоненты проекта: amperka.ru/collection/weather-...

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

Проект соберём на оригинальной Arduino Uno, Slot Shield и Troyka-модулях. Такое сочетание позволяет за считанные минуты получить законченное решение без паяльника и даже без стола, тут на диване. Конечно же эти схемы можно собрать и из подручных средств, на макетке из рассыпухи, но этому посвящён отдельный курс наших видео.

00:30 Какой термометр выбрать

Самый простой и дешёвый вариант —
модуль на базе DHT11. Этот цифровой датчик температуры и влажности окружающего воздуха. Информацию он отдаёт по своему протоколу и для подключения понадобится всего один цифровой пин. Но нам он не подойдёт, датчик умеет работать только с положительными температурами от 0 до 50 градусов. В холодный гараж или жаркую сауну его не поставишь.

Следующий кандидат — аналоговый термометр. Алгоритм работы предельно прост — напряжение на пине S прямо пропорционально температуре воздуха. Достаточно снять сигнал и с помощью библиотеки конвертировать напряжение в температуру. Работает он в диапазоне от -40 до +120, этого бы мне хватило с головой. Вот только подвела точность измерений — 2-3 градуса это многовато. А ещё этот сенсор не умеет определять влажность.

Поэтому я остановлюсь на специальном метеосенсоре. Этот модуль построен на базе швейцарского чипа Sensirion SHT31. В чипе реализован сложный аналого-цифровой алгоритм определения температуры и влажности. Он измеряет температуру с точностью до 2 десятых градуса, а погрешность определения влажности составляет всего 2%. Модуль стабильно работает от -40 до +125. Самое то для моего проекта.

01:41 — Простая метеостанция на Arduino Uno и SHT31
Проект на wiki: wiki.amperka.ru/arduino-projec...

Проверю, как он работает. Напишу простой скетч, который выводит показания датчика на экран компьютера. Готово! На экране моего компьютера лог измерений. Следить за скачущими цифрами утомительное занятие, поэтому превращу их в графики, благо для этого даже программировать не придётся. Просто запущу встроенный инструмент Arduino IDE — плоттер серийного порта.

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

02:58 — Автономная метеостанция
Проект на wiki: wiki.amperka.ru/arduino-projec...

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

04:29 — Метеостанция с барометром
Проект на wiki: wiki.amperka.ru/arduino-projec...

Сделаю более продвинутую метеостанцию - добавлю ещё один датчик. Для метеозависимых людей колебания атмосферного давления едва ли не более важны, чем температура за окном. Поэтому подключу барометр.
Это модуль на базе чипа компании STMicroelectronics. Он предназначен для определения текущей высоты по показаниям атмосферного давления. Но и в качестве цифрового барометра он отлично справляется с задачей.

05:26 — Метеостанция с выносным термометром
Проект на wiki: wiki.amperka.ru/arduino-projec...

Сделаю выносной термометр и закреплю за окном. В качестве сенсора я использую простой и надёжный DS18B20. Он бывает в разных вариантах исполнения, я выберу герметичный вариант. Он работает от -55 до 125 и не боится воды. Его даже можно погружать в кипящую воду.

Датчик снабжён длинным проводом — проблем вынести его за окно не возникнет. Вот только есть одна небольшая проблема. DS18B20 нельзя подключить напрямую к Arduino. Между сигнальной линией и линией питания необходимо поставить резистор на 4,7 кОм. Я хочу обойтись без паяльника и макеток, поэтому подключу термометр через модуль подтяжки — Troyka Pull Up. Поставлю модуль в гнездо С и через него подключу сенсор к пину 5.

06:42 — Погодный SD-регистратор
Проект на wiki: wiki.amperka.ru/arduino-projec...

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

Остался один пустой слот — причём он поддерживает работу по протоколу SPI. А это значит, что я могу подключить к нему один из моих любимых модулей — картридер для microSD-шек. Модуль поддерживает карты объёмом до 32Гб, а этого уж точно хватит всем.

Вот такой проект мне удалось собрать за считанные минуты.
Смотрите, творите и присылайте свои идеи для формата диванных проектов. Самые интересные — снимем и покажем.

#arduino #простыепроекты #slotshield #амперка #метео #метеостанция
жизньигрыфильмывесельеавтотехномузыкаспортедаденьгистройкаохотаогородзнанияздоровьекреативдетское