Игорь Турикин Опубликовано 30 августа, 2019 Поделиться Опубликовано 30 августа, 2019 Всем доброго здравия! Наверняка среди нас есть те, кому так или иначе приходилось что-то автоматизировать. В моем случае, это аквариум. Маленький аквариум на 85 литров с тремя жителями - креветками Амано. Собственно у меня даже не аквариум, а "травник". То есть банка с водными растениями, типа живой картины рядом с монитором. Собственно все началось с того, что теще на ее аквариум подарил реле времени, которое включает/выключает свет в заданное время. А потом... ну, у меня в детстве всегда был аквас и когла с Аленкой познакомились тоже был, но потек и пришлось от него избавиться на долго.. лет на 10 наверно. Ане так давно(условно) вновь появилось желание сделать живой уголок и так появилась баночка с минимумом удобств. Потом, я стал задумываться, а как бы сделать так, чтоб он сам себя обслуживал? - начал изучать интернеты и добрался до сабжа (Arduino IDE). Это программное обеспечение для настройки/программирования микроконтроллеров Arduino (Nano, Uno, Mega и т.д.). И тут для меня открылся новый мир. Мой аквас ожил, он теперь сам умеет поддерживать заданную температуру и освещенность, делать рассвет, полдень и закат. Мне остается только подкармливать креветок, что в принципе лишнее в таком аквариуме, т.к. они любят водоросли и с удовольствием поедают нитчатые водоросли. которые появляются в любом аквариуме с интенсивным освещением. Сначала, у меня был контроллер Arduino Uno за копейки купленный на АЛИ, с блоком релюшек, которые в заданное время включались контроллером и управляли двумя светодиодными прожекторами по 20 Ватт, нагревательным элементов от "теплых полов" и компьютерным 120мм вентилятором для охлаждения воды, потом проект начал разрастаться. Появился модуль ethernet, для подключения к сети и всякие датчики. Теперь с телефона и с компьютера могу задавать разные параметры климата в акавсе. Но все же, речь больше о программном обеспечении, которое мне помогает все это реализовать. Это Arduino IDE (в начале, позже Visual Studio Code с модулем PlatformIO) и локальный сервер Blynk. Вообще, Blynk это платный сервис российских разработчиков, но в локальном исполнении совершенно бесплатный. Вторая стадия моего управлятора была основана на веб-сервере, который был реализован на модуле Ethernet Shield W5100, который позволял включать и выключать свет и доп каналы. Это выглядит и сейчас вот так... то есть этот вариант управления я тоже оставил. Потом родился третий вариант управлятора, с использованием Blynk и теперь это выглядит так (на смартфоне) Креветку рисовала дочка, специально для этого проекта. Я не уверен, что мне будет с кем это здесь обсудить, ведь это не политика и в целом, довольно узконаправленная тема. А вдруг??? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
комтех Опубликовано 30 августа, 2019 Поделиться Опубликовано 30 августа, 2019 Очень очень интересно.. всё подбираюсь к этой теме но знаний не хватает.... есть идеи... автоматической теплицы, автоматика ректификационной колонны .. что то вот упирается в то что не осилю программирование... Хотя надо заниматься... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться Награды
Игорь Турикин Опубликовано 30 августа, 2019 Автор Поделиться Опубликовано 30 августа, 2019 но знаний не хватает. Вместе разберемся! Главное начать. =) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Игорь Турикин Опубликовано 31 августа, 2019 Автор Поделиться Опубликовано 31 августа, 2019 Тема умерла не успев родиться. Ок. Ссылка на комментарий Поделиться на другие сайты Поделиться
Шкентель Опубликовано 31 августа, 2019 Поделиться Опубликовано 31 августа, 2019 Тема увлекательная и интересная в своих особенностях и результатах. Но - исключительно для любителя. вернее даже - для увлекающихся этим делом. Оборудование и программное обеспечение как раз рассчитано на массового пользователя, коих всегда можно встретить в магазинах типа "Чип и Дип", где они приобретают оборудование и обсуждают интересующие их вопросы. У меня тоже были попытки заинтересоваться этим, но дальше этой заинтересованности дело не пошло. А вообще у этого продукта есть два здоровенных старших "брата-конкурента" в этой области - в области диспетчеризации, где программируются и автоматизируются практически любые процессы из широченного спектра, в основном, производственной деятельности. Эти два "непримиримых друга" - SIEMENS и HONEYWELL. Эти два крупняка буквально разделили мир на две части по внедрению своих продуктов. Конечно, их контроллеры диспетчеризации, да и само ПО - это не на любителя. Слишком дроги они для людей, увлекающихся автоматизацией своих "хозяйств и интересов". И в этом случае как раз довольно простые системы, типа Arduino - это то, что нужно любителям и увлекающимся. Что-то, в связи с этими воспоминаниями, сразу вспоминаются языки программирования нашей юности типа FORTRAN . А вообще - тема крайне интересная и увлекательная. Кстати - несколько лет назад у меня тоже был аквариум и тоже с креветками Амано и ещё какой-то породы. Если Амано "пылесосят" дно, растения и всякие предметы, находящиеся в аквариуме, то вторые своими передними фильтрами, похожими на маленькие вытянутые ручки, в которых находятся по здоровенному вееру - вот этими "веерами" фильтруют аквариумную воду в поисках пищи. Они обычно пристраивались возле выходной трубки фильтрующей установки... Интересно так было за ними наблюдать... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться Награды
СЕРГЕЙ 88-91 Опубликовано 31 августа, 2019 Поделиться Опубликовано 31 августа, 2019 А что еще можно автоматизировать с помощью данных девайсов? Ссылка на комментарий Поделиться на другие сайты Поделиться
комтех Опубликовано 31 августа, 2019 Поделиться Опубликовано 31 августа, 2019 А что еще можно автоматизировать с помощью данных девайсов? Да многое чего... гроубокс в германии строили... хотели полную автоматику сделать... капельный полив... гидропонику... к нему есть много различных датчиков.. вопрос программирования... роботов на нём много разных.... умный дом.. если бог даст в следующем году хочу парник поставить... ну и в планах полная автоматика... чтобы пару-тройку недель можно было бы не приезжать... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться Награды
Игорь Турикин Опубликовано 1 сентября, 2019 Автор Поделиться Опубликовано 1 сентября, 2019 А что еще можно автоматизировать с помощью данных девайсов? Ну, еще на Ардуино и Блинке сделал для конторы, в которой работаю, некую диспетчеризацию детектора повреждений Термолайн. Суть такая: Термолайн предлагает несколько типов детекторов и два из них с возможностью диспетчеризации. Но проблема в том, что оба устройства соединяются с диспетчером по GSM каналу, то есть надо помимо самого детектора еще 2 GSM модема (под 30 денег пара) и зависимость от третьей стороны(GSM оператор) ну и конечно расходы на связь... ежемесячные, при том, что детектор должен находиться в соседнем здании. Руководство поставило задачу разобраться как и что и найти лучший вариант... ну и нашел.. один из вариантов детекторов* имеет "сухой контакт" по дефектам, то есть, детектор выдает 3 состояния для двух труб. Норма, Намокание, Обрыв. 6 проводов и 1 общий. Я взял связку Arduino Uno + Ehernet W5100 и сделал вариант "по витой паре" вместо GSM, а помимо этого еще и собственную диспетчеризацию, которая работает как на телефонах заинтересованных лиц (в режиме "Пользователь"), так и на компьютере диспетчера.. ну и е-маил рассылка по каждому типу "сработки" и по сбросам аварий. Устройство уже проверил, логику "вылизал".. но детектор дефектов еще сам по себе не установлен. *http://www.xn----7sbnboqksvbl.xn--p1ai/catalog/detektory-povrezhdeniy/dps-2am-sk/ 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Игорь Турикин Опубликовано 4 сентября, 2019 Автор Поделиться Опубликовано 4 сентября, 2019 Интересно, есть ли возможность подключения всевозможных ардуин/есп к КАН шине автомобиля? Думаю, что можно было бы сделать не плохой авто-компьютер... Ссылка на комментарий Поделиться на другие сайты Поделиться
комтех Опубликовано 4 сентября, 2019 Поделиться Опубликовано 4 сентября, 2019 Интересно, есть ли возможность подключения всевозможных ардуин/есп к КАН шине автомобиля? Думаю, что можно было бы сделать не плохой авто-компьютер... ну есть же в инете описания экспериментов.... но для меня это сложно Ссылка на комментарий Поделиться на другие сайты Поделиться Награды
Владимир Петрунин Опубликовано 7 сентября, 2019 Поделиться Опубликовано 7 сентября, 2019 Я телевизор купил и при помощи телефона на нем можно в интернет заходить , я в легком растерености , а вы криветки -парники в 80 за рассказ про такой телевизор получил бы кликуху пи( @ )здабол . Так то Тема интересная но надо время . Ссылка на комментарий Поделиться на другие сайты Поделиться
комтех Опубликовано 1 марта, 2020 Поделиться Опубликовано 1 марта, 2020 Ну что... пришли части Ардуино для ректификационной колонны... Посмотрим на сколько будет сложно освоить... Но мозг должен работать... первые задачи...прошивка платы... питания... WI-FI.. подключение экрана... будем работать... 1 Ссылка на комментарий Поделиться на другие сайты Поделиться Награды
Игорь Турикин Опубликовано 11 марта, 2022 Автор Поделиться Опубликовано 11 марта, 2022 Было создал отдельную тему, но потом ее грохнул. От слов к делу, так сказать.. Делаю для машины анализатор качества воздуха на датчике SPG30 и Arduino Nano Прототип уже в работе Стало быть переходим к коду.. делаю для себя, по этому не комментирую строки кода. #include <Wire.h> #include <Adafruit_SGP30.h> Adafruit_SGP30 sgp; int ledPin = 3; unsigned long timing; void setup() { Serial.begin(115200); pinMode(ledPin, OUTPUT); analogWrite(ledPin, 3);; Serial.println(F("Start bridge detect modul...")); if (! sgp.begin()){ Serial.println("Sensor SGP30 not found :("); while (1); } } void loop() { if (! sgp.IAQmeasure()) { Serial.println("Measurement failed"); return; } else { if (millis() - timing > 1000){ timing = millis(); Serial.print("TVOC - "); Serial.print(sgp.TVOC); Serial.print(" | eCO2 - "); Serial.println(sgp.eCO2); if (sgp.TVOC <= 65 || sgp.eCO2 <= 600){ analogWrite(ledPin, 3); } else if (sgp.TVOC > 65 & sgp.TVOC < 220 || sgp.eCO2 > 600 & sgp.eCO2 < 700){ analogWrite(ledPin, 50); delay(50); analogWrite(ledPin, 3); delay(50); analogWrite(ledPin, 50); delay(50); analogWrite(ledPin, 3); delay(50); } else if (sgp.TVOC > 220 & sgp.TVOC < 660 || sgp.eCO2 > 700 & sgp.eCO2 < 1000){ analogWrite(ledPin, 255); delay(50); analogWrite(ledPin, 3); delay(50); analogWrite(ledPin, 255); delay(50); analogWrite(ledPin, 3); delay(50); analogWrite(ledPin, 255); delay(50); analogWrite(ledPin, 3); delay(50); } else { analogWrite(ledPin, 3); } } } } На просторах этих ваших интернетов гуляют таблицы о качестве воздуха. Датчик измеряет TVOC и eCO2. Воспользовавшись этими таблицами, настраиваю индикацию "прибора". 1. - Светодиод светится очень тускло, что как бы намекает на то, что устройство работает и нет выхода за нормальные параметры = "ОТЛИЧНО!". 2. - Светодиод моргает 2 раза, что означает, что порог "ОТЛИЧНО!" превышен. 3. - Светодиод моргает ярче и уже 3 раза, это говорит о том, что пора проветрить салон. Сегодня утром затестил конструкцию в машине. Надо сказать, что был удивлен немного. После 5 мин прогрева, замигал светодиод, печка при этом была включена и забор воздуха был с улицы. По пути на работу окна не открывал, светодиод продолжал мигать. НО! Значения для мигания были TVOC > 65 и eCO2 > 600, на работе допилил разделение отображения, в зависимости от загрязнения воздуха. Ссылка на комментарий Поделиться на другие сайты Поделиться
комтех Опубликовано 11 марта, 2022 Поделиться Опубликовано 11 марта, 2022 Для меня сложновато....всё пытаюсь разобраться в программировании... чтоб закончить свою ракт.колонну.. Не хватает знаний... и мозг не так гибок для получения новых сложных знаний.. но разберёмся.. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться Награды
Игорь Турикин Опубликовано 13 марта, 2022 Автор Поделиться Опубликовано 13 марта, 2022 11.03.2022 в 10:06, Игорь Турикин сказал: Воспользовавшись этими таблицами, настраиваю индикацию "прибора". Немного изменил конструкцию. Прицепил RGB светодиод. Теперь индикация выглядит следущим образом. 1. Все в порядке - тусклое зеленое свечение 2. Желательно проветрить - два коротких синих блика в течении секунды, в половину яркости светодиода 3. Срочно проветрить - три коротких красных блика в течении секунды, в полную яркость светодиода Ну и измененный код #include <Wire.h> #include <Adafruit_SGP30.h> Adafruit_SGP30 sgp; int ledPinR = 3; int ledPinG = 5; int ledPinB = 6; unsigned long timing; void setup() { Serial.begin(115200); pinMode(ledPinR, OUTPUT); pinMode(ledPinG, OUTPUT); pinMode(ledPinB, OUTPUT); analogWrite(ledPinG, 3);; Serial.println(F("Start bridge detect modul...")); if (! sgp.begin()){ Serial.println("Sensor SGP30 not found :("); while (1); } } void loop() { if (! sgp.IAQmeasure()) { Serial.println("Measurement failed"); return; } else { if (millis() - timing > 1000){ timing = millis(); Serial.print("TVOC - "); Serial.print(sgp.TVOC); Serial.print(" | eCO2 - "); Serial.println(sgp.eCO2); if (sgp.TVOC <= 65 || sgp.eCO2 <= 600){ analogWrite(ledPinG, 3); } else if (sgp.TVOC > 65 & sgp.TVOC < 220 || sgp.eCO2 > 600 & sgp.eCO2 < 700){ analogWrite(ledPinG, 0); analogWrite(ledPinB, 50); delay(50); analogWrite(ledPinB, 0); delay(50); analogWrite(ledPinB, 50); delay(50); analogWrite(ledPinB, 0); delay(50); } else if (sgp.TVOC > 220 & sgp.TVOC < 660 || sgp.eCO2 > 700 & sgp.eCO2 < 1000){ analogWrite(ledPinG, 0); analogWrite(ledPinR, 255); delay(50); analogWrite(ledPinR, 0); delay(50); analogWrite(ledPinR, 255); delay(50); analogWrite(ledPinR, 0); delay(50); analogWrite(ledPinR, 255); delay(50); analogWrite(ledPinR, 0); delay(50); } else { analogWrite(ledPinG, 3); } } } } 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения