ИК-выключатель мобильного кондиционера за 20 минут
- Войдите на сайт для отправки комментариев
Чт, 31/05/2018 - 17:46
Наступает лето, мобильный кондиционер выезжает из кладовки. Давайте немного вмешаемся в заводскую программу и попробуем порулить им с помощью ардуино, который будет эмулировать ИК-пульт.
Не знаю, у всех ли мобильных юнитов так, но у моего вентилятор работает все 100% времени работы кондиционера, просто отключая компрессор по достижении заданной температуры, и включая его обратно, как помещение снова нагреется. А работают мобильники не тихо, я сижу рядом с ним, и сказал бы, что пипец, как громко. Захотелось, чтобы кондей работал, как холодильник - охладил до заданной температуры, отключился и затих, комната нагрелась, включился обратно, зашумел. Ну и, плюс, никогда не игрался с ИК, решил попробовать.
Для этого потребуется собрать эмулятор пульта на 2 команды - вкл и выкл. Начертим схему в пейнте и соберём её:
Ик-фотодиод и датчик температуры bmp180 у меня были, а ик-светодиод я выпаял из ненужного игрушечного пульта. Определить анод и катод у выпаянного диода легко - внутри пластмассовой колбы диода один электрод длинный, второй короткий, анод тот, что короткий.
Устанавливаем в IDE библиотеку IRRemote: Sketch - Include library - Manage libraries - пишем в поиск irremote - Install.
Тут первый нюанс - в IDE есть встроенная библиотека RobotIRRemote, которая конфликтует названиями с этой. Моя IDE сообщила мне об этом, и сама разрешила эту проблему - сказала, что будет использовать irremote вместо robota, в вашей IDE может быть не так, может понадобиться удалить родную библиотеку.
Открываем File - Examples - IRRemote - IRRecvDumpV2. Заливаем скетч в ардуину, открываем Serial Monitor. Жмём кнопку power на пульте - и нюанс номер два - библиотека сообщает, что принятая команда длинновата и не влезает в буфер.
>> IR code too long. Edit IRremoteInt.h and increase RAWBUF
Так я и сделал, прописав размер массива в 200 вместо умолчальных 100. Теперь пример принимает сырую команду полностью:
{8650, 4400, 400, .... , 500}
Скопируем строку команды, например, в блокнот. Мне были нужны только вкл и выкл, но в процесссе выяснилось, что команда power_off на пульте есть, а вот power_on, как таковой, нет - пульт запоминает последнюю установленную температуру и шлёт что-то типа power_on25, power_on22, power_on18 и тп. Ну что же, сохраним power_on22, чтобы уж точно охлаждало. Ну, и power_off.
Теперь создаём новый скетч и вставляем в соответствующие места сохранённые команды.
Прошиваем ардуину, ставим в какое-нибудь место, где прямо на неё не дует, включаем, и... ничего :) Для ик-светодиода важен угол направления на датчик, а мой диод смотрел прямо в потолок. Поворачиваем всю конструкцию на бок, так, чтобы диод смотрел в сторону кондея, и вуаля, теперь всё работает. И последний нюанс - по мануалу, компрессору после включения/выключения нужно дать поработать/отдохнуть не менее трёх минут перед следующим переключением - за это отвечают set_lock() и check_lock() в коде. Возможно, кондиционер умнее меня и сам включит-выключит защиту, но лучше перебдеть, чем недобдеть.
После того, как всё отладится и заработает, ик-фотодиод для чтения с пульта можно отсоединить от получившегося агрегата.
Вышло, как я и хотел - комната охлаждается до 26 градусов, кондей отключается и ждёт потепления до 27.1 (ну или сколько зададите в desired), затем включается, до тех пор, пока не охладит обратно. Дует где-то 3-5 минут, стоит молчит 10-15.
идея неплохая.
Код интересен тем. что он весь на делеях. Даже процедура check_lock(). которая на первый взгляд, написана с импользованием миллис - на самом деле представляет из себя делей :)
Delay() тут в самый раз - быстро, дёшево, сердито, и новичкам понятно :)
Delay() тут в самый раз - быстро, дёшево, сердито, и новичкам понятно :)
ну а зачем тогда миллис, если внутри тот же делей? используйте везде одинаково - код будет проще и понятнее.
А можно я в этом проекте не буду этого делать? :) Даже больше, в этом месте ни delay, ни println не нужны, а-а, нее, делей нужен, bmp надо какое-то время подождать перед следующим считыванием, а то он считает чушь, check_lock переключится и чушь уйдёт дальше сравниваться.
Осторожнее с такими экспериментами. Есть подводные камни при частом ВКЛ/ВЫКЛ кондиционера. В зависимости от реализации может быть такое:
Просто при остановке компресора (питание не выкл) давление в системе не выравнивается (между компрессором и испарителем) и при следующем пуске компрессора он просто дожимает давление до рабочего. А при выключении кондиционера - давление в системе выравнивается и при следующем пуске компрессор начинает работать при низком давлении внутри самого компресора и ему это не очень полезно. Одно дело вы кондей 2-3 раза за день вкл/выкл и совсем другое - 3-5 раз в час.
Не претендую на истину, но осторожность не помешает.
Как рекомендация (все равно будете делать :-) - делайте поменьше циклов вкл/выкл (периоды подлинее) . Всеж дольше проработает.
Да, я тоже читал про такое, плюс, неспроста же на заводе сделали именно такой режим работы, "неотключающийся"; в другом конце комнаты слышно приемлемо, и даже заснуть можно, но рядом с ним слишком уж громко. Может, эти 3 минуты как раз и нужны на выравнивание давления. Ну, в худшем случае получится сокращение ресурса компрессора раз этак в 10, то есть с 5-10 лет службы до всего одного-двух.
Можно разнести температуры посильнее, например, 25-28, тогда будет 1-2 цикла в час.
можно вообще так сделать
можно вообще так сделать
Я так понимаю в ванночку воду наливают? :-)
Хорошо если климат сухой. А у нас +30 и влажность 90-100% - тема рабоать не будет.
Можно разнести температуры посильнее, например, 25-28, тогда будет 1-2 цикла в час.
Верной дорогой идете товарищи! :-)))
В теме стали писать страдающие от жары :) Испаритель кирпично-кулерного типа не поможет, проходил я все эти этапы )) И компьютерные кулера объединял, и большой вентилятор с влажными полотенцами, и бутылками с ледяной водой. Тут вон кондей, прокачивает 400 литров холодного воздуха в минуту, и то с натяжкой справляется, хотя бы становится приемлемо в помещении.
Переезжайте к нам, страдать от жары не будете - сегодня утра снег выпал.
странный у Вас какой-то кондей, у меня блочный напольник, он выключается при достижении заданной температуры, и потом его не включить минут 5 (тоже самое если вручную отключал), так что видать защиты есть, и тоже сволочь гудит как тепловоз((
хочу все сплиттер инверторный поставить, но что-то руки не особо доходят, да и не очень у нас в ЛО это актуально.
evgta
Иногда мне тоже кажется, что странный, но дует всегда, а вот компрессор гудит по-разному. Может с термодатчиком что-то, но разбирать его уж точно лень.
Сплит - он сплит, мне его вешать над тротуаром не хочется - раз, чистить его альпинистами - два, волосяной ком в горле от пересушенного тысячекратно прогнанного воздуха - три, у меня даже в гостиницах от промышленного кондея на всё здание комок образуется противный, фу :), приходится натыкивать баланс между прохладой и комком ))
Но если хотите сплит, то чего это в ЛО-то неактуально-то, в Выборге вон вообще эпидемия спутниковых антенн и наружных блоков кондеев, в Гатчине, Пушкине, Колпино видел и немало, в Кронштадте был на 9 мая - видел, в Ульяновке вот был - висят, родимые, внешние блоки.
В Выборге Сухова 18 по антеннам вне конкуренции :). ну я внешний блок хочу на балконе поставить и ниже уровня перил, что бы невидно было, да, и стеклопакеты у меня точно в размер родных рам.
по пересушенному воздуху- ведь можно стеклопакет слегка приоткрыть.
Специально глянул на яндекс панорамах, тоже хватает, но не, это не тот дом, что я имел в виду, есть ещё один, бело-красный, что ли, или может тоже красный, и улица на холм что ли поднимается, не ровная была вроде, давненько я этот дом видел, так там мне показалось вообще, что на каждую квартиру по две антенны :) У меня теперь с друзьями даже развлечение есть, мы когда приезжаем в Выборг, считаем антенны, если меньше 20-30 на дом, то это вообще не, не Выборгский дом, не любители тв здесь живут :) Интересно, почему так сложилось, никто мне пока не объяснил, друзей из Выборга у меня нет :) И кондеев хватает по стенам :)
Приоткрыть пакет что на микро, что просто, тоже не помогает, такой организм наверное, да и холод быстро улетает. Отчётливо я чувствую этот ком гадкий, бээ )) а от мобильного блока нет его, затягивает новый воздух околокомнатной влажности изо всех щелей.
относительно зажиточный город в свое время, поздний приход цифрового кабельного(цифра года 4 назад появилась, а на аналоге качество было отстой и вроде 30-40 каналов было), а сейчас лень наверное снять, а может 150 р за 100+ каналов кабельного жаба душит, наверное так.
как вариант, сплит + увлажнитель модный(паровой), или кирпич в ванночке c водой с вентиляторами :-)
Ага, буду знать, киитти хювя :). Да-а, а зато юле у вас показывало даже во времена ссср, радио нова всякие ловятся из Котки, и ещё и тарелки, полный пакет медиаразвлечений :) да и на рынке всякие ништяки, наверное, водились ))
Ну, я уж с мобильным, пока буду так ))
лапперанты, там стоит 50КВт передатчикю, что за ништяки? да и мне 11 было когда союз всё
Как какие, джинсы, свитера, жвачку, finlandia :) Мне было почти столько же, но почему-то вот такое запомнилось :)
На самом деле, есть ещё одна проблема - кот. Умное животное при включении кондея, если только не спит очень крепко, вылезает из любого места и несётся ложиться на самую холодную точку в квартире, а там, разумеется, дует отражёнкой от потолка - и поток воздуха приходится немедленно выключать вручную.
Сделал рабочий прототип, решающий этот вопрос, выглядит интеграция этого дела по-франкенштейнски:
1. Периодически получаю на большом брате картинку с веб-камеры, камеру временно вытянул на usb-удлинителе и направил на ту часть комнаты, куда прибегает кот, в другой пусть сидит, там не дует:
2. Далее передаю картинку на распознавание в нейросеть, сохраняю вывод с распознанными объектами в файл:
3. Мелким скриптиком делаю парсинг файла detected.txt, если нахожу там "cat", то можно слать в com-порт нолик, мол, ахтунг, замораживаем животинку.
4. Слегка подправленная программа убердевайса принимает нолик и отдаёт команду на безусловное отключение.
В целом, прототип работает :) По крайней мере, днём и при некотором снижении освещения, насколько хватает моей вебкамере. Иногда бывает, не распознаёт кота в кадре при проверке, а иногда он успевает зайти и уйти, но в этот момент камерой он детектится и кондиционер на следующей передаче отключается, но кот-то уже ушёл :)) - можно будет чутка подкрутить алгоритм девайсу и камере, сделать его поближе к реалтайму, или наоборот, с задержками, ещё можно самим питоном сразу получать с камеры в цикле картинку через cv.imread(), и питоном же писать в ком-порт, но мне было лень, спешил потестировать.
Чего только люди не наворотят, чтобы не использовать детектор движения...
Двадцать минут навороты заняли, в соответствии с названием темы :) У меня дольше бы ушло на доставание и прикручивание-припаивание pir-датчика, да и на людей-то кондей выключаться по моей идее не должен.
Что-то я не понял зачем отключать при коте, ему-то холод нестрашные если не лысый. Наверное.
Да его точно так же продувает на сквозняке, как и нас, фыркает-сопит, лучше не ходить в ветклинику, чем ходить. Мы-то отойдём-отвернём струю воздуха, а он точно не будет.
Да его точно так же продувает на сквозняке, как и нас, фыркает-сопит, лучше не ходить в ветклинику, чем ходить. Мы-то отойдём-отвернём струю воздуха, а он точно не будет.
вот ты мать-тереза прям :)
Наш котик имеет ласковое прозвизе "Кабыздох" и в соответввии с этим я б его от сквозняков защищать не стал :)
Каждому своё :)
negavoid - наш человек!
Вместо того чтобы направить холодный воздух в разные стороны (да хоть куском картонки) - делаем электронные устройства (при этом лишая котейтку прохлады!) - основной стимул при этом - унять чесанье рук и мозги развивать! Молодец, так держать! :-)
Я вот делал жене биосветильник на био-светодиодах включаемый по таймеру. Вместо готового светильника и недельного таймера (они есть у меня) накрутил на ардуино - светодиоды включаются плавно (ШИМ), часы/таймер, экран 5110, фоторезистор для отключкения если хватает естественного освещения. Есть выбор разных программ включения. Две трети лишнее - зато поразвлекался!