Комнатная метеостанция на Arduino

Однажды, исследуя просторы интернета наткнулся я на интересную плату Arduino. Меня очень заинтересовала эта плата. С ее помощью можно сделать самому робота, метеостанцию, сигнализацию и даже что-то посерьезней, например — «Умный Дом».

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

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

Вот так метеостанция будет выглядеть в сборе:

image

Наверно, вам захотелось собрать такое же устройство, ну что же, не будем тянуть.

Возможности


Но для начала посмотрим, что наша метеостанция может делать:

1) Показывать текущую дату и время;
2) Показывать текущую температуру;
3) Показывать текущую влажность;
4) Показывать текущее атмосферное давление.

Состав


Что нам понадобится для реализации этой метеостанции:

1) Сам микроконтроллер Arduino (я использовал Arduino nano v3);
2) Датчик температуры и влажности Dht22 (маленькие погрешности в показаниях);
3) Барометр BMP085, он много чего может, например, измерение атмосферного давления, температуры, уровень над уровнем моря;
4) Часы реального времени DS3231 (он очень точный и легко настраивается);
5) Нам надо еще это выводить куда-то, мной был выбрал всем известный экран от Nokia 5110;
6) Прямые руки, без этого никак.

По необходимости:

7) Блок для батареек, для питания всей конструкции. Я питаю от Usb. От батареек не живет пару дней;
8) Переключатель, он тут для того, чтобы включать подсветку у экрана по мере необходимости;
9) Кусок фанеры и ножки.
10) Разъем для подключения блока питания.

Подключение


Теперь давайте рассмотрим, куда и как что подключать.

1) Первым будет наш экран:
pin 3 — Serial clock out (SCLK)
pin 4 — Serial data out (DIN)
pin 5 — Data/Command select (D/C)
pin 7 — LCD chip select (CS)
pin 6 — LCD reset (RST)
Питание 3.3V

2) Далее датчик температуры и влажности Dht22:
pin 10 — DAT
Питание 5V

3) Третьим будет барометр:
pin 4 — SDA
pin 5 — SCL
Питание 5V

4) Далее часы реального времени:
pin 4 — SDA
pin 5 — SCL
Питание 5V

Не забываем подключать питание и землю.

Код


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

Код
#include <LCD5110_Graph.h>
#include "DHT.h"
#include <Wire.h>
#include <BMP085.h>
#include "RTClib.h"
#define DHTPIN 10     // 10 pin для датчика DHT22
#define DHTTYPE DHT22

RTC_DS1307 RTC;
BMP085 dps = BMP085();
DHT dht(DHTPIN, DHTTYPE);

long temp3 = 0, Pressure = 0, Altitude = 0;

// pin 3 - Serial clock out (SCLK)
// pin 4 - Serial data out (DIN)
// pin 5 - Data/Command select (D/C)
// pin 7 - LCD chip select (CS)
// pin 6 - LCD reset (RST)

LCD5110 myGLCD(3, 4, 5, 6, 7);

extern unsigned char SmallFont[];

void setup() {

  myGLCD.InitLCD();
  myGLCD.setFont(SmallFont);

  Wire.begin();
  RTC.begin();
  dht.begin();
  delay(2000);

  dps.init(MODE_ULTRA_HIGHRES, 3200, true); // 3200 это 32 метра над уровнем моря (Питер на такой высоте располагается+ надо добавить несколько метров в зависимости от этажа на котором живете)

}

void loop() {

  dps.getPressure(&Pressure);
  dps.getAltitude(&Altitude);
  dps.getTemperature(&temp3);
  DateTime now = RTC.now();


  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius
  float t = dht.readTemperature();


  myGLCD.setFont(SmallFont); // задаем маленький размер шрифта на экране
  myGLCD.clrScr(); // Очистка экрана

  myGLCD.print("Time=", LEFT, 0);  //задаем время
  myGLCD.printNumI(int(now.hour()), 32, 0); // 32,0 означет 32=номер пропуска в строке, те откуда будем печатать. 0=номер строки
  myGLCD.print(":", 45, 0);
  myGLCD.printNumI(int(now.minute()), 50, 0);
  myGLCD.print(":", 62, 0);
  myGLCD.printNumI(int(now.second()), 67, 0);

  myGLCD.print("Date=", LEFT, 10);       //задаем дату
  myGLCD.printNumI(int(now.day()), 32, 10);
  myGLCD.print("/", 44, 10);
  myGLCD.printNumI(int(now.month()), 50, 10);
  myGLCD.print("/", 62, 10);
  myGLCD.printNumI(int(now.year() - 2000), 68, 10);

  myGLCD.print("T=", LEFT, 20); //задаем температуру
  myGLCD.printNumF(t, 2, 13, 20);  //Это температура с DHT22
  myGLCD.print("/", 45, 20);
  myGLCD.printNumF(temp3 * 0.1, 2, 53, 20); //Это температура с барометра

  myGLCD.print("Hum=", LEFT, 30); // задаем влажность с DHT22
  myGLCD.printNumF(h, 2, 28, 30);
  myGLCD.print("%", 63, 30);

  myGLCD.print("Pres=", LEFT, 40); // задаем атмосферное давление
  myGLCD.printNumF(Pressure / 133.3, 2, 31, 40); //рассчет атмосферного давления
  myGLCD.print("mm", 68, 40);

  // Serial.print("  Alt(m):");          кому надо, это текущая высота над уровнем моря
  // Serial.print(Altitude / 100);

  myGLCD.update(); // Вывод вместимого буфера на дисплей
  delay (1000); // Задержка 1 с

}



Пример работы метеостанции


Фотографии устройства
image

image

Видео



Исходники


Нужные библиотеки и сам код программы доступен по
ссылке.

Если есть какие-то вопросы или пожелания — пишите.
Share post
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 108

    +5
    Насколько я понимаю, батарейки он поедает именно из-за того, что постоянно молотит пустые такты в delay(). Чтобы сделать устройство экономичным, нужно копать в сторону использования аппаратных таймеров c прерываниями, и усыпления контроллера между периодами. Если интересно развивать тему, конечно же)
      +3
      Конечно интересно. Но если использовать прерывания, разве я тогда смогу получать данные с датчиков каждую секунду?
        0
        Да, нужно как-то настроить аппаратный таймер, чтобы он вызывал прерывание каждую секунду (на ардуино я такого ещё не делал, но возможность вроде есть), а уже в прерывании опрашивать датчики и обновлять дисплей.
          0
          Хм, а тогда не получится тоже самое что и сейчас (по энергозатратам)?
            +1
            Так смысл в том, чтобы в оставшееся время переводить контроллер в режим пониженного энергопотребления, вместо того чтобы выполнять пустые такты. Теоретически потребление должно упасть на порядки) Если опубликуете об этом пост — будет очень полезно, потому что тема перевода ардуино в режим пониженного потребления в интернете плохо раскрыта.
              +1
              AVR прекрасно переводится в режим сна с пробуждением от сторожевого таймера раз в секунду. В режиме сна ядро стоит, таймеры стоят, все — стоит, только сторожевой таймер тикает. Потребление при этом измеряется в наноамперах.

              К сожалению, ардуиновская библиотека мне не знакома, для AVR я пишу на Си и ассемблере, но примеры кода мигания светодиодом со сном в паузах я собрал видимо все
                0
                Так вроде ардуиновская библиотека это просто надстройка над либами AVR, поэтому никто не мешает их использовать. Готовый пример для сна МК на 8 секунд:
                Скрытый текст
                #include <avr/sleep.h>
                #include <avr/power.h> 
                #include <avr/wdt.h> 
                
                volatile boolean wdt_tripped=1;
                
                void system_sleep() 
                {
                	delay(2);                            // Wait for serial traffic
                	_SFR_BYTE(ADCSRA) &= ~_BV(ADEN);     // Switch ADC off
                	set_sleep_mode(SLEEP_MODE_PWR_DOWN);
                	sleep_enable();
                	sleep_mode();                        // System sleeps here
                	sleep_disable();
                	_SFR_BYTE(ADCSRA) |= _BV(ADEN);      // Switch ADC on
                }
                
                void wdt_interrupt_mode()
                {
                	wdt_reset();
                	WDTCSR |= _BV(WDIE); // Restore WDT interrupt mode
                }
                
                void wdt_reset_mode()
                {
                	wdt_reset();
                	WDTCSR &= ~_BV(WDIE); // Enable WDT reset mode
                } 
                
                ISR(WDT_vect) 
                {
                	wdt_tripped=1;  // set global volatile variable
                } 
                
                ...
                
                void setup()
                {
                  wdt_disable();
                  wdt_reset_mode();
                  wdt_enable(WDTO_8S); 
                }
                
                void loop()
                {
                  wdt_interrupt_mode();
                  if (wdt_tripped) {
                    wdt_tripped = 0;
                    delay(10);
                  }
                
                  system_sleep();
                  wdt_reset_mode();  
                
                //read sensors, display data
                }   
                



                Единственное отличие, то что старые загрузчики арудино не дружат с wdt_reset_mode, и если сторожевой таймер установлен на 8 секунд, а время чтения сенсоров будет дольше этого значения и не будет вызван wdt_reset, то таймер сработает и МК уйдёт в boot-loop, весело моргая светодиодом. Для фикса можно залить кастомный бутлоадер, который при старте делает сброс таймера, либо не использовать reset_mode.
                  0
                  Авторам примера видимо невдомек, что контроллер сам прекрасно знает, от какого источника он сбросился и выставляет соответствующий признак в регистре MCUCSR.

                  Здесь же для этого городят отдельный флаг, для подъема этого флага — отдельный обработчик прерывания. Отвратительно.

                  Внимание! Симулятор четвертой АВР-студии с установкой MCUCSR откровенно лажает: www.avrfreaks.net/forum/mcucsr-wdrf
                    0
                    А, тут применен другой способ — контроллер укладывают спать, а потом он будится сторожевым таймером и сразу уходит в прерывание, без сброса. Тогда все вроде как легитимно.
                  0
                  Если не переводить вачдог обратно в reset-mode, то никаких проблем не будет. Учитывая, что без специального бутлоадера оно все равно нормально работать не будет, это ничего плохого не сделает.
          +4
          А зачем, кстати, каждую секунду-то? Достаточно раз в полчаса получать — никто еще не умирал от того, что прогноз погоды по ТВ сообщают не каждую секунду и даже не каждый час. Про деревни без ТВ вообще молчу.

          Другое дело, что в nano слишком много того, что кушает батарейки и без ежесекундных обновлений. Тот же USB, тот же преобразователь напряжений, тот же светодиод. Собственно, я экспериментировал со стандартными библиотеками сна и пришел к простому выводу: не умеешь на чистом c++ — забудь про энергосбережение на AVR.

          Поэтому забыл, питаюсь от сети, получаю данные раз в полчаса (чтобы не занимать зря радиоканал беспроводным датчиком) и, не поверите, счастлив.
            0
            Ну например, тут есть часы и они работают с точностью до секунды. Люблю точность. Ну а если точность не нужна, да и минут тебе хватает, то вполне можно обновлять данные раз в минуту. Ну а если вообще убрать отсюда часы то и раз в 15-30 минут можно снимать показания.
              0
              Это, конечно, прекрасно, но лично я не понимаю, причем тут часы и точность до секунды, если не предусмотрено хранение данных. Нет, правда, я не со зла — просто не понимаю смысла в такой интеграции. Так что убрать часы — не самый плохой ход.

              Да и вообще, климатические параметры за секунду обычно не меняются, это не те процессы.
                0
                ну у меня реализовано так что все крутиться в одном цикле и время и датчики. Если опрашивать датчики например раз в 3 секунды, то секунды на экране будут обновляться раз в три секунды.
                  0
                  spc имеет ввиду то, что часы по факту вам незачем, а правда зачем? Обновляйте таймер, раз в 10 сек.
                  0
                  Меняются во время грозы, например.
                  0
                  Часы (отдельную микросхему) отсюда можно выбросить и считать время самим контроллером. Точность даже лучше выйдет.

                  Только кому интересно — то в регистрах сейчас копаться? Чай не 80е. Фигак — и в продакшен!
                    0
                    а как вы будите получать изначальное время и дату? + выключишь контроллер и все время и дата пропала. А с датчиком реального времени все просто, задал ему время и все, он будет его держать и продолжать считать пока его собственная батарейка не сядет.
                      0
                      Пока контроллер спит, его сторожевой таймер тикает, как только натикает — разбудит ядро, ядро прибавит единичку к счетчику секунд и завалится дальше спать.
                        0
                        А если пропало питание микроконтроллера? Все пропадет и придется все заново настраивать. А с датчиком реального времени все будет нормально, подал питание на микроконтроллер и на экране реальное время.

                        Ваш метод хорош, когда не нужна точность и нужно просто будить по времени устройство.
                          0
                          При моем методе сам контроллер питается от батарейки, его питание никуда и никогда не девается. Если уж прям вот хочется точности, можно брать время с GPS или с «пиков» радио «Маяк». И настройка не нужна.
                            0
                            Часы можно оставить, они жрут мизерно, и у них есть своя батарея, их не обязательно постоянно питать вообще. Можно при включении контроллера спрашивать время у часов, затем считать контроллером. Только зачем? Опрос сожрет много энергии? Все таки бутылочное горлышко совсем не в часах.
                0
                А на сколько Вам важно в метеостанции проверять данные каждую секунду? Мне вот раз в минуту вполне хватает. + при частом опросе датчики могут греется и от того показывать завышенную температуру.
                  +1
                  Кстати еще можно часы опрашивать раз в секунду, а остальные датчики — запоминать их показания и опрашивать пореже, так в итоге сэкономите энергию и датчики не будут пытаться перегреваться.
                    +1
                    Еще можно ключом (или даже ножкой контроллера, не думаю, что датчикам нужно больше 20 миллиампер) питание с датчиков снимать на то время, пока их показания не нужны.
                      0
                      Насколько я помню, для того же dht22 это не самая лучшая идея — ему нужно некоторое время на инициализацию.
                      Да и вообще я смотрел — у меня подобный набор датчиков на фоне Ардуино вообще не заметен в плане потребления энергии во время спячки. Разве что саму ардуино отключать и давать ей питание лишь раз в минуту(или какой кому нужен интервал) на нужное время.
                        0
                        DHT22 в режиме ожидания потребляет что-то около 10мкА, BMP085 около 6мкА, Arduino Pro Mini (с AtMega328) в режиме сна потребляет 0.23мА. Во время съёма и передачи данных всё это дело потребляет около 20мА, правда замеры производились китайским мультиметром, а не осциллографом, поэтому могут быть сильно не точными. Но в любом случае, если добавить к этому набору солнечную батарейку (на 5В и 20-100мА) с аккумулятором или ионистором, то про замену батареек можно забыть надолго.
                          0
                          Похоже у меня какая-то неправильная Arduino, меньше чем 2 милиампера она отказывается потреблять.
                            0
                            Насколько я помню, большую часть этих 2мА потребляет светодиод, показывающий наличие питания. Но он легко выламывается\выпаивается. Кстати, с AtMega32u4 (Arduino Pro Micro) без светодиода потребление ещё чуть меньше, 0.16мА в режиме сна.
                              0
                              Уточню, что пожиранием занимается все же резистор, установленный вместе со светодиодом последовательно. Если есть потребность сохранить индикацию и не транжирить энергию, нужно соорудить этому светодиоду импульсное питание.
                                0
                                У меня его отламывание сэкономило где-то 0,5мА. Ну и да, у меня не оригинальная ардуина, потому вполне возможно, что просто китайцы поставили сильножрущий стабилизатор напряжения или еще что, пока сильно разбираться было лень.
                  • UFO just landed and posted this here
                  +1
                  Не только по этому, ардуино вообще жрет непростительно много для питания от батареек, ну и для этого тогда лучше использовать pro mini, в ней нет USB-2-COM конвертора, который отъедает не мало. Ну и вообще в Интернете есть куча статей о том, как бы чего от ардуины отломать (в прямом смысле), что бы она меньше ела.
                  • UFO just landed and posted this here
                      0
                      Да я верю :) но просто некоторые вещи особо нет смысла отламывать, а некоторые вроде светодиодов и стабилизатора (если он не используется) — более чем
                • UFO just landed and posted this here
                    0
                    В среднем, если конечно все с Китая заказывать, то где то 1100. Это вообще все + провода.
                    • UFO just landed and posted this here
                      • UFO just landed and posted this here
                          0
                          Вот еще неплохой, на мой взгляд, продавец.
                            0
                            Я бы даже сказал, что идеальный. Есть почти все необходимое, в большинстве случаев цены ниже чем у других, отправляет быстро.

                            И мне кажется, что вместо bmp085 лучше взять bmp180, он немного дешевле и точнее. А вместо DHT22 взять SHT21, он хоть и стоит дороже, но зато показания с него читаются стабильно и привирает не так часто, плюс подключается тоже по i2c.
                          +1
                          Я отсюда в основном заказываю AliExpress.
                            0
                            Вы только учтите что у этой коробочки 32 КБ памяти. Подключаем библиотеку термометра, барометра и интернет шилда и получаем 6-10 КБ под код. Не всё так радужно
                              +1
                              А если выкинуть ардуиновские библиотеки и почитать даташиты, термометр и барометр займут байт по 200-300, сеть — килобайт, может два.
                              0
                              electrodragon.com неплох весьма, правда, чуть дороже… И отзывы пишите перед новой покупкой…
                              +1
                              И разве оно этого стоит? Ну конечно если только ради обучения… готовые решения намного дешевле…
                              Вот у меня такой стоит: www.ebay.com/itm/New-LCD-Digital-Alarm-Clock-Thermometer-temperature-Humidity-Hygrometer-Meter-/161114624108

                              Преимущества:
                              1. готовое решение, влажность/температура/часы, работает одновременно и снаружи и внутри помещения.
                              2. автономность работы — от батарейки уже 2 года работает, ни разу не менял.
                              3. Цена — 5$ это явно дешевле ардуино+детали+работа.

                                +1
                                Точность датчиков представленных в данном проекте например выше в разы чем в этом устройстве. Плюс проект можно усовершенствовать и подстроить под свои нужды. Ну и кому что нужно, как говорится.
                                  0
                                  Откуда такая информация про точность, кстати? Если верить описанию DHT22, то у него точность по влажности до +-5% по влажности и до +-0.2C по температуре.

                                  Не говоря о том, что по этому датчику рекомендуемая частота обновлений не чаще раз в 2 секунды (он иначе не успевает).

                                  Другое, конечно, дело, что оставшиеся ресурсы Arduino можно и под другие цели пустить.
                                    0
                                    DHT22 действительно врёт в вопросах влажности. Но это враньё имеет закономерность. Если вычислить эту закономерность, используя множественные измерения при разной влажности и сравнивая с калиброванным аналоговым гигрометром, то программно можно подправлять показания, точность будет примерно плюс-минус 2%.
                                    Температуру показывал точно. Опять же, возможно, что описанное поведение зависит от конкретного экземпляра.
                                      0
                                      Это повезло с экземпляром. Мой вот любит показывать 99% влажность, когда сыро. Как высыхает — снова становится адекватен.
                                • UFO just landed and posted this here
                                    +1
                                    В наших магазинах Arduino в любых видах нереально «подороже», так что Ebay и Aliexpress — наше все.
                                    +1
                                    У меня тоже такой термометр есть. Та еще дрянь. Термометр врет, причем погрешность не постоянна, а зависит от температуры, и ее нельзя скомпенсировать. Показометр влажности вообще показывает произвольные числа, надежно показывает только 100% влажность. Нижний порог влажности у него 25-30%, но когда он показывает 30% на самом деле ближе к 70%. Я пробовал несколько похожих девайсов, все одинаково хреново ведут себя.
                                +2
                                Спасибо родной.

                                Давно хотел сделать то же самое но для под водой, возьму ваш проeкт за основу.

                                Исходники лучше на git залить — мало ли что у mail.ru случится.
                                  +1
                                  Не за что. Давно хотел там зарегистрироваться, вот появилась возможность. В течении пару дней, наверно выложу исходники туда.
                                  +2
                                  А над более удачным корпусом не задумывались? На первый взгляд смотрится не очень презентабельно, учитывая то что это не прототип а уже готовое устройство.
                                    +1
                                    Задумывался конечно, например планировал все спрятать за этот кусок фанеры и вырезать отверстие под экран. Но так как это для дома, то оставил так + это выглядит очень интересно и необычно. Друзья как только входят в комнату, сразу обращают внимание на странное устройство с проводами.
                                      +1
                                      Предлагаю сделать все на прозрачной или матовой основе со слабой подсветкой. Аккуратно провести разводку и возможно добавить некоторые детали для красоты. Думаю интерес будет не меньший, а выглядеть намного приятнее.
                                    0
                                    со2 еще надо мониторить в домашней метеостанции, для того чтобы знать, когда проветривать
                                    +1
                                    Брал вот такую 4 года назад smartliving.ru/Main/WeatherStation на ебей. Цена вопроса 3000р. До сих пор стоит на крыше дома, раз в год меняются батарейки. Внутренний блок показывает параметры в помещении. Итого имеем температуру, влажность, давление внутри и снаружи, направление ветра, скорость ветра и датчик осадков снаружи. Внутренний блок спокойно подключается к windows и linux.

                                    Зачем делать такую поделку из ардуины — непонятно. Разве что интерес.
                                      0
                                      Такую погодную станцию хоть сейчас бы купил за 3000руб, но на ебей она продаётся уже за 8000руб. Жаба с такой ценой пока что не согласна.
                                        0
                                        Вы правы, не отслеживал как-то цены на подобные станции, действительно взлетели.
                                        0
                                        Давление внутри и снаружи

                                        А это для чего? И оно (давление) отличается?
                                          0
                                          Имелось в виду «температуру, влажность, давление» внутри и снаружи. Конкретно давление внутри и снаружи это, конечно, одно и то же :)
                                        0
                                        А можно ли вместо выключателя поставить датчик освещенности? А то как-то не комильфо руками включать…
                                          0
                                          Еще можно управлять включением-выключением подсветки экрана в зависимости от времени суток. Логика примитивная: например включать после 19:00 и выключать после 6:00, как вариант.
                                            0
                                            Летом темнеет позже, зимой раньше, придется раз в N недель подстраивать (т.е. перепрошивать ардуинку) — тоже как-то не юзер-френдли.
                                              0
                                              Время заката и рассвета можно рассчитать для любого времени/даты и любых координат на Земле.
                                                0
                                                На avr? Зачем? Опять же надо вводить свои координаты, или вы предлагаете снабдить схему еще и GPS-приемником? Не поверю, что датчик освещенности сложнее.

                                                Не говоря уж о том, что из-за пасмурной погоды (или занавешенных штор) может стемнеть раньше.
                                                  0
                                                  Датчик освещенности очевидно практичнее, а вот наличие GPS обеспечит нас точным временем.
                                                    0
                                                    Да, про точное время я не подумал.
                                                    А нельзя ли получать точное время например от компа (который узнает его по NTP и отдает, например, в последовательный порт?)
                                                      0
                                                      Не проблема, с помощью, например, HC-05 это можно проделывать даже от смартфона по Bluetooth.
                                                        0
                                                        Дополню — с этим модулем можно, пользуясь смартфором как модемом, подключиться к Интернету, узнать время и отправить измерения куда следует.
                                                          0
                                                          А вот это уже интересно, да.
                                                0
                                                Ну если есть RTC, значит и календарь есть, а там можно поизголяться и над более сложной логикой ;)
                                                Но это все шутки. Я у себя на малинку подкинул 20х4 экранчик и подсветку выставил таким образом, что при нормальном освещении ее просто незаметно, а в полумраке — чтобы было нормально видно. При этом не настолько яркую, чтобы ночью фонарем светила.
                                                  0
                                                  Вариант, да.
                                                    0
                                                    У этого экрана, вроде подсветка работает только так- она либо включена либо нет. Я скорее всего добавлю светорезистор и все, как только порог темноты будет достигнут дисплей включится.
                                                      0
                                                      Да, но ее яркость регулируется сопротивлением. Я поставил подстроечное, настроил один раз и забыл
                                                        0
                                                        Хорошая идея, так можно хорошо настроить яркость экрана.
                                                        +1
                                                        Там обычные светодиоды, сколько тока на них дать, так и будут светиться, как следствие, поставить потенциометр и можно менять яркость. еще можно при помощи ШИМа это делать.
                                                  0
                                                  И еще датчик движения :) Зачем светить, если все равно рядом никого нет?
                                                    0
                                                    Я думаю это уже перебор для проекта метеостанция)
                                                      0
                                                      Ну это уже Вам решать, я себе повесил :)
                                                      0
                                                      Да, тоже неплохо. Только бы не вышло, как бывает с этими дверями — машешь им, машешь, а они реагируют примерно столь же активно, как зеркало на вампира.
                                                        0
                                                        Ну… у меня пока проблем не было, ну точнее были только ложные срабатывания, несрабатываний не было. С дверьми проблема больше в том, что датчики стоят криво. Так же помню стояли охранные датчики в другой квартире, они очень хорошо реагировали на любое движение, а принцип действия в них тот же.
                                                    0
                                                    > Вот так метеостанция будет выглядеть в сборе

                                                    Только не надо говорить, что это будет оконечным видом «прибора». Мне страшно!
                                                      +2
                                                      у таких приборов нет оконечного вида :)
                                                        +1
                                                        Что, так наколеночным велосипедом и останется? Жуть!
                                                        Неужто после макетирования не вариант развести плату, отЛУТить и спаять все по-человечески, без этой дикой горы проводочков и макеток?
                                                        Зачем ардуинство разводить?
                                                          0
                                                          По внешнему виду понятно, что целью был процесс, а не результат
                                                            +1
                                                            Судя по коду, не сказал бы, что процесс был целью…
                                                      +1
                                                      Пожелание:
                                                      Много написали о целесообразности…
                                                      Есть важная фича, в проекте не развитая. Это предсказание погоды по барометру. Грубо: падение давления — к осадкам, повышение — к солнцу. Ну и отображать изменение давления в периоде и символ погоды.
                                                        +1
                                                        Я тоже на это надеялся, поставил датчик атмосферного давления, и в итоге как-то совсем не получается у меня глядя на давление и его историю предсказать осадки… ну где-то в 30% случаев разве что.
                                                          0
                                                          Желательно этот эффект исследовать. Я анализировал станции с усредненной истории давления за период до 12 часов, 5-8 измерений. Даже возможность отображения такой шкалы принесло бы большую пользу.

                                                          Пожелание:
                                                          Из дополнительных фич:
                                                          Датчик осадков. Подскажет брать зонт или нет. (Может потребоваться подогрев).
                                                          Датчик силы (не направления!) ветра.
                                                            0
                                                            Я это объяснил это тем, что за окном Питер :)
                                                            Датчик ветра это хорошо, но мне кажется, что его лучше ставить на крышу дома, что в условиях города не очень удобно, сейчас у меня пока датчик просто приклеен к козырьку за окном.
                                                        0
                                                        Объясните глупому: практическое применение метеостанций этих?
                                                        Вот лично (субъективное мнение) для меня даже не интересно знать температуру внутри квартиры, не говоря уже о давлении и влажности. Уличную узнать — в трее висит виджет, там же и прогноз.
                                                        Может я чего не понимаю, но для чего вам эти данные?
                                                          +2
                                                          «Потому что могу» (с)
                                                          Ну а если серьезно, у меня вот на балконе мониторится температура, что бы цветы не замерзли. Правда пока так и не реализовал управление теплым полом (потому что нет его, теплого пола =]), но скоро и это будет.
                                                          Понимать, это в квартире холодно или просто ты простыл и тебе везде холодно, управлять отоплением и проверять, не дурит-ли тебя ЖКХ отключая ночью батареи :)
                                                            +1
                                                            Я, например, живу в таком месте, что виджет в трее часто серьезно врет. Плюс статистика — по графику за неделю/месяц видно, куда вообще температура движется. Про давление вообще молчу — очень удобно по тому же графику понимать, что ждет впереди и от чего болит голова.
                                                              +1
                                                              Человек больше недоумевает, зачем знать температуру и влажность в квартире, где и так можно по своим ощущениям сказать, как обстоят дела.
                                                                0
                                                                Влажность по ощущениям не скажешь. А, например, многим комнатным растениям влажность критична, да и для людей тоже лучше не выходить за определенные пределы.
                                                            • UFO just landed and posted this here
                                                                +1
                                                                Позволю не согласиться: для меня температура окружающей среды в 36 градусов при любой влажности АДу подобно (просто не люблю жару). И температура воздуха, влажность на мой взгляд проще и удобнее определяется самим организмом.

                                                                Видимо я так и не проникнусь полезностью идеи постройки/покупки/использованию метеостанции :)
                                                                  +1
                                                                  36 градусов мало кто хорошо переносит.
                                                                  Насчет 36 при 70% и 38 при 55% — надо посчитать какой-нибудь там Humidex.
                                                                  +1
                                                                  для того что бы люди(особенно дети) не болели — у воздуха должны быть определённые параметры, поэтому их важно мониторить.

                                                                Only users with full accounts can post comments. Log in, please.