go to bottom
Постоянный посетитель
Аквафорум рыбкаАквафорум рыбкаАквафорум рыбка
Аватар пользователя

693 90
Выкса
2 года

ARDUINO для автоматизации аквариума (страница 16)

Создал отдельную тему по вопросам использования простых и не дорогих плат ARDUINO для целей автоматизации аквариума.
Идея такая - довести это устройство до полнофункционального контроллера для аквариума, в итоге - с WEB сервером для управления по сети в т.ч. Интернет, и GSM модулем с отправкой SMS.
Начало обсуждения в теме про дозатор :
дозатор

Информация будет, в основном, в виде конкретных примеров.

Пример 1. Использоание плат Arduino UNO и Arduino NANO для управления по времени суток устройствами в 2-х каналах посредством релейного модуля.
Предполагается использование для создания 2-х канального дозатора, но и для включения света, например подойдет, и для многих других целей также.

Используется модуль часов реального времени, для точного планирования по времени суток, и релейный модуль. В данном примере используется 4-канальный, но 2 канала не используются...

Схема коммутации в случае использования платы UNO R3:

для форума


Схема коммутации в случае использования платы NANO:
для форума


Программа для среды программирования Arduino:
//***************************************************
// Скетч для управления релейным модулем, в котором *
// использовано два канала. Используется также RTC *
// Релейный модуль - с инверсной логикой на входе *
// Автор: ZORS *
// Версия 1. Дата 21.12.2013 02:40 *
//***************************************************
//----------ИМПОРТ БИБЛИОТЕК-------------------------
#include //Подключаем библиотеку для использования I2C интерфейса с модулем RTC
#include //Подключаем библиотеку для использования модуля часов реального времени RTC

RTC_DS1307 RTC; //Создаем переменную класса - для использования RTC

//----------Объявляем разные переменные------------
const int RelayChn1 = 6; //Используем цифровой ПОРТ 6 для ПЕРВОГО канала релейного модуля
const int RelayChn2 = 7; //Используем цифровой ПОРТ 7 для ВТОРОГО канала релейного модуля
//----------Настройки времени и продолжительности включения реле

//----------ПЕРВЫЙ канал----------------------------
const long StartRelCn_1 = 25200; //Время срабатывания в ПЕРВОМ канале релейного модуля (в секундах от начала суток)
//в данном случае 25200 - это 7 часов 00 минут = ( 60секунд *60 минут *7 = 25200)
const long DurationCh_1 = 10; //ДЛИТЕЛЬНОСТЬ срабатывания реле в ПЕРВОМ канале (в секундах)

//----------ВТОРОЙ канал----------------------------
const long StartRelCn_2 = 37800; //Время срабатывания во ВТОРОМ канале релейного модуля (в секундах от начала суток)
//В данном случае 10 часов 30 минут = (60 секунд * 60 минут * 10 часов + 60сек*30мин = 37800)
const long DurationCh_2 = 15; //ДЛИТЕЛЬНОСТЬ срабатывания реле во ВТОРОМ канале (в секундах)

//----------Модуль инициализации setup() - выполняется один раз при инициализации платы при подаче напряжение (и аналогичных событиях)
void setup(){

pinMode(RelayChn1,OUTPUT); //Инициализируем порт для ПЕРВОГО канала как ВЫХОД
pinMode(RelayChn2,OUTPUT); //Инициализируем порт для ВТОРОГО канала как ВЫХОД

digitalWrite(RelayChn1,HIGH); //Устанавливаем на входах релейного модуля ВЫСОКИЙ уровень
digitalWrite(RelayChn2,HIGH); //Т.к. используемый релейный модуль с опторазвязкой - управляется инверсной логикой



Wire.begin(); //Инициируем I2C интерфейс
RTC.begin(); //Инициирум RTC модуль

// RTC.adjust(DateTime(__DATE__, __TIME__)); //С этой строки необходимо убрать комментарии один раз в начале,
//для того, чтобы загрузить в RTC дату и время на момент компиляции программы
//Иногда необходимо заливать СКЕТЧ на плату со снятым комментарием - для поправки
//времени в RTC, НО оставлять такой СКЕТЧ в работе НЕЛЬЗЯ !!!!!!!!!!!!!

} // КОНЕЦ ИНИЦИАЛИЗАЦИИ

//--------------------------------------------------
void loop() // ПРОГРАММЫй безусловный ЦИКЛ
{
DateTime myTime = RTC.now(); //Читаем данные времени из RTC при каждом выполнении цикла

//----------Раздел обработки реле по времени ----
long utime = myTime.unixtime(); //сохраняем в переменную - время в формате UNIX
utime %= 86400; //Сохраняем в этой же переменной остаток деления на кол-во секнд в сутках,
//Это дает количество секунд с начала текущих суток

//------------КАНАЛ 1------------------------------
if ((utime >= StartRelCn_1) &&
(utime
//Если секунд с начала суток больше, чем задано для включения
//Но, одновременно и меньше, чем задано для включения + длительность
{
digitalWrite(RelayChn1,LOW); //Устанавливаем на ПЕРВОМ входе релейного модуля НИЗКИЙ уровень - реле срабатывает
}
else //во всех остальных случаях
{
digitalWrite(RelayChn1,HIGH); //Устанавливаем на ПЕРВОМ входе релейного модуля ВЫСОКИЙ уровень - реле выключается
}

//------------КАНАЛ 2 - все аналогично -----------
if ((utime >= StartRelCn_2) &&
(utime
{
digitalWrite(RelayChn2,LOW); //Устанавливаем на ВТОРОМ входе релейного модуля НИЗКИЙ уровень - реле срабатывает
}
else
{
digitalWrite(RelayChn2,HIGH); //Устанавливаем на ВТОРОМ входе релейного модуля ВЫСОКИЙ уровень - реле выключается
}

}//------------Конец ЦИКЛА-----------------------------


(Редактор текста на данном сайте - к сожалению, "ломает" красивое форматирование.

PS: Выложил этот скетч на файлообменник :
http://my-files.ru/h...

В данной программе реализован, довольно-таки простой подход, а простота - основа надежности.

Каждое из 2-х реле срабатывают один раз в сутки в указанное время, причем время указывается в количестве секунд от начала суток, и удерживается указанное количество времени в секундах.
Такой способ задания времени - несколько сложен для понимания, но за это - не нагружает программу и процессор лишним функционалом, который понадобится всего один раз.
Для определения времени наступления события начала включения и выключения реле - используется время в формате UNIX.

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

У комплектных минутных и секундных таймеров "с розеткой" - об этом можно только мечтать....не реализован такой функционал, и еще у них есть один минус. Реле в таких таймерах - не удерживаемое, а переключаемое, со всеми вытекающими последствиями....

Для программирования нескольких включений каждого реле в течение суток - естественно, потребуется несколько другой подход....спрашивайте когда кому-то потребуется, пока не хочу все усложнять...
В принципе, можно добавить константных переменных, содержащих время и длительность срабатывания, и соответственно добавить проверку на условия.
Если количество необходимых срабатываний каждого реле в сутках больше чем 2 - лучше оформить проверку условий в отдельной функции. Как, говорил человек, учивший меня программированию - "все, что ты делаешь в программе больше двух раз - оформляй отдельной процедурой, или функцией".

Главное ограничение этого подхода - включение и выключение реле - должно произойти в одних сутках. Если необходимо чтобы, реле включилось в одних сутках, а выключилось в других - необходимо разбить это задание на 2 задания, или применить другой метод проверки условий наступления событий включения и выключения.

Весь этот пример тестировался на "живом" железе :
для форума

Для наглядности отладки был еще подключен LCD дисплей 16 сим в 2 строках.
Схема итоговая была такая:
для форума

Обратите внимание, что при использовании I2C последовательного интерфейса - соединения значительно упрощаются. И LCD дисплей подключен транзитом через модуль RTC (часов реального времени). Никаких паяных соединений нет вообще....все скоммутировано - проводами с разъемами.
Скетч - естественно, несколько другой использовался с добавлением строк инициализации и использования LCD 16x2.

Плата использовалась типа такой:
http://www.ebay.com/...
цена примерно 350 руб.

Релейный модуль
http://www.ebay.com/...
цена примерно 150 руб.

Модуль часов реального времени:
http://www.ebay.com/...
Цена примерно 55 руб.

Для сокращения бюджета можно использовать плату проще:
http://www.ebay.com/...
Цена примерно 200 руб.

Если есть потребность подключить ЖК дисплейчик, то лучше брать ЖК дисплей (LCD) c I2C интерфейсом - это сильно упрощает коммутацию, и сокращает количество использованных портов на микроконтроллере.
Например такой можно использовать :
http://www.ebay.com/...
цена около 180 руб.

На ЖК можно выводить статусную информацию, информацию об ошибках, диагностическую информацию. Все это, конечно, можно и в последовательный порт компьютера выводить, но это не всегда удобно (скорее наоборот), поэтому я всегда использую какой-нибудь девайс для вывода информации.

Для использования I2C интерфейса - необходима библиотека Wire. Она есть в стандартном дистрибутиве среды программирования Arduino.
Для использования модуля RTC на микросхеме DS1307 нужна библиотека RTClib.
Если ее не будет в стандартном дистрибутиве, то ее можно взять в интернет. Например здесь :
http://arduino-info....

Необходимо, скачать, и разархивировать zip-файл в папку с понятным названием, например RTCLib. Затем эту папку поместить в папку, где среда Arduino хранит свои библиотеки. Если ставили среду программирования с настройками по умолчанию, то этой папкой будет :
C:Program FilesArduinolibraries
Сюда и помещайте папки с подключаемыми библиотеками. Если на этот момент, среда программирования была запущена - ее необходимо закрыть, и запустить заново. После этого библиотека будет доступна в меню Скетч/Импортировать библиотеку.

Микросхема RTC модуля DS1307, как правило использует адрес на шине I2C равный 0x68
поэтому, необходимо проверить в библиотечных файлах, библиотеки RTClib наличие строки типа этой:
#define DS1307_ADDRESS 0x68

Если будет использоваться LCD 16x2 с I2C интерфейсом, то - понадобиться библиотека LiquidCrystal_I2C. Можно скачать здесь :
http://dvrobot.ru/lc...
Как подключить к среде программирования Arduino - см. выше

ВАЖНО : при использовании I2C устройств - в скетче, библиотека Wire - должна быть объявлена первой, иначе - будут ошибки компиляции.

По этому примеру - все....

в следующем - присоединение термо-датчика DS18B20, и создание несложного терморегулятора.....


Изменено 24.12.13 автор Z0RS
2013-12-2121/12/2013 15:57:48
#1907148
Новичок

Аватар пользователя

9
Russian Federation Tomsk
7 года

dkozyrev

Для меня не все так просто, я кое как выдать значения смог в сериал порт, на большее нужна практика.
У меня похоже еще что-то с самой ардуино. Она изначально как то странно запускалась - проходило на все ножки паразитное напряжение при включении. Подозреваю на неисправность фильтров питания. Вроде бы одного резистора не хватает на входе питания.
Заказал еще две, когда придут более плотно займусь этим вопросом.

Сегодня убил почти 2 часа вспоминая как написать простой код рассвета-заката без привязки к времени через функцию "for" и задержку "delay" Смайлик :D
Собрал все назад, но запускается через раз. Стабильный запуск только при подключении через USB (думаю за счет опроса ардуино нормально стартует). Точно что-то с самой платкой.

Извиняюсь за неверную ссылку. Вот нормальная:
https://drive.google...
2017-01-2424/01/2017 14:02:02
#2331025
Малёк
Аквафорум рыбка
Аватар пользователя

18
Russian Federation Moscow
4 года

Roywalk

Проверьте, может дело в питании? При питании от USB ардуина оттуда берет 5 вольт и сразу пользует, при питании через ножки ардуина пропускает напряжение через понижающий стабилизатор до 5 вольт. Возможно этот узел глючит, если больше 5 вольт.
У меня так было, на 9 вольт на всех аналоговых выходах напряжение появлялось, независимо от скетча. Даже на блинке реллюшки работали. Хотя по стандартам ардуина должна больше 9 вольт тянуть.

Изменено 24.1.17 автор D.motor
2017-01-2424/01/2017 16:13:35
#2331091
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

413 62
Подольск
4 года

Roywalk

Вобщем проверяйте питание. Вывод +5V как раз с питанием микроконтроллера соединен.
И на все выходы оно точно не должно идти при включении. Может сгорел преобразователь и МК подпалило.
Программа не шедевр, но работать должна.
И по поводу рассветов в цикле, оно конечно самому подумать всегда полезно Смайлик :), но можно было и заглянуть в код Дядьки-рыбомора из соседней темы:
long pwm;
if ((UTime=Led1Off + Led1Dur))
{
pwm=PWM_MIN;
}
else if((UTime>=Led1On) && (UTime {
pwm = ((UTime - Led1On)*(PWM_MAX-PWM_MIN)) / Led1Dur;
}
else if((UTime>=Led1Off) && (UTime {
pwm=((Led1Off + Led1Dur - UTime)*(PWM_MAX-PWM_MIN))/Led1Dur;
}
else
{
pwm=PWM_MAX;
}
analogWrite(Led1, pwm);
2017-01-2424/01/2017 16:47:05
#2331103
Постоянный посетитель
Аквафорум рыбкаАквафорум рыбкаАквафорум рыбка
Аватар пользователя

952 576
Новокузнецк
1 мес.

При 8 битном шим свет включается ступенчато, и уже при analogWrite(LedPin, 1) светодиоды светятся весьма ярко, не получается плавного "рассвета/заката".
Все гораздо лучше смотрится при шим 10 бит, но аппаратно он есть у DUE, (а эта плата заметно дороже даже Меги и нетерпима к напряжению более 3,3 В на портах, что добавляет некоторые неудобства, хоть и решаемые). Сегодня получил PCA9685 модуль для arduino , попробую с ней ради интереса, хотя сделал уже на DUE.

А с другой стороны - пока отлаживал поигрался с "расветозакатами", а сейчас все работает в режиме вкл/выкл... Нужны ли они - эти рассветы? Смайлик :)

Изменено 25.1.17 автор KAA78

2017-01-2525/01/2017 11:38:40
#2331549
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

50 3
Russian Federation Chelyabinsk
6 года

Питание (страница 16)


D.motor


Здравствуйте. подскажите, что используете для питания Ардуино? только USB-порт? возможно ли использовать такую штуку (ссылка ) для понижения с 12в до 7в для ардуино?
2017-01-3030/01/2017 07:21:51
#2334113
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

413 62
Подольск
4 года

StanOK

Можно конечно, но зачем?
Если потребление небольшое (ардуинка, датчики, твердотельное реле), то можно и 12В напрямую кормить.
Если схема жрет много (+пяток электромагнитных реле, вентиляторы), то и при 7В набортный преобразователь будет греться, хотя и в разы меньше чем от 12.
А если уж ставите DC-DC, то чего бы сразу 5В не сделать и на +5В (или на USB) не подать, исключив набортный линейник вообще.
2017-01-3030/01/2017 12:32:46
#2334204
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

50 3
Russian Federation Chelyabinsk
6 года

dkozyrev


Предполагается такой обвес к Arduino uno:
1.LCD 16*2 (I2C) + 3 кнопки
2.Два твердотельных реле
3.Датчик температуры
4.Модуль часов
5.Работа ШИМ (с поднятием сигнала до 0-10V, с отдельным питанием, как раз для этого и буду 12в подводить).

При 12В норм будет? или какой-то радиатор или вент примострячить нужно? впервые работаю с Arduino =) ).

Изменено 30.1.17 автор StanOK
2017-01-3030/01/2017 12:55:39
#2334217
Малёк
Аквафорум рыбка
Аватар пользователя

18
Russian Federation Moscow
4 года

StanOK

Использую подобный преобразователь.

Выдает 5в на общую шину. С шины питаю Arduino через USB разъем и всю периферию (релюшки, часы реального времени, экран, блютус модуль, датчики температуры)

Изменено 30.1.17 автор D.motor

Изменено 30.1.17 автор D.motor
2017-01-3030/01/2017 12:56:33
#2334218
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

413 62
Подольск
4 года

StanOK

В таком наборе самое жручее это подсветка экрана, но миллиампер в 150 должно уложиться, а значит на линейнике не больше 1Вт выделится. А дальше зависит от разводки платы ардуины - если преобразователь к приличному полигончику припаян, то радиаторы-вентиляторы не понадобятся.
А если будет сильно греться, то всегда можно DC-DC поставить, причем лучше такую
https://ru.aliexpres...
Без вольтметра, но места не занимает и микросхема эффективнее.
2017-01-3030/01/2017 13:26:56
#2334228
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

127 4
Russian Federation Togliatti
3 мес.

Roywalk
Она изначально как то странно запускалась - проходило на все ножки паразитное напряжение при включении.

У меня такое было, включались все каналы. Я уже не помню почему, но это связано с питанием ардуинки!
2017-01-3030/01/2017 19:38:25
#2334409
Новичок

Аватар пользователя

1
Ukraine Kiev
7 года

Помогите пожалуйста! (страница 16)


Z0RS

Доброго времени суток !Очень буду благодарен за помощь, так как в программировании я полный чайник ((
Насколько я понимаю при заливке скетча строка // RTC.adjust(DateTime(__DATE__, __TIME__)); используется один раз, и в дальнейшем удаляется из скетча. Строка RTC.adjust(__DATE__, __TIME__)) не изменяется и прописывает время компиляции сама автоматически, или нужно в ней прописывать дату, тогда подскажите в каком формате?? Выходит что если пропало питание на ардуино и через время появилось то она(ардуинка) будет в DS1307 перешивать дату по новой из-за етой строки или я заблуждаюсь ?

И еще подскажите пожалуйста как сюда прописать датчик влажности lm393 что б ардуино постоянно проверял (ежесекундно или ежеминутно ) влажность и при достижении например 70 % влажности отключал питание на реле в не зависимости от показаний часов реального времени , то есть защита от КЗ при намокании, а когда уровень влажности будет меньше 70% разрешал включать/выключать свет на реле через показания часов реального времени? Во блин загнул, надеюсь поймете ))
2017-03-2930/03/2017 00:22:29
#2361677
Постоянный посетитель
Аквафорум рыбкаАквафорум рыбкаАквафорум рыбка
Аватар пользователя

952 576
Новокузнецк
1 мес.

Lm393 - датчик влажности почвы, а не воздуха. Если нужен датчик влажности воздуха, то существуют датчики DHT11 и DHT22. По ним много примеров в сети.
Но, отключать свет по датчику влажности... ну не знаю... 70% - нормальная влажность летом, а под крышкой аквариума, если не вентилировать, то влажность скорее всего стремится к 100%.

RTC.adjust(DateTime(__DATE__, __TIME__)); // каждый раз прописывает в РТЦ время и дату, которое было в момент компиляции.

Изменено 30.3.17 автор KAA78

2017-03-3030/03/2017 06:14:49
#2361696
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

413 62
Подольск
4 года

Dybina

RTC.Adjust прописывает в часы время компиляции, а значит если ее оставить на постоянную, то будет портить время при перезагрузках. Надо раскомментировать эту строку, загрузить скетч для выставления времени, а потом закомментировать обратно и еще раз загрузить.
Lm393 вообще не датчик, а микросхема компаратор, выдает цифровой сигнал при достижении аналоговым сигналом заданного уровня. Что у вас там в качестве собственно датчика?
И да, запрещать включать свет при высокой влажности не дело. Под крышкой аквариума она будет гарантировано. Но можно включать вентилятор для ее понижения.
2017-03-3030/03/2017 09:21:02
#2361730
Новичок

Аватар пользователя

3
United States Providence
7 года

Z0RS


Здравствуйте, сделал по Вашему скетчу проект: свет по движению, PIRдатчик -> ардуино -> реле -> свет, поработал минутку-две, потух. НО, днем свет включать не нужно ибо имеется "лампочка" природная.
использую RTC3231
скетч
https://drive.google...
но выполняется только второе условие "NO Check"
Уж голову заламал, помогите
2017-07-2121/07/2017 16:48:00
#2395409
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

413 62
Подольск
4 года

V_Z

У вас свет включается по движению рыбок?? Смайлик :)
А проблема тут:
const int StartPIRCn_1 = 72000;
const int DurationCh_1 = 1400;
уставки надо тоже long делать, не лезут такие числа в int
а лучше (ОЗУ не расходует)
#define StartPIRCn_1 72000UL
#define DurationCh_1 1400UL
2017-07-2121/07/2017 17:00:00
#2395414
Новичок

Аватар пользователя

3
United States Providence
7 года

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

2017-07-2121/07/2017 17:55:56
#2395427
Новичок

Аватар пользователя

3
United States Providence
7 года

dkozyrev


Вы просто БОГ !!!
СПАСИБО огромное !
2017-07-2121/07/2017 18:03:45
#2395431
Свой на Aqa.ru
Аквафорум рыбкаАквафорум рыбкаАквафорум рыбкаАквафорум рыбкаАквафорум рыбка
Аватар пользователя

2522 653
Москва
4 года

dkozyrev


Коллеги,

Есть просьба, помочь с актуализацией названий устройств для покупки компонентов, с Arduino никогда дело не имел, но думаю достаточно быстро освоить. Дома стоит 2 unix сервера, для одного старого на arm периодически приходится что-то перекомпилировать.

Мысли следующие.
1. Розетки таймеры, 4-5 штук управляемые по WIFI. Сеть настраивается - 2 (два устройства)
2. Управляющий компьютер - Host (возможно на Raspberi PI) - подключен по ethernet. Порт с web - интерфейсом доступен из вне для управления.
3. Управление температурой через 2 розетки (1 на нагрев, 2-я Охлаждение) и через температурный датчик (лучше встроить в №1).
Охлаждение - вентиляторы с регулировкой вращения через питание.

Дополнительно (план на будущее)
4. Отдельное устройство - спектрофотометр - точный анализ тестов воды на основе капельных тестов JBL
PH, Нитраты, Фосфаты, Калий

Пока все...
2017-08-0607/08/2017 00:05:46
#2399620
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

413 62
Подольск
4 года

rainmaverick

Если важно подключение аквакомпа (умной розетки) по WIFI, то имеет смысл собирать не на основе плат Arduino, а на ESP8266. Тут управляющий МК и сеть в одном чипе. Есть как мелкие дешевые модули типа ESP-12E, малопригодные для пайки на макетке, так и более удобные типа NodeMcu V3 с обвесом как у Arduino Nano. Программируется из той же среды Arduino IDE с библиотеками. Можно сделать как веб интерфейс на самом микроконтроллере, так и клиент-серверный обмен, например MQTT. Но танцев с бубном побольше чем у ардуин, питание надо покачественнее.
Есть уже готовые проекты:
https://reefcentral....
Реле для розеток имеет смысл брать на 12В (массово продаются аналогичные на 5В)
https://ru.aliexpres...
в этом случае будет достаточно одного мощного БП для питания реле и вентиляторов охлаждения и минимум преобразователей. И не забыть вынуть перемычку VCC / JD-VCC.
Ну или симисторные OMRON G3MB-202P:
https://mysku.ru/blo...
Плюс термодатчики DS18В20, часы реального времени DS3231 для автономности.
Для охлаждения компьютерные вентиляторы и регулировка при помощи 12В ШИМ. В качестве ключа любой мосфет, например IRLML5203 и нему оптодрайвер TLP250.

PS А у меня акваконтроллером работает Atmega328 + Ethernet ENC28J60. HTTP для настройки и управления, NTP, Narodmon, лог на флешке. На меге объем памяти не позволит реализовать интерфейс с рюшечками, но зато просто, надежно, и вирусы не страшны Смайлик :)
2017-08-1414/08/2017 16:43:43
#2401343
Нравится rainmaverick
Свой на Aqa.ru
Аквафорум рыбкаАквафорум рыбкаАквафорум рыбкаАквафорум рыбкаАквафорум рыбка
Аватар пользователя

2522 653
Москва
4 года

dkozyrev


В домашней сети уже есть Linux сервер, даже два.
Поэтому думал это все на MQTT затащить... Спасибо за информацию, буду на досуге разбираться и заказывать части.
2017-08-1414/08/2017 16:55:59
#2401347
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

66 2
Russian Federation
6 года

Господа, а возможно ли сделать подсчет пузырьков в счетчике ардуинкой? Какой датчик сможет их увидеть? Оптический в видимом диапазоне справится?
Хотел изначально отключать ЭМ-клапан СО2 при достижении какого-то значения рН, но почитав про недолговечность датчиков отбросил этот вариант.

2018-01-0909/01/2018 17:56:33
#2449799
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

66 2
Russian Federation Moscow
6 года

Отвечаю на свой же вопрос:

Эксперимент удачен.

2018-01-0909/01/2018 21:10:00
#2449884
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

157 9
Russian Federation Moscow
6 мес.

Lex_vx
Отвечаю на свой же вопрос.

Это ИК? С Али?
2018-01-0909/01/2018 21:19:40
#2449891
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

66 2
Russian Federation Moscow
6 года

Gar-Ik

Нет. В счетчике вода подкрашена пищевым красителем хлорофиллином (надо пробовать ещё прозрачную). Колба просвечивается по центру лазерным лучом. Пятно падает на фоторезистор. При прохождении пузырька луч преломляется и рассеивается в стороны. Световой поток на фоторезистор уменьшается и сигнал пропадает. Чувствительность фоторезистора настраивается.
Обычными светодиодами бесполезно. Рассеивается свет.

Изменено 10.1.18 автор Lex_vx
2018-01-1010/01/2018 09:37:52
#2450017
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

157 9
Russian Federation Moscow
6 мес.

Lex_vx
... лазерным лучом ...

Типа такого?
2018-01-1010/01/2018 10:11:30
#2450024



Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Top