Скетч
- p160_meteostation.ino
-
#include <math.h> int minute = 1; // Параметр конкретного типа термистора (из datasheet): #define TERMIST_B 4300 #define VIN 5.0 void setup() { // мы хотим передавать информацию на компьютер через USB, а // точнее через последовательный (англ. serial) порт. // Для этого необходимо начать (англ. begin) передачу, указав // скорость. 9600 бит в секунду — традиционная скорость. // Функция «begin» не является глобальной, она принадлежит // объекту с именем «Serial». Объекты — это «продвинутые» // переменные, которые обладают собственными функциями, // к которым обращаются через символ точки. Serial.begin(9600); // передаём заголовок нашей таблицы в текстовом виде, иначе // говоря печатаем строку (англ. print line). Символы «\t» — // это специальная последовательность, которая заменяется на // знак табуляции (англ. tab): 8-кратный выровненный пробел Serial.println("Minute\tTemperature"); } void loop() { // вычисляем температуру в °С с помощью магической формулы. // Используем при этом не целые числа, а вещественные. Их ещё // называют числами с плавающей (англ. float) точкой. В // выражениях с вещественными числами обязательно нужно явно // указывать дробную часть у всех констант. Иначе дробная // часть результата будет отброшена float voltage = analogRead(A0) * VIN 1024.0; float r1 = voltage (VIN - voltage); float temperature = 1.( 1.(TERMIST_B)*log(r1)+1.(25. + 273.) ) - 273; // печатаем текущую минуту и температуру, разделяя их табом. // println переводит курсор на новую строку, а print — нет Serial.print(minute); Serial.print("\t"); Serial.println(temperature); delay(60000); // засыпаем на минуту ++minute; // увеличиваем значение минуты на 1 // откройте окно Serial Monitor в среде Arduino, оставьте на // сутки, скопируйте данные в Excel, чтобы построить графики }
Монтаж
Закончил проект я где-то в конце ноября-начале декабря. На улице было довольно прохладно и о том, чтобы лазить на столб не было и речи. Да и случить чего, ремонт проводить было бы неудобно. В итоге окончательно решил расположить метеостанцию на старом сарае.
Внутренний блок был закреплен по классике, на черные саморезы внутри сарая на стене, рядом с электро щитком, в котором уже стоит 3 модуля Sonoff Basic, которые управляют частью освещения во дворе.
Ну а для внешнего модуля из обрезка трубы подходящего диаметра и другого мусора был сварен кронштейн, на который и был установлен внешний модуль. Получилось вот так:
Ардуино. Метеостанция на LCD 1602 и DHT11
Ардуино. Метеостанция с дисплеем LCD 1602 и DHT22 После сборки схемы, загрузите в микроконтроллер следующий скетч (здесь ссылка на скачивание архива со скетчем для метеостанции и необходимыми библиотеками). Информация с датчика DHT22 выводиться будет на монитор порта Arduino IDE и на жидкокристаллический дисплей 1602a, для отображения информации использован русский шрифт для LCD и символы (в скетче есть подробные комментарии).
Скетч для метеостанции с DHT11 на Ардуино
#include <Wire.h> // библиотека для протокола IIC #include <LiquidCrystal_I2C.h> // подключаем библиотеку LCD IIC LiquidCrystal_I2C lcd(0x27,20,2); // присваиваем имя lcd для дисплея #include «DHT.h» // подключаем библиотеку для DHT11 DHT dht(2, DHT11); // к какому порту подключаем датчик // создаем символ градуса и присваиваем имя «gradus» byte gradus = { 0b01100,0b10010,0b10010,0b01100,0b00000,0b00000,0b00000,0b00000 }; // создаем русскую букву «П» byte P = { 0b11111,0b10001,0b10001,0b10001,0b10001,0b10001,0b10001,0b00000 }; // создаем русскую букву «У» byte Y = { 0b10001,0b10001,0b10001,0b01111,0b00001,0b00001,0b01110,0b00000 }; // создаем русскую букву «Л» byte L = { 0b00111,0b01001,0b10001,0b10001,0b10001,0b10001,0b10001,0b00000 }; // создаем русскую букву «Ж» byte ZH = { 0b10101,0b10101,0b10101,0b01110,0b10101,0b10101,0b10101,0b00000 }; // создаем русскую букву «Ь» byte znak = { 0b10000,0b10000,0b10000,0b11110,0b10001,0b10001,0b11110,0b00000 }; void setup() { Serial.begin(9600); // запуск последовательного порта lcd.init(); // инициализация LCD дисплея lcd.backlight(); // включение подсветки дисплея lcd.createChar(1, gradus); lcd.createChar(2, P); lcd.createChar(3, Y); lcd.createChar(4, L); lcd.createChar(5, ZH); lcd.createChar(6, znak); } void loop() { // если нужны точные значение, то используйте float, вместо byte byte h = dht.readHumidity(); // считываем значение температуры byte t = dht.readTemperature(); // считываем значение влажности Serial.print(«Temperature: «); Serial.println(t); // отправляем значение температуры на монитор Serial.print(«Humidity: «); Serial.println(h); // отправляем значение температуры на монитор Serial.println(» «); // пустая строка lcd.setCursor(0,0); // ставим курсор на 1 символ первой строки lcd.print(«TEM»); // используем латинские буквы lcd.print(char(2)); // выводим русскую букву «П» lcd.print(«EPAT»); // используем латинские буквы lcd.print(char(3)); // выводим русскую букву «У» lcd.print(«PA: «); // используем латинские буквы lcd.print(t); // выводим значение температуры на LCD lcd.print(char(1)); // выводим знак градуса lcd.setCursor(2,1); // ставим курсор на 3 символ второй строки lcd.print(«B»); // используем латинские буквы lcd.print(char(4)); // выводим русскую букву «Л» lcd.print(«A»); // используем латинские буквы lcd.print(char(5)); // выводим русскую букву «Ж» lcd.print(«HOCT»); // используем латинские буквы lcd.print(char(6)); // выводим русскую букву «Ь» lcd.print(«: «); // используем латинские буквы lcd.print(h); // выводим значение влажности на LCD lcd.print(«%»); // выводим знак процент delay(1000); }
Пояснения к коду:
- в скетче можно использовать до 8 русских букв и символов, при необходимости заменяйте буквы из кириллицы — латинскими буквами;
- скорость обновления данных замените на необходимое значение.
Заключение. Мы рассмотрели, как сделать простую домашнюю метеостанцию на Ардуино c дисплеем 1602а и датчиком температуры и влажности воздуха DHT11. Данный проект можно доработать, добавив к схеме еще больше датчиков для анализа метеоусловий. Также можно сделать беспроводную метеостанцию на Arduino Uno, используя блютуз или радио модули для передачи информации на расстояние.
Программа
Программа передатчика
Сперва рассмотрим программу передающей части:
Для передачи влажности и температуры в одном сообщении я соединяю их вместе. Сначала данные считываются в переменную как целые числа, потом целые числа преобразовываются в массив символов, а затем они соединяются друг с другом. На приемной стороне данные будут разделены на отдельные символы. Делая это, я ограничиваю себя двумя цифрами градусов. Если датчик находится в среде с температурой менее 10°C, я буду получать на дисплее символы мусора. Например, если температура составляет 20°C, а влажность – 45%, то будет передаваться сообщение 2045, и всё хорошо. Если температура равна 9°C, а влажность – 78%, то передастся сообщение 978x, где «x» – случайный символ. Поэтому, если вы будете собирать данный беспроводной термометр, я советую вам изменить программу для передачи правильных данных, когда температура будет меньше 10°C.
Программа приемника
Интересный способ использования библиотеки LiquidCrystal – это создание пользовательских символов. С помощью я создал символ градусов. Таким же способом вы можете создать и свои собственные символы. Чтобы создать пользовательский символ или значок, вам необходимо объявить его, как массив из восьми байт, и «нарисовать», какие пиксели будут включены (1 – включен, 0 – выключен).
В функции вы создаете его с помощью . принимает два аргумента: номер позиции для хранения символа и массив байт, в котором определено, какие пиксели будут отображаться. В нашем случае это . Затем символ выводится на LCD с помощью функции .
Ардуино. Метеостанция на LCD 1602 и DHT11
Ардуино. Метеостанция с дисплеем LCD 1602 и DHT22
После сборки схемы, загрузите в микроконтроллер следующий скетч (здесь ссылка на скачивание архива со скетчем для метеостанции и необходимыми библиотеками). Информация с датчика DHT22 выводиться будет на монитор порта Arduino IDE и на жидкокристаллический дисплей 1602a, для отображения информации использован русский шрифт для LCD и символы (в скетче есть подробные комментарии).
Скетч для метеостанции с DHT11 на Ардуино
#include <Wire.h> // библиотека для протокола IIC #include <LiquidCrystal_I2C.h> // подключаем библиотеку LCD IIC LiquidCrystal_I2C lcd(0x27,20,2); // присваиваем имя lcd для дисплея #include "DHT.h" // подключаем библиотеку для DHT11 DHT dht(2, DHT11); // к какому порту подключаем датчик // создаем символ градуса и присваиваем имя "gradus" byte gradus = { 0b01100,0b10010,0b10010,0b01100,0b00000,0b00000,0b00000,0b00000 }; // создаем русскую букву "П" byte P = { 0b11111,0b10001,0b10001,0b10001,0b10001,0b10001,0b10001,0b00000 }; // создаем русскую букву "У" byte Y = { 0b10001,0b10001,0b10001,0b01111,0b00001,0b00001,0b01110,0b00000 }; // создаем русскую букву "Л" byte L = { 0b00111,0b01001,0b10001,0b10001,0b10001,0b10001,0b10001,0b00000 }; // создаем русскую букву "Ж" byte ZH = { 0b10101,0b10101,0b10101,0b01110,0b10101,0b10101,0b10101,0b00000 }; // создаем русскую букву "Ь" byte znak = { 0b10000,0b10000,0b10000,0b11110,0b10001,0b10001,0b11110,0b00000 }; void setup() { Serial.begin(9600); // запуск последовательного порта lcd.init(); // инициализация LCD дисплея lcd.backlight(); // включение подсветки дисплея lcd.createChar(1, gradus); lcd.createChar(2, P); lcd.createChar(3, Y); lcd.createChar(4, L); lcd.createChar(5, ZH); lcd.createChar(6, znak); } void loop() { // если нужны точные значение, то используйте float, вместо byte byte h = dht.readHumidity(); // считываем значение температуры byte t = dht.readTemperature(); // считываем значение влажности Serial.print("Temperature: "); Serial.println(t); // отправляем значение температуры на монитор Serial.print("Humidity: "); Serial.println(h); // отправляем значение температуры на монитор Serial.println(" "); // пустая строка lcd.setCursor(0,0); // ставим курсор на 1 символ первой строки lcd.print("TEM"); // используем латинские буквы lcd.print(char(2)); // выводим русскую букву "П" lcd.print("EPAT"); // используем латинские буквы lcd.print(char(3)); // выводим русскую букву "У" lcd.print("PA: "); // используем латинские буквы lcd.print(t); // выводим значение температуры на LCD lcd.print(char(1)); // выводим знак градуса lcd.setCursor(2,1); // ставим курсор на 3 символ второй строки lcd.print("B"); // используем латинские буквы lcd.print(char(4)); // выводим русскую букву "Л" lcd.print("A"); // используем латинские буквы lcd.print(char(5)); // выводим русскую букву "Ж" lcd.print("HOCT"); // используем латинские буквы lcd.print(char(6)); // выводим русскую букву "Ь" lcd.print(": "); // используем латинские буквы lcd.print(h); // выводим значение влажности на LCD lcd.print("%"); // выводим знак процент delay(1000); }
Пояснения к коду:
- в скетче можно использовать до 8 русских букв и символов, при необходимости заменяйте буквы из кириллицы — латинскими буквами;
- скорость обновления данных замените на необходимое значение.
Заключение. Мы рассмотрели, как сделать простую домашнюю метеостанцию на Ардуино c дисплеем 1602а и датчиком температуры и влажности воздуха DHT11. Данный проект можно доработать, добавив к схеме еще больше датчиков для анализа метеоусловий. Также можно сделать беспроводную метеостанцию на Arduino Uno, используя блютуз или радио модули для передачи информации на расстояние.
Рейтинг домашних метеостанций с беспроводным выносным датчиком 2017-2018 года
Опции метеостанций для дома с беспроводными датчиками различны и зависят от модели и фирмы производителя
Разберемся, какие функции присущи различным маркам обратив внимание на некоторые технические характеристики моделей в нашем обзоре ТОП-7 метеорологических станций
Метеостанция «Gal» и ее модель «WS 1501»
Оформление устройства можно назвать лаконичным, если не спартанским. Набор базовых функций в сочетании с бюджетной стоимостью обеспечивает модели популярность не первый год. Отличительной чертой производителя считается низкий процент погрешности при измерениях. Устройство выводит на дисплей (без подсветки) данные по температуре, влажности (в помещении и на улице), часы, календарь и будильник. Интересна дополнительная опция вывода на ЖК-экран фаз луны, что поможет огородникам в посадке овощей и уборке урожая. Питание – 2 батареи, типа «ААА». Индикация заряда на дисплей не выводится.
«Gal WS 1501» – неплохой бюджетный вариант
Метеорологические станции в линейке «ЕА2»
Выбирая эту марку стоит внимательно изучить функционал моделей, которых в линейке немало. Каждая из них имеет свои особенности и дополнительные опции, которые могут пригодиться. Самым многофункциональным прибором из линейки можно назвать модель EA2 EN209, на которой установлен цветной дисплей. Из дополнительных опций отметим:
- предупреждение о наступлении заморозков, гололеда;
- возможность подключения термодатчика сауны;
- звуковое предупреждение о падении атмосферного давления;
- часы, календарь, будильник;
- кратковременная или долгая подсветка дисплея.
Моделей у производителя «ЕА2» довольно много. Есть и бюджетные
Метеорологические комплексы «La Crosse» и модель «WS9057»
Точный прибор, практически не допускающий погрешности. Есть все необходимые для прогнозирования функции, включая расчет осадков. Немного подводит стоимость, явно завышенная для подобного устройства, но тут переплата за швейцарский бренд.
Из недостатков – отсутствие подсветки и обозначение наличия осадков. Даже если идет снег, на ЖК-дисплее высвечивается пиктограмма дождя.
Довольно точная метеостанция «La Crosse WS9057»
Метеорологическая станция «Орегон»: отличия от других устройств
«Орегон» – одна из родоначальников добавления в часы или электронные термометры проекторов. Довольно интересно, когда проекция с экрана вдруг оказывается расположенной на большой стене. В темное время суток это не мешает спать, а при необходимости увидеть данные глаза напрягать не нужно. Чем дальше устройство находится от стены, тем крупнее проекция. Отзывы об этой модели в сети интернет довольно хорошие.
Еще одним новшеством является платформа для беспроводной зарядки планшетов и смартфонов. Поддержка трех беспроводных датчиков на расстоянии до 50 м. Питание – сетевой адаптер или 2 батареи, типа «ААА».
Метеостанции «Орегон» – твердый середнячок
Погодные метеорологические станции «AcuRite 02027 Color Weather Station with»
«AcuRite 02027 Color Weather Station with» это даже не станция, а целый погодный комплекс, прогнозирующий погоду, учитывая множество показателей. Цветной дисплей выдает данные о силе, скорости и направлении ветра, влажности, осадках. Функция подключения к персональному компьютеру, планшету или смартфону по Wi-Fi позволяет систематизировать данные, сделав прогноз более точным. Поддерживает отключающийся в ручную перевод с летнего времени на зимнее и синхронизацию часов с сетью интернет.
«AcuRite 02027 Color Weather Station with» не станция а целый погодный комплекс
Метеостанция фирмы «Uniel» с моделью «UTV-41»
Привлекательный дизайн вкупе с многофункциональностью обеспечивают модели популярность. Расположение только настольное, на стену провесить устройство на стену не получится. Данные выводятся на экран в виде светящихся цифр, что исключает необходимость подсветки. Из минусов только редкий обмен данными с беспроводным датчиком.
«Uniel UTV-41» – заслуженное второе место нашего рейтинга
«RST» – лидер сегодняшнего обзора
Шведские устройства, одной из лучших моделей которых потребители называют «RST 02785». Дальность сообщения с датчиками до 100 м. Диапазон измеряемых уличных температур от -50 до +70°С, внутри помещения – от 0 до +50°С. Возможность подключения к ПК обеспечивает более точный прогноз на ближайшие 36 часов. Из дополнительных опций, помимо обычного календаря – зодиакальный.
«RST» – лучшие в сегодняшнем обзоре
Что для этого необходимо?
Для изготовления автономного передатчика нам понадобятся:
- Teensy 4.0
- Передатчик на 433 МГц
- Датчик температуры и влажности
- Макетная плата Mini
- Держатель пальчиковых батареек на x3 AA
- Провода папа-папа ×3 шт
- Резистор на 100 кΩ
- Резистор на 10 кΩ
- Штырьковые соединители x36 контактов
Для изготовления ретранслятора нам понадобятся:
- Arduino Uno
- Arduino Ethernet
- Приёмник на 433 МГц
- Макетная плата Mini
- Провода папа-папа ×4 шт
Так же удобно установить два светодиода для индикации процессов:
- Провода папа-папа ×2 шт
- Светодиод красный ×1 шт
- Светодиод зелёный ×1 шт
- Резисторы на 220 Ω x2 шт
Для звуковой индикации разряда батареи автономной части удобно использовать
пьезо-пищалку:
- Провод папа-папа ×1 шт
- Пьезо-пищалка
Дисплей 16×4 LCD1604
Подробнее о дисплее и работе с ним погуглите «Работа с символьными ЖКИ на базе HD44780». Отметим, что нужно внимательно отнестись к полярности подключения питания к ЖК-индикатору и чтобы напряжение питания было в диапазоне +4,5…5,5 В. Невнимательное отношение к этому может привести к выходу индикатора из строя!
Пин LCD 1604 | Arduino MEGA | Arduino UNO | Описание |
---|---|---|---|
VSS | GND | GND | GND |
VDD | 5 V | 5 V | 4,7 — 5,3V |
RS | 22 | 4 | Высокий уровень означает, что сигнал на выходах DB0—DB7 является данными, низкий — командой |
RW | GND | GND | Определяет направление данных (чтение/запись). Так как операция чтения данных из индикатора обычно бывает невостребованной, то можно установить постоянно на этом входе низкий уровень |
E | 23 | 5 | Импульс длительностью не менее 500 мс на этом выводе определяет сигнал для чтения/записи данных с выводов DB0-DB7, RS и WR |
DB4 | 24 | 8 | Входящие/исходящие данные |
DB5 | 25 | 9 | |
DB6 | 26 | 10 | |
DB7 | 27 | 11 | |
LED A+ | +5V или резистор 220 Ом → +5VLED-A | ||
LED B- | GND | ||
V0 | GND или подстроечник на 10кОм |
Программная инициализация будет выглядеть так:
Температура, влажность DHT11
Подключение датчика температуры и влажности DHT11 (SainSmart). Датчик расположите лицевой стороной вверх, выводы будут описаны слева направо.
DHT11 | Arduino Mega |
---|---|
DATA | Digital pin 2 (PWM) (см. ниже DHTPIN) |
VCC | 3,3—5 В (рекомендуется 5 В, лучше внешнее питание) |
GND | GND |
Программная инициализация
Барометр BMP180
Подключение датчика атмосферного давления BMP180 (барометр) + температура по интерфейсу I2C/TWI.
BMP180 | Arduino Mega |
---|---|
VCC | не подключен |
GND | GND |
SCL | 21 (SCL) |
SDA | 20 (SDA) |
3,3 | 3,3 В |
Для UNO: A4 (SDA), A5 (SCL).
nRF24L01+
Краткие характеристики:
- Диапазон частот 2,401 — 2,4835 Ггц
- 126 каналов. Нулевой канал начинается с 2400 Мгц и далее с шагом 1 Мгц, например 70 канал находится соответственно на 2470 Мгц. При установке скорости передачи 2Mbps занимается ширина канала в 2 Мгц
- Питание 1,9 — 3,6 В (рекомендуется 3,3 В)
Вот распиновка модуля.
Некоторые советуют сразу же припаять керамический конденсатор 100nF (можно 1µF, 10µF) на выводы питания RF для избежания электрических помех.
Распиновка nRF24L01+ (смотреть сверху платы там где чип, пины должны быть внизу) :
пин 2 3,3V | пин 4 CSN | пин 6 MOSI | пин 8 IRQ |
пин 1 GND | пин 3 CE | пин 5 SCK | пин 7 MISO |
Подключение для метеостанции:
Arduino Mega | nRF24L01+ |
---|---|
3,3 В | VCC пин 2 (лучше внешнее питание) |
пин D8 | CE пин 3 (chip enable in) |
SS пин D53 | CSN пин 4 (chip select in) |
SCK пин D52 | SCK пин 5 (SPI clock in) |
MOSI пин D51 | SDI пин 6 (SPI Data in) |
MISO пин D50 | SDO пин 7 (SPI data out) |
IRQ пин 8 (Interrupt output) не подсоединен | |
GND | GND пин 1 (ground in) |
Программирование радиомодуля будет подробно описано в программной части.
ESP8266
Распиновка ESP8266 (смотреть сверху платы там где чипы, пины должны быть внизу):
GND | GPIO2 | GPIO0 | RX |
TX | CH_PD | RESET | VCC |
Подключение ESP8266 для метеостанции:
ESP8266 | Arduino Mega |
---|---|
TX | 10 пин (SoftwareSerial RX) |
RX | 11 пин (SoftwareSerial TX) |
VCC | 3,3 В |
GND | GND |
CH_PD | Через резистор 10К к 3,3 В Arduino |
GPI0 | Необязательно. Через резистор 10К к 3,3 В Arduino |
GPI2 | Необязательно. Через резистор 10К к 3,3 В Arduino |
КДПВ
Центральный блок в сборе. «Материнскую плату» вырезал из картонной коробки из-под обуви и к ней винтиками на 3 прикрутил всё остальное.
Как видим в этом месте всё питание осуществляется от пинов Ардуино, т.е. к блоку питания напрямую ничего не идёт, и пока мощи хватает.
Вроде всё. Ничего не забыл.
Паяйте, соединяйте. В следующей части будет приведен рабочий скетч для центрального блока и наша метеостанция уже что-то покажет.
Станция с датчиком давления
Следующая модель будет уметь определять:
- влажность и температуру;
- уровень высоты;
- атмосферное давление.
Компоненты
Для сборки потребуются:
- сенсор DHT22;
- датчик давления BMP180;
- плата Ардуино Нано;
- lcd-экран с блоком I2C;
- резистор 10 кОм;
- плата макетная;
- припой;
- 40-контактный однорядный разъем;
- соединительные провода.
Придется паять и работать с контактами, поэтому также необходим паяльник и плоскогубцы.
Сенсор давления
Таковым послужит барометрический датчик с интерфейсом I2C BMP180. Он станет контролировать абсолютное значение параметра вокруг себя. Падение обычно сигнализирует о приближении грозы и наступлении дождя (поскольку им сопутствует область низкого давления), а увеличение, наоборот, говорит о прохождении области низкого давления и наступлении ясной сухой погоды.
Давление всегда зависит от высоты над уровнем моря и погодных условий в зоне измерения. Но в нашем случае измеряется относительное — как если бы метеостанция находилась на уровне моря.
Кроме того, монитор погоды должен быть защищен и от нагрева — воздействие источников тепла исказит показания температуры. Попадание воды также внесет помехи, в конструкции это нужно учесть и предусмотреть защиту.
Еще один важный момент — светочувствительность. Благодаря силикону в конструктиве BMP180 он способен улавливать попадающий через отверстие в корпусе микрочипа свет и нагреваться. Максимально точные измерения потребуют изоляции от окружающего света.
BMP180 соединяется через шину I2C по следующей схеме:
A4 — SDA;
A5 — SCL;
3.3V — VCC;
GND — GND.
Сборка
Процесс сборки начинается с монтажа однорядных разъемов для DHT22 и Arduino:
От вывода DATA к GND припаян резистор на 10 кОм.
Далее монтируется разъем для BMP180 (питаться датчик будет от линии 3.3 В). Компоненты соединяются шиной I2C.
На последнем этапе та же шина соединяется с дисплеем.
Так выглядит домашняя метеостанция в сборе:
Пример вывода информации об атмосферном давлении:
Программный код
Для работы понадобятся скетч Ардуино и библиотеки датчиков. Все они доступны в приложениях к статье.
Текст скетча можно скачать здесь: https://cloud.mail.ru/public/piwT/gew8pPv7M
Рейтинг лучших производителей домашних метеоприборов
В рейтинге метеостанций приведены две категории — аналоговые и цифровые установки. Опираясь на приведенные параметры, плюсы и недостатки приборов, пользователь способен решить, какой аппарат подходит ему больше всего.
Цифровые метеостанции
Модель | Характеристики |
Бюджетный сегмент | |
RST 02100
Небольшое метеорологическое устройство, относящееся к модифицированному типу термометров. Достоинства:
Недостатки: отсутствие дополнительных опций. |
|
Средний ценовой сегмент | |
HAMA EWS-850
Простой в использовании прибор с радиусом действия 30 метров. Комплектуется одним беспроводным анализатором, набором пальчиковых батарей. Достоинства:
Недостатки:
|
|
Премиум-класс | |
Oregon LW301
Это передовая станция с полным комплектом погодных анализаторов. Позволяет следить за сложными климатическими условиями на объекте, используя подключение к интернету. Модель обладает устойчивость к температурным перепадам. Плюсы:
Минусы:
Базовый комплект может меняться производителем без уведомления:
|
К сведению: если погодная установка с барометром питается от батарейки, то на экран выводится информация об уровне зарядки.
Профессиональные станции
Модель | Характеристики |
Бюджетный вариант | |
La Crosse WS9057
Прибор оснащен беспроводным выносным анализатором с радиусом приема 100 метров (в комплекте один с возможностью расширения до 3). Плюсы:
Минусы:
|
|
Средний ценовой сегмент | |
Netatmo Urban Weather Station
Беспроводная погодная станция с простой установкой и эксплуатацией. Не имеет ограничений в перемещении по дому, поэтому внутренний блок допускается переносить в разные комнаты. Положительные стороны:
Отрицательные факторы: высокая стоимость 10,990-11.490 рублей. |
|
Премиум-класс | |
RST 01921
Технологичная станция для наблюдения за метеоусловиями. Комплектуется 6 датчиками. Передает информацию с частотой 868 МГц. Базовая функциональность позволяет получать сведения о прогнозе погоды, сохранять информацию, показывает часы и календарь. Положительные стороны:
Отрицательные факторы: стоимость 20.000-21.000 рублей. |
Наличие световой индикации (вывод данных на дисплей), позволяет человеку учесть изменившуюся погоду за окном. Установка подскажет, что на улице заморозки, будет дождь или жара.
Arduino: как сделать термометр
- После того, как вы поработали со своим ЖК-дисплеем, вы можете самостоятельно сделать небольшой термометр. Для этого вам также будет нужен NTC и резистор 10 кОм.
- Подключите все компоненты, как показано на рисунке.
- Теперь вам нужно в самом начале вашего кода вставить команду «int tempPin = 0;», чтобы Arduino знал, после какого (аналогового) контакта вы подключили NTC.
- Затем добавьте в void loop() команду «int tempReading = analogRead(tempPin);», а затем команду «double tempK = log(10000.0 * ((1024.0 / tempReading — 1)));», и еще команду «tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK )) * tempK );» без кавычек. Под переменной «tempK» была задана и сохранена температура в Кельвинах.
- Изменить это вы можете с помощью команды «float tempC = tempK — 273.15;» и легко конвертировать единицы измерения в Цельсии.
- Теперь добавьте (все еще в void loop) команду «lcd.setCursor (0, 0);» чтобы поместить курсор в начало. После этого вам понадобится команда «lcd.print (tempC)»; для отображения температуры на дисплее. Поскольку курсор теперь всегда будет размещаться в начале, вам не нужно будет дополнительно вставлять команду lcd.clear ().
Фото: компании-производители
- Мини-ПК Raspberry Pi 3 Model B+ сможет стать центром «умного» дома
- Xiaomi выпустила метеостанцию с E Ink-дисплеем всего за $9