Основа для умной комнаты, или как Arduino в общежитии живёт


    И вновь привет, Хаброжители! Ежедневно читая Хабр, я не раз наталкивался на статьи об Arduino и DIY проектах на его основе. Стоит заметить, что с электроникой я дел не имел, а весь мой опыт заключался в посещении радиокружка на базе подросткового клуба «Огонёк» (г. Петрозаводск). Однажды я собрался и решил сделать на Arduino браслет с сенсорами (температура, давление, пульс) для смартфона (связь по BT) Но сделав ошибку при заказе, я получил лишь сам Arduino и датчик давления. Чтобы протестировать плату я отправился в ближайший магазин радиодеталей за светодиодами, и там на глаза мне попался магнитный датчик закрытия двери. Он натолкнул меня на мысль, что можно было бы немного усовершенствовать жизнь в комнате (не путать с квартирой). Не тратя время, я оформил на Ali заказ с кучей сенсоров и Arduino Mega.

    После заказа джентльменского набора сенсоров (температура, влажность, реле, StarterKit, BT, часы, дальнометр, IR датчик) я решил поискать как другие представляют умный дом. Большинство ограничивалось: управлением люстрами и тёплыми полами, хотя были и реально крутые статьи. Часть функций, обыденных для квартир, в комнате были просто лишними: например, датчик утечки газа или протечки. Я решил сам составить функционал, необходимый в умной комнате:

    • Управление светом
    • Контроль температуры
    • Управление множеством способов
    • Управление дверью
    • Мониторинг температуры
    • Мониторинг погоды


    Оказалось, что все необходимые сенсоры уже заказаны и остаётся только ждать. И вот все сенсоры пришли!

    Первый шаг


    Когда ты уже помигал светодиодами и решил собрать умный дом, логичным шагом было бы помигать светом в комнате, но ранняя жара заставила заняться контролем температуры. Для начала я просто попытался подключить dht11 из StarterKita. Что может быть проще, если в интернете полно инструкций? Как оказалось, для подключения dht11 есть множество библиотек и не все они совместимы с последними версиями IDE, но спустя пару часов я любовался температурой выведенной в консоль, а ещё через пару минут светодиодом, мигающим в зависимости от неё. (Отключить датчик, положить в холодильник, достать из холодильника, подключить...)

    Первой же проблемой стала низкая точность выбранного dht11: он врал на 2-3 градуса в обе стороны — пришлось его заменить (после этого я стараюсь заказывать датчики в нескольких вариантах).

    Затем я отправился в LeroyMerlin и приобрёл там самый простой вентилятор. После нескольких минут возни с проводами и вилкой вентилятор был собран. Вместе с соседом сняли форточку и установили его (вентилятор, не соседа) на освободившееся место. Мы воткнули вилку в розетку и… Вентилятор начал вращаться. Медленно. Очень медленно.
    Стоит ли говорить, что мы неправильно установили вилку, а вентилятор вращался от ветра?



    Конечно, доступно ручное отключение тока. Но как же лучше управлять вентилятором через реле? Подключить напрямую к вентилятору? Я решил подключить вентилятор к реле через розетку: это придаёт гибкость системе (можно заменить вентилятор на что-либо другое).

    Тестирование вентиляции


    И вот код переписан со светодиода на реле. Прошивка загружена, я мониторю температуру в ожидании необходимой для старта — и вот он тот момент! Реле щёлкает, а COM-порт пропадает. Видимо, в момент переключения нагрузка на USB увеличивается и идёт помеха данным. Сначала я думал, что это из-за помех от 220В проводов, но они находятся на достаточном расстоянии от платы. В последствии это доставило мне немало проблем: при попытки залить новый скетч, Arduino уходит в ребут, переключает реле и тем самым выносит COM-порт, а, значит, и процесс обновления. Я так и не смог побороть эту проблему.

    Управление с пульта


    Конечно, постоянная работа вентилятора вскоре наскучила, а выключать его через выключатель было не круто! Поэтому я достал Starter Kit и пульт ДУ оттуда. Собственно с этого момента и начались проблемы: я понятия не имел, как выглядит приёмник. Но несколько минут гугления помогли мне найти его, а ещё через час я уже весело управлял вентилятором с пульта.

    Сначала это был сложный алгоритм с несколькими флагами, но в итоге я пришёл к небольшому
    алгоритму с таймером
    Если (пришёл сигнал){
    время_ручного_управления = 1800;
    режим_вентилятора =! режим_вентилятора;
    }
    Если (время_ручного_управления != 0){
    время_ручного_управления--;
    }иначе{
    Если(температура < 26){
    режим_вентилятора = false;
    }иначе{
    режим_вентилятора = true;
    }
    }

    Но и тут без проблем не обошлось: обновляя провода, я подал 5V на DATA и очень быстро лишился приёмника. Это и подтолкнуло меня к следующему шагу…

    Управление через BT модуль


    Вскоре я подключил BT модуль HC-06, перенаправил вывод туда и добавил считывание команд. Думал, что будет намного сложнее, но спасибо статье с robocraft.

    Получилось



    Сосед и вентилятор


    Я думал, что научив соседа управлять системой со смартфона, я решу проблему «Эй, мне холодно», но… Если отключение питания вентилятора через выключатель я мог стерпеть, но закрытие форточки меня просто выводило из себя. Почему? Вентилятор дул в стекло на расстоянии нескольких сантиметров и жутко гудел. К счастью, у меня завалялись магнитные датчики, которые и побудили меня на создание системы. Замкнутый датчик сигнализирует Arduino о том, что вентилятор нельзя включать. Увы, иногда шли помехи, поэтому пришлось сделать простейшую проверку: если сигнал о закрытии приходит несколько раз подряд — форточка действительно закрыта.



    Управление светом


    Теперь можно было взяться за управление светом. После вентилятора уже ничего сложного: короб, пара клеммников — и свет уже управляется через Arduino (конечно, с возможностью отключения через старый выключатель). Единственное, что волнует это то, что реле являются не лучшим способом для управления лампочками.

    Проблемы со звуком


    Ну какое же управление светом без хлопков? Мной был заказан микрофон. Так я думал… Помните про неопытность? На самом деле я заказал детектор звука с ручной настройкой порога. Вроде бы годится для моей цели? Но появилась пара «но»:

    • Маленький радиус действия: хлопки обрабатываются только с десятка сантиметров
    • Малая длительность подачи сигнала: при большом времени исполнении кода сигнал с датчика просто не успевал зафиксироваться Arduino


    Возвращение пульта


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



    Выход на улицу


    С окном разобрался, но что за ним? Вооружившись паяльником, я припаял к пятиметровому VGA кабелю датчик дождя и ещё один dht11. Немного U-образных крепежей, чёрной изоленты, мха и система выходит на боевое дежурство.



    А ещё я узнал, что можно выводить русский текст.

    Стало



    Немного удобства


    Кажется, что смартфон всегда под рукой, но пока найдёшь, пока подключишь… Иногда быстрее отключить свет или вентилятор через выключатель, но это лишает возможность управления через Arduino (импульсные реле слишком дороги), поэтому я добавил две обыкновенные кнопки.

    Немного безопасности


    Куда без пожарной сигнализации в общаге технарей? По неопытности, я приобрёл датчик огня, а не дыма. Определение горящей спички на расстоянии до 30 см — это, конечно, круто, но недостаточно. Поэтому пока обошёлся без этого.

    К слову о пожарной сигнализации в общежитии...

    • Динамик, из которого иногда раздаётся сирена или хрип мертвеца
    • Локальный датчик дыма
    • Сетевой датчик дыма (подключён к пульту охраны)


    Общий вид




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

    Код скетча


    Текущее состояние
    #include <IRremote.h>
    #include <IRremoteInt.h>
    #include <DS1302.h>
    #include <DHT.h>
    #define DHT_PIN 2 //пин градусника…
    #define DHT2_PIN 52 //пин уличного градусника…
    #define RAIN_PIN 53 //пин датчика дождя
    #define RECV_PIN 3 //пин подключения IR приёмника
    #define FAN_PIN 4 //пин подключения реле
    #define LAMP_PIN 5 //пин подключения реле
    #define SOUND_PIN A0 //пин подключения микрофона
    #define WINDOW_PIN A1 //пин окна

    #define LAMP_BUT_PIN 50 //пин подключения микрофона
    #define FAN_BUT_PIN 51 //пин окна


    #define DHTTYPE DHT11

    #define TIMER_FAN 0
    #define TIMER_WINDOW 1


    IRrecv irrecv(RECV_PIN);
    decode_results results;
    int timers[2];
    bool FAN_FLAG = false;
    bool LAMP_FLAG = true;
    int WINDOW_VAL = 0;

    bool WINDOW_OPEN = false;
    bool WINDOW_FLAG = false;
    bool RAIN_FLAG = false;

    char incomingByte;

    DHT dht(DHT_PIN, DHTTYPE);
    DHT dht2(DHT2_PIN, DHTTYPE);

    DS1302 rtc(49, 46, 48);
    void setup() {
    Serial1.begin(9600);

    rtc.halt(false);
    rtc.writeProtect(false);
    //rtc.setDOW(SUNDAY); // Set Day-of-Week to FRIDAY
    //rtc.setTime(0, 37, 40); // Set the time to 0:37:00 (24hr format)
    //rtc.setDate(25, 5, 2014); // Set the date to 25 мая

    timers[TIMER_FAN] = 0;
    timers[TIMER_WINDOW] = 0;

    pinMode(RAIN_PIN, INPUT);
    pinMode(LAMP_BUT_PIN, INPUT);
    pinMode(FAN_BUT_PIN, INPUT);

    pinMode(FAN_PIN,OUTPUT);
    pinMode(LAMP_PIN,OUTPUT);

    digitalWrite(FAN_PIN,LOW);
    irrecv.enableIRIn(); // Включаем ресивер

    dht.begin();
    dht2.begin();
    }
    int volume;
    void loop() {
    WINDOW_VAL = analogRead(WINDOW_PIN); //магнитный датчик
    if(WINDOW_VAL > 950){
    if(WINDOW_FLAG){
    timers[TIMER_WINDOW]++;
    if(timers[TIMER_WINDOW]>10){
    WINDOW_OPEN = false;
    }
    }else{
    WINDOW_FLAG=true;
    }
    }else{
    WINDOW_OPEN = true;
    WINDOW_FLAG = false;
    timers[TIMER_WINDOW]=0;
    }

    if(digitalRead(RAIN_PIN)==HIGH){
    RAIN_FLAG=true;
    }else{
    RAIN_FLAG=false;
    }

    volume = analogRead(SOUND_PIN);
    if(volume<40){
    LAMP_FLAG = !LAMP_FLAG;
    }


    if(digitalRead(LAMP_BUT_PIN)==HIGH){
    input_signal(1);
    }
    if(digitalRead(FAN_BUT_PIN)==HIGH){
    input_signal(0);
    }

    if (irrecv.decode(&results))
    {
    if (results.value == 16750695) //Код кнопки
    {
    input_signal(0);
    }
    if (results.value == 16756815) //Код кнопки
    {
    input_signal(1);
    }
    irrecv.resume(); // Получаем следующее значение
    }
    //Serial.println(rtc.getTime().hour);
    //Serial.println(rtc.getTime().min);
    Serial1.print(rtc.getDOWStr());
    Serial1.print(" ");
    Serial1.print(rtc.getDateStr());
    Serial1.print(" — ");
    Serial1.println(rtc.getTimeStr());

    if (Serial1.available() > 0) {
    incomingByte = Serial1.read();
    if(incomingByte == '0') {
    Serial1.println(«Ручной режим деактивирован»);
    input_signal(0);
    }else if(incomingByte == '1') {
    Serial1.println(«Ручной режим активирован»);
    input_signal(0);
    }else if(incomingByte == '2') {
    input_signal(1);
    }
    }

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

    if (isnan(t) || isnan(h)) {
    Serial1.println(«Ошибка чтения с внутреннего термометра»);
    } else {
    if(timers[TIMER_FAN]<=0){
    if (t<26){
    FAN_FLAG = false;
    }else if (t>26){
    FAN_FLAG = true;
    }
    }else{
    timers[TIMER_FAN]--;
    }
    Serial1.print(«Влажность: „);
    Serial1.print(h);
    Serial1.println(“ %\t»);
    Serial1.print(«Температура: „);
    Serial1.print(t);
    Serial1.println(“ *C»);
    }


    if(timers[TIMER_FAN]>0){
    Serial1.print(«Ручному режиму осталось работать: „);
    Serial1.print(timers[TIMER_FAN]);
    Serial1.println(“ сек.»);
    }else{
    Serial1.println(«Ручной режим выключен»);
    }
    if (FAN_FLAG && WINDOW_OPEN){
    digitalWrite(FAN_PIN,HIGH);
    Serial1.println(«Вентилятор включён»);
    }else{
    digitalWrite(FAN_PIN,LOW);
    Serial1.println(«Вентилятор выключен»);
    }

    if(WINDOW_OPEN){
    Serial1.println(«Окно открыто»);
    }else{
    Serial1.println(«Окно закрыто»);
    }


    if(LAMP_FLAG){
    digitalWrite(LAMP_PIN,HIGH);
    }else{
    digitalWrite(LAMP_PIN,LOW);
    }


    h = dht2.readHumidity();
    t = dht2.readTemperature();
    Serial1.println(«За окном:»);
    if (isnan(t) || isnan(h)) {
    Serial1.println(«Ошибка чтения с уличного термометра»);
    } else {
    Serial1.print(«Влажность: „);
    Serial1.print(h);
    Serial1.println(“ %\t»);
    Serial1.print(«Температура: „);
    Serial1.print(t);
    Serial1.println(“ *C»);
    }
    if (RAIN_FLAG) {
    Serial1.println(«Дождя нет»);
    }else{
    Serial1.println(«Дождь»);
    }

    Serial1.println("*****");
    delay(100);
    }

    void input_signal(int signal){
    switch(signal){
    case 0:
    if(rtc.getTime().hour> 1 && rtc.getTime().hour < 8){
    timers[TIMER_FAN] = 1800;
    }else{
    timers[TIMER_FAN] = 18000;
    }
    FAN_FLAG = !FAN_FLAG;

    Serial1.println(«Вентилятор переключён»);
    break;
    case 1:
    LAMP_FLAG = !LAMP_FLAG;
    Serial1.println(«Свет переключён»);
    break;
    }
    }

    А что, если в коде сбой


    Я использую нормальнозамкнутое реле. То есть по умолчанию всё включено: можно отключить Arduino от сети и использовать простые выключатели.

    Планы по развитию


    То, что я перечислил, является лишь основой для действительно умной комнаты. Ведь всё её AI — это включение и отключение вентилятора, в зависимости от температоруы. Я планирую следующее, чтобы сделать комнату более удобной и «автономной».

    Будильник

    После добавления часов в систему следующий на очереди будильник. В качестве сигнала я предполагаю: пьезопищалку, моргание света и включение вентилятора. Ну и конечно, раннее пробуждение, если на улице дождь (-10 к скорости передвижения).

    Добавить систему сохранения будильников на SD карточку с помощью такого модуля (на случай сбоев в питании).

    Приложение на компьютер и смартфон + виджеты

    Какой же умный дом без управления со смартфона или компьютера?

    Предполагаю примерно такую схему:



    Почему не Wi-Fi? Слишком дорого.

    Вывести Arduino собственное питание

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

    Управление роутером через розетку

    Старый добрый Asus RT56U очень любит греться, особенно летом. Поэтому хочу сделать автоматическое отключение на пару часов ночью, чтобы давать ему остыть.

    Добавить мониторинг присутствия

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

    В комнате проживают два человека. Каждый имеет по четыре состояния:

    • За компьютером
    • Стоит
    • Лежит на кровати
    • Отсутствует


    Инфракрасные датчики определяют присутствие в комнате, а ультразвуковые наличие в зонах (кровать/стол) и мониторят количество вошедших/вышедших.

    Это позволит реализовать простейшие сценарии:

    • Я пришёл вечером и сосед не спит: включить свет
    • Все вышли: выключить свет
    • Все легли и не двигаются: выключить свет


    Добавить светочувствительный резистор

    Классика жанра: автоматическое включение света, если в комнате кто-то в зонах «За компьютером», а в комнате темно.

    Добавить электромеханический замок и доводчик

    Не знаю, как вам, а мне всё время лень искать ключи, поэтому я очень хочу установить электромеханический замок вкупе со считывателем проксимити карт или датчиком отпечатков пальцев. Вход в общежитие осуществляется с помощью электронных пропусков — частота мне известна, и я могу легко заказать считыватель для Arduino, но карты очень легко клонировать (у меня у самого есть устройство для этого), поэтому, когда придёт час, скорее всего, остановлюсь на отпечатках пальцев.

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

    Проапгрейдить форточку

    Как я уже писал, если температура выше определённого предела, включается вентилятор. Но что, если в комнате никого нет, а температура уже ниже 20-ти? Хотелось бы добавить в систему открытие/закрытие форточки. Возможно, это будут простые моторчики + леска.

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

    лампочка, которая не дожила до системы контроля температуры


    Заменить DHT11

    Как я уже писал, я не разбираюсь в сенсорах и т.п. Поэтому я купил первые попавшиеся датчики температуры: dht11. Сейчас я хочу заменить их на dht22 для комнаты и dht21 для улицы. У dht22 меньшая погрешность, а dht21 имеет поддержку отрицательных температур и защищённый корпус, что актуально для улицы. Уличный dht11 уже иногда начал теряться.

    Добавить электрический диммер

    Очень хочется плавно регулировать уровень освещения в комнате. Если бы у меня не было умной комнаты, я бы купил и повесил простой диммер, но сейчас хочется диммер, который может существовать в рамках текущей системы. К моему сожалению, я не смог найти диммер для 220В, регулируемый 5В. Всё, что пока смог придумать — это простой диммер + присоединенный к нему моторчик.

    Голосовое управление

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

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




    Послесловие


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

    Хороших наступающих выходных: проведите их с пользой!
    Поделиться публикацией

    Комментарии 89

      +9
      Сурово.
        +1
        Что именно?
          +3
          Суровая эстетика у конструкции, однако.
            +2
            Вы про картон или количество изоленты? Общежитие же и первый опыт…
              +1
              Просто обшее впечатление. Но раз работает, то всё хорошо.
                +1
                До изоленты и картона работало хуже. Пока проблема только с уличным dht11: видимо, вода попала на него и он приказал долго жить.
                  +9
                  Это всё потому что изолента чёрная. Нужна синяя.
                    +2
                    У меня уже запасена синяя, но решил сначала истратить чёрную.
                    Теперь вот жалею. В любом случае, для улицы нужен dht21
                      0
                      Или какой-нибудь корпус, негерметичный, но с защитой от прямых осадков.
                        +1
                        Я примотал под ограждение балкона. Видимо, капли стекли вниз и по изоленте попали на датчик.
                          0
                          купите уже DS18B20 в защищенном корпусе и не мучайтесь
                            0
                            Я вдохновился статьёй о йогуртнице и заказал себе такую штуку. Вы про это?
                            Я думал, что это только для жидкости.

                            Мне нравится мониторить влажность за окном )
                              0
                              да, про него
                              измерение температуры воздуха для бытовых нужд практически не отличается от измерения температуры жидкостей
                                0
                                Это и напрягает в разнообразии: столько вариантов, но что лучше?
                      0
                      Современная синяя изолента уже не та. Купил недавно и разочаровался. Желтая в зеленую полоску (или зеленая в желтую, кому как) гораздо качественнее, рекомендую.
                        0
                        А меня устраивает
          +2
          DHT22 медленно реагирует на изменение температуры по сравнению с BMP085. Правда, BMP085 помимо температуры измеряет давление, а не влажность, как DHT, но, мне кажется, что в общаге влажность имеет небольшое значение.
          Но для BMP085 есть современная замена — BMP180 — точно то же самое, только новая версия.

          P.S.: а на роутер лучше кулер поставить, тогда не будет downtime'а, который всегда не вовремя.
            0
            У меня есть 180 (именно про него я и писал в начале статьи) и ещё аналоговый AVR PIC 26670. Видимо, буду считать температуру, как математическое среднее между несколькими разными датчиками.

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

            P.S. посмотрите его вид… Ну какой кулер?
              0
              > Первой же проблемой стала низкая точность выбранного dht11: он врал на 2-3 градуса в обе стороны

              А они на случайное значение врут, или сдвиг постоянный для каждого конкретного экземпляра?
              В первом случае можно взять, например, 4 датчика и считать среднее. Бонусом — повышение отказоустойчивости.
                0
                По спецификациям погрешность 2%. Мои врут в пределах 2 в каждую сторону (погрешность меняется)
                0
                Нормальный такой кулер, есть даже 20мм кулеры.
                  0
                  Испортит внешний вид
              +10
              Оффтоп, но в контексте жизни в общаге не могу удержаться

              Это позволит реализовать простейшие сценарии:
              Все легли и не двигаются: выключить свет

              этот сценарий должен иметь вид «все легли и не двигаются: выключить свет, если вдруг задвигались — НЕ ВКЛЮЧАТЬ свет»…
                +6
                Тогда уже включить тихую музыку и надпись на двери: НЕ БЕСПОКОИТЬ.
                  0
                  лишь бы пинов на ардуине хватило под разгулявшуюся фантазию.
                    0
                    У меня Mega, UNO, есть кучка Nano и приёмники+передатчики для связи.
                  0
                  можно еще помимо хлопков другие звуки распознавать)))
                +1
                Прям ностальгия по родному четвертому общежитию пробила. А как комендант отнесся к ваши усовершенствованиям? Нас в свое время (а это не так давно было) за любую технику сложнее мясорубки штормили как салажат. Или у вас с большим понимание относятся к разного рода рационализациям? + Вы на лето выселяетесь? В нашей общаге было правило согласно которого на лето всех выселяют а потом селят обратно. Та что монтировать демонтировать все каждый раз было бы напряжно.
                  0
                  Забавное совпадение: у нас в четвёрке живёт ФЭЛ. (факультет электроники) Я с ФКТИ: (компьютерные технологии) обитаю в восьмёрке. Комендант нормально отнеслась: главное соблюдать правила — провод от люстры до реле проводил электрик общежития. А вот в пятёрке (студ городок) даже мультиварки запрещены.
                  На лето не выселяют: многие даже остаются в общаге на лето.
                    0
                    Я не с ФЭЛа, а с ФКТИ: обитаю в восьмёрке

                    Я учился в Одесском Политехе так что моя «четверка» несколько в другой стороне. А так замечательно что у вас адекватные товарищи в администрации. Нам на первом курсе порезали локалку которая была проведена под потолком в коридорах, просто потому что коменданту не понравилось обилие проводов за которые ей никто не башляет.
                    А так вы вообще молодцы ребята. по своему опыту могу еще предложить скрытно поставить камеру в коридоре чтобы следить кто к вам стучится. В некоторых ситуациях это очень не лишне)
                      0
                      Я уже глянул страну и исправил комментарий.
                      У нас комендант прекрасно относится к студентам и как может прикрывает. Восьмёрка считается лучшим общежитием Вуза.
                      Ко мне не так часто ходят гости, чтобы их снимать. Только вот о скрытухе подумываю для опыта.
                        +1
                        На всякий случай стоит иметь в виду, что изготовление и эксплуатация замаскированных устройств видеофиксации — это статья УК.
                          +1
                          Если не повесить табличку о скрытой съёмке.
                            0
                            У меня в блоке на входе в сортир была приколочена табличка с предупреждением о скрытой съемке. Ее старшекур что до нас жил свиснул где-то и приколотил «по приколу».)
                    +1
                    А у нас в четверке живет ФИРТ (я оттуда) — факультет информатики и робототехники :)
                    У нас строгий запрет на электрооборудование. Мультиварки, чайники и прочее — запрещены :(
                      0
                      Какая ирония :D
                  0
                  Заинтересовал Bluetouth модуль. Можете скинуть ссылку на статью как его использовать?
                    0
                    В том и дело, что его можно просто подключить к Serial!
                    Я пользовался этой статьёй
                      0
                      Спасибо, заказал себе на eBay HC-06 за 184 рубля. ) Буду тестить.
                        0
                        Успехов
                    +1
                    Не вижу практического смысла в реализации такой системы в общежитии, за исключением «научиться чему-то новому». А вот полезной вещью было бы, на мой взгляд, следующее: когда я учился, у нас душ был один на всю общагу, в подвале, а туалеты и умывальники в конце коридоров и очень пригодилась бы система мониторинга загрузки душевых кабин, раковин, и, простите, туалетов, чтобы не стоять в очереди в часы пик, а также система определения наличия-отсутствия коменданта, завхоза и прочих важных людей, чтобы зря не бегать с этажа на этаж.
                      +1
                      Вам никогда не было жарко и душно в маленькой комнате?
                      Никогда не опаздывали из-за того, что всё вокруг залило и нужно скакать по лужам?
                      А вот мониторинг душа и туалета я посчитал пока лишним. Общежитие блочного типа и туалет с умывальником мониторить легко. До душа пришлось бы тащить провод десяток метров.
                      Отслеживание администрации уже другой вопрос и более полезный, но это уже выход из комнаты на уровень общежития.
                        0
                        Да в принципе нет, форточка зимой была всегда открыта на микровентиляции, а летом полностью, тяга обычно хорошая в зданиях таких. А если все вокруг залило и надо скакать по лужам — то придется скакать по лужам, тут уж ничего не поделаешь :-)
                          0
                          Видимо вам везёт. А тут температура скачет: утром открываешь из духоты, а приходишь после пар и в комнате холодрыга.
                          Но можно встать на десять минут раньше и не опоздать.
                          0
                          Чтобы не «тащить проводов десяток метров» рекомендую почитать соседнюю тему, ну и после прочтения не останавливаться, а погуглить дальше по этой теме. ATTiny13a питающийся от двух батареек AA и DS18B20, герметично упакованные и повешенные на соседнее дерево, вещающие температуру раз в полчаса, остальное время находясь в энергосберегающем режиме, смогут год питаться от этих самых батареек. А если заменить батарейки на солнечную батарею, то датчик вообще будет вечным (почти), вот кстати ссылочка на подобный датчик. Заменяем DS18B20 на магнитный датчик/кнопку/микрофон/любой другой сенсор (нужное подчеркнуть) и получаем интересующие нас данные на расстоянии 100-150 метров, без проводов (а так же без смс и регистрации). За одно всем желающим соседям можно будет установить устройство принимающее данные с датчиков и оповещающее своего владельца о температуре за бортом, о занятости туалета/душа/умывальника. Если сделать датчик в виде брелка отображающего температуру или ещё что нибудь, задарить этот брелок коменданту (естественно объяснив, что как только на экранчик потух — надо поменять батарейку (зарядить), то можно сделать даже оповещение о том что комендант рядом. Если принимающие устройства раздать всей общаге и объединить их в единую сеть, то можно вычислять местоположение коменданта с точностью до метра и даже без всяких GPS. На этом я пожалую остановлю свою буйную фантазию, а вам желаю дальнейшего совершенствования своего умного дома, точнее умной комнаты.
                            0
                            Я читал соседнюю тему. У меня есть Nano и точно такие же приёмники/передатчики, а около душа провода (батарея, кстати тоже есть) Вопрос в целесообразности.
                            А вот всё остальное уже конечно фантастика =) Уж слишком много возьни и мало отдачи. Спасибо за ваш комментарий! Он тянет на отдельный пост )
                              0
                              Слишком много студентов, кто-то ненароком проговорится или комендант сам догадается и будет полный нежданчик когда он(а) «забудет» с собой взять брелок.
                                0
                                Какое ужасное представление коменданта
                          0
                          Не хватает датчика углекислого газа, чтобы помещение вовремя проветривалось даже когда холодно.
                            0
                            Боюсь, что я не настолько крутой студент, чтобы покупать такие датчики
                              0
                              Можно купить MQ-7 (3-4$), он хоть и для СО, но и реагирует так-то и на углекислый газ — по крайней мере по моим опытам.
                                0
                                Нужно ещё что-то для контрольных замеров
                                  0
                                  Такое?
                                  По моему, там чётко указано что они не для этого
                                    0
                                    Да, только покупал на ебей — там дешевле.
                                  0
                                  Есть датчики чистоты воздуха для кондиционеров, они реагируют на целый спектр газов, но дешевле.
                                  Из минусов таких датчиков — слишком высокое потребление энергии, долгий выход на рабочий режим(20 минут и более) и высокая чувствительность к сигаретному дыму — смолы из дыма забивают датчик так что его даже растворителем не отмоешь после чего он перестает приносить пользу.
                                    0
                                    У MQ датчиков тоже потребление высокое, ибо они электрохимические, с нагревательным элементом. Да и у них тоже есть свои особенности, типа 48 часового прогрева перед началом использования (однократно) и специальным циклом работы (минуту прогревать от 1.4В, затем полторы минуты 5В, и по новой).
                                      0
                                      Общежитие же… Я не плачу за электричество
                                        0
                                        Ну не настолько высокое, чтобы беспокоиться об оплате счетов за электричество, 350-450мА. Это критично в случае, если вдруг захочется датчики избавить от проводов и запитать от аккумулятора.
                                      0
                                      Я к счастью не курю, но это пока будет понтами без того, что указано в статье
                                        0
                                        Не думаю, что такое мне нужно, но можно пример?
                                          0
                                          Датчик MQ135 например.
                                      0
                                      Наслышан, что мониторинг CO2 реально полезен, как раз из-за избытка CO2 становится печально в помещении находится и мозг глючит.
                                        0
                                        Тогда ясно почему в сравнении с бутаном он так дорого стоит.
                                        У меня было кофейное дерево в комнате, но пришлось подарить его дяди: оно засыхало.
                                          0
                                          Может технологически сложен. Датчик газа и дыма не менее полезен, если не более. От CO2 большой бадабум не получится в отличие от.
                                          0
                                          В маленькой комнате общаги, если нет вообще никакого проветривания, один человек в спокойном состоянии за час испортит воздух так, что это довольно ощутимо скажется на самочувствии.
                                            0
                                            В таком случае, от датчика газа толку нет — необходимо будет постоянно проветривать пока в комнате кто-то есть и пару часов после.
                                              0
                                              Да. Хорошее решение
                                        +2
                                        Может открыть свой магазин разнообразных ништяков из Китая? А что, живу в Китае, а бедных хабровчан заставляют платить в тридорого.
                                        Простой пример: DHT11 стоит на TaoBao 30-50 рублей, но никак не 310. Ужас!
                                          0
                                          Вы пропустили статью от Амперки? (хотя у них 360р)
                                          62,27р я заплатил за датчик. Где вы увидели 310р? На Тао ¥4.66 это сколько в рублях?
                                          На Авито предлагают за 90р
                                            0
                                            Все-все, увидел, что 310 рублей стоит комплект из 5 штук. Извиняюсь :-).
                                              0
                                              Так ¥4.66 это сколько в рублях?
                                                0
                                                25, примерно.
                                                  0
                                                  Ну да. Дешевле чем на Ali =\
                                            +1
                                            Пару раз заходил на TaoBao, действительно попадаются интересные цены, но если включить стоимость посредника, то зачастую они поднимаются до того же ebay/ali. Если сделаете свой магазин товаров с ТаоБао, и наценкам будет не большой, то думаю покупатели найдутся быстро.
                                            0
                                            DHT22 спокойно переносит минусовые температуры и работает далее (зиму до -20 перезимовал на балконе).
                                            Но вообще для температуры использовать лучше ds18b20 или типа него, они работают на нормальном 1-wire и их можно на одну шину много повесить, а не так как DHT каждому свой пин.
                                            Да данные с датчиков надо проверять, так как порой они не читаются. Я сделал несколько попыток чтения и если не удалась ни одна, то игнорируем.
                                              0
                                              В DHT22 я не сомневаюсь. Я не уверен, что смогу его установить так, чтобы не было проблем: потому и хочу DHT21
                                              У меня Mega и потому пины мне пока не жалко, но несколько DHT тоже можно повесить на один пин.
                                                0
                                                но несколько DHT тоже можно повесить на один пин.

                                                Эм… как?
                                              0
                                              Возможно я что-то делал не так, но у меня несколько DS18B20 умерли спустя год работы. Плюс у них проблемы с чтением бывают. Перестал их использовать, BMP085 вполне адекватно температуру замеряет. Кстати DHT22 тоже порой не читается с первого раза (если хотя бы 100мс паузу между попытками не сделать, то и за 10 раз может не считаться).
                                                0
                                                в BMP085 температура идет вторичной функцией, в основном она нужна для внутренней калибровки сенсора давления. И я бы не стал этот датчик ставить на улицу, окислится и забъется пыльцой. Давление можно измерять внутри комнаты, снаружи оно ТОЧНО ТАКОЕ ЖЕ.
                                                Что касается датчиков, раз уж есть ардуина можно использовать LM135 — его можно засунуть в термоусадку и откалибровать программно и аппаратно.
                                                  0
                                                  Я не совсем правильно выразился, хотел сказать, что если уже есть BMP085 и DHT22, то можно брать температуру с них, вместо добавления третьего датчика. А так да, BMP085 имеет довольно посредственное разрешение и точность температуры. За два года за окном, датчик только покрылся паутиной, ну и небольшой слой пыли образовался, но свойств своих от этого он вроде не потерял.
                                                    0
                                                    Видимо, так у меня и будет
                                                  0
                                                  Странно, у меня ds18b20 уже два года как работают и еще ни один не умер, один уже две зимы снаружи перезимовал.
                                                    0
                                                    Может сильно большое напряжение подавали? или просто партия бракованная
                                                  0
                                                  но несколько DHT тоже можно повесить на один пин.

                                                  А пробовал ли уже? (разве что переключать с помощью реле)
                                                  Так вот ни с 11 ни с 22 точно не получится, адресов то у них нет (таких как у ds18b20) и работают они не по 1-wire протоколу.
                                                    0
                                                    Простите
                                                    Читал эту статью и не так прочитал «каждый DS18B20 имеет персональный идентификатор, что дает возможность подключения нескольких таких датчиков к одному пину Arduino — у DHT11 такой возможности нет — один датчик будет использовать строго один цифровой пин». Выхватил из контекста и думал, что это о DHT

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

                                                  Самое читаемое