На головну сторінку Аквафорум
На головну сторінку




Назад   Аквафорум - форум акваріумістів та тераріумістів > Акваріум та обладнання > "Самоделкин" > Аквариумная автоматика
Аукцион Реєстрація ЧаПи Учасники Календар Нинішні дописи

Примітки

Відповідь
 
Параметри теми Параметри перегляду
Старий 24.09.2017, 13:19   #1
Ультразвуковой датчик HC-SR04 и Arduino UNO
 
Аватар для Сергій М
Живу я тут

Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
 

сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Сергій М Сергій М поза форумом 24.09.2017, 13:19
Рейтинг: ()

Добрый вечер коллеги аквариумисты!

Для создания девайса для своего аквариума нужна Ваша помощь, о чём я и прошу. Речь идёт о автодоливе воды.
Имеется Arduino UNO, датчик расстояния HC-SR04, обычный светодиод и зуммер, и всякая нужная мелочь.
В сети нашёл самый простой и наиболее подходящий скетч:
Скрытый текст

Понравился тем что в рамках заданного расстояния можно отслеживать уровень воды. Вместо/или в парралель светодиоду установив пищалку получится "алярм", в случае когда уровень воды от автослива опустится ниже нужного уровня(20см, 5-я строчка скетча) или выше(4см, 6-я строчка) - светодиод и пищалка дадут знать.

Но это в вышеописанном скетче присутствует. Моя просьба в другом. Можете добавить ещё один диапазон, чтоб он как раз и управлял столь желаемым мной -автодоливом, посредством подключения через реле??? Тот диапазон что есть сейчас (4см-20см) - останется для аварийного сигнализирования. Новый нужен в внутренних рамках, например 5см-19см, получается по 1см до аварийного срабатывания диапазона 4см-20см. Данные расстояния приблизительные.
И можно ли сдетать так - чтоб светодиод /пищалка, диапазона 4-20 не просто включался - а моргал/пищал зуммером.

Огромная просьба откликнуться нашим программистам и отполировать код !!
Переглядів: 19320
Відповісти з цитуванням
cказали "Дякую" Сергій М за цей допис:
alexbrutalcore (24.09.2017)
Старий 24.09.2017, 15:31   #2
Живу я тут
  
 
Аватар для yarishNEW
 
Реєстрація: 13.10.2010
Звідки Ви: г.Кременчуг Полтавской обл.
Дописи: 545
сказав Дякую: 547
сказали Дякую 417 раз(и) в 242 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

Актуальность в автодоливе для каких функций?

Arduino UNO - избыточное решение для такой функции как автодолив, если только он не завязан с другим функционалом который вы собираетесь завести на этот контроллер.


Востаннє редагував yarishNEW: 24.09.2017 о 15:41..
yarishNEW поза форумом   Відповісти з цитуванням
Старий 24.09.2017, 16:52   #3
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

yarishNEW,
1) Для автодолива ... Автослив будет реализован тем контроллером который у меня сейчас (Мега 2560).
2) Arduino UNO у меня валялась в ящике (для другого проекта, пока не завершённого)
, вот и использовал это. Есть ещё где-то Нано, но не могу найти.

Если как Вы говорите - избыточна для такого проекта, то конечно было бы круто - полностью сделать отдельный, самодостаточный контроллер по автоматизации подмена воды в акве. С часами, реле управляющими клапанами слива, долива, с возможностью выбора графика подмен - 2 раза в день, 1раз в день, через день, 1 раз в неделю или любой другой режим.
Но для этого нужно уже намного сложнее код, я же не умею программировать вообще, кроме как выставить время, расстояния, таймеры и т.п в скетче.

Сергій М поза форумом   Відповісти з цитуванням
Старий 24.09.2017, 17:44   #4
Живу я тут
  
 
Реєстрація: 21.07.2009
Звідки Ви: Оболонь
Дописи: 587
сказав Дякую: 86
сказали Дякую 102 раз(и) в 82 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

Попробуйте что-то из описанных тут сайтов https://www.drive2.ru/b/2729013/ и думаю все получится У себя с логической частью уже разобрался а вот с визуализацией как раз проблема но с ней таких инструментов пока нет
__________________
реанимация компьютеров, серверов, сетей, телефонов-планшетов.

alex_palace поза форумом   Відповісти з цитуванням
Старий 24.09.2017, 18:04   #5
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

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

Сергій М поза форумом   Відповісти з цитуванням
Старий 24.09.2017, 18:21   #6
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

Возможно я в шапке сложно описал потребности.
Сейчас есть :
0-4см - включается светодиод
4-20см - выключается светодиод
20-∞ - включается светодиод
Всё.

Нужно :
0-4см - включается светодиод 1
4-20см - выключается светодиод 1
20- ∞ включается светодиод 1
5-19см - включается светодиод 2
0-5см и 19-∞ - выключается светодиод 2
4-5см и 19-20 - включается светодиод 3
0-4, 5-19 и 20-∞ - выключается светодиод 3

Сищалку я запараллелю с светодиодом 1, функция "Алярм" - это в случае если клапана слива или долива перестараются, и уровень выйдет за рамки 4-20см. Пищать зумером и моргать если сложно программно, решу подключением через реле задержки ))) так смогу и посерьёзнее колокол сигнализации подключить, и прожектор вместо светодиода
А Реле автодолива подключу к светодиоду 2, так клапан откроется и пойдёт долив воды.


Востаннє редагував Сергій М: 24.09.2017 о 18:39..
Сергій М поза форумом   Відповісти з цитуванням
Старий 24.09.2017, 21:02   #7
Живу я тут
  
 
Аватар для AquaGomel
 
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
Надіслати повідомлення для AquaGomel на ICQ Надіслати повідомлення для AquaGomel на Skype
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

Если я правильно понял. Можно сделать изящнее, но если честно то лень. И естественно код нужно проверять. Если что не так пишите.
Скрытый текст

AquaGomel поза форумом   Відповісти з цитуванням
Старий 24.09.2017, 22:41   #8
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

ого !!!!!!! прямо сейчас проверю !

Сергій М поза форумом   Відповісти з цитуванням
Старий 24.09.2017, 23:11   #9
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

AquaGomel, Всё просто идеально работает !! Огромное спасибо.
Хотел визуально проконтролировать работу сенсора с помощью "Монитор порта", а там пусто ))) прописал - Serial.begin(9600); // Starts the serial communication и ниже : Скрытый текст
и понял что даже прописать Serial.println(distance); в нужных местах я не умею, пока что. Так как значения в "Мониторе порта" изменялись исключительно при перемещении сенсора, дальше замирали до следующего перемещения.

Сергій М поза форумом   Відповісти з цитуванням
Старий 24.09.2017, 23:20   #10
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

Ах да, забыл - исправил (временно) для точности проверки :
с - distance = duration / 58.2; на distance = duration / 5.82; что следовательно привело к исправлению всех значений в мм, 0-40-50-190-200мм.

Сергій М поза форумом   Відповісти з цитуванням
Старий 25.09.2017, 00:44   #11
Живу я тут
  
 
Аватар для AquaGomel
 
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
Надіслати повідомлення для AquaGomel на ICQ Надіслати повідомлення для AquaGomel на Skype
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

Если я правильно понял то: Serial.println(distance); установлены внутри блока когда срабатывает включение или отключение канала. Если ван нужен реал-тайм значения distance просто добавьте строку Serial.println(distance); сразу за distance = duration / 5.82; А остальные Serial.println можно убрать. Однако в боевом применении не желательно оставлять Serial

AquaGomel поза форумом   Відповісти з цитуванням
Старий 25.09.2017, 08:34   #12
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

Понял, учту, сейчас мне данная статистика о дистанции нужна исключительно для тонкой настройки автодолива, при окончательной установке на акву - данные строки будут удалены.
А пока - вечером всё ещё пару раз проверю и перейду к этапу сборки корпуса и прикручивания к акве ))

Сергій М поза форумом   Відповісти з цитуванням
Старий 25.09.2017, 23:30   #13
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

AquaGomel, Ещё один вопрос - есть ли возможность установки гистерезиса на включения, так как дребезжания на границах сумасшедшие, всему виной точность самого датчика - 3мм !!! из-за этого нет грани при переходе с одного режима в другой. Например мы установим условие 0-4см Led1, и 5-10см Led2,получится грань 4.5см (45мм), из-за проклятых 3мм точности как выясняется грани 45мм просто не существует, показания мелькают со скоростью пропорциональной обновлению информации ( delay(50); ), и меняются в радиусе 3мм - 44-47мм, 43-46мм, что приводит к постоянному дребезжанию. Даже в переключении на см, данный конфуз остаётся ((
Есть ли лекарство от этого ? Придётся отказываться от какой либо из функций (например LEDWarning3) и решит ли это проблему ?

Сергій М поза форумом   Відповісти з цитуванням
Старий 26.09.2017, 08:41   #14
Живу я тут
  
 
Аватар для AquaGomel
 
Реєстрація: 31.07.2010
Звідки Ви: Белоруссия, Гомель
Дописи: 413
сказав Дякую: 38
сказали Дякую 192 раз(и) в 87 повідомленні
Надіслати повідомлення для AquaGomel на ICQ Надіслати повідомлення для AquaGomel на Skype
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

Дребезжание я так понимаю постоянное включение выключение каналов? Могу предположить что точность данного устройства достаточно невысокая, вернее даже не точность а разброс значений которые оно выдает. По даташиту у него разрешение: 0.3 cm поэтому между значениями "включить текущий канал выключить предыдущий" должен быть зазор не менее 30мм, однако смею предположить что естественные колебания воды на поверхности резко увеличат этот самый зазор. Мой вам совет: сделать зазор как минимум в 0.5 см между зонами включения светодиодов. Логику выключения выключения сделать такой: светодиоды включать при достижении какой либо зоны, остальные выключать только если зона смениться на другую. Если значение попадает в зазор между зонами светодиоды не выключать. Как-то так...

AquaGomel поза форумом   Відповісти з цитуванням
cказали "Дякую" AquaGomel за цей допис:
yarishNEW (26.09.2017)
Старий 26.09.2017, 22:04   #15
Живу я тут
  
 
Аватар для Сергій М
 
Реєстрація: 31.12.2014
Звідки Ви: Львов
Дописи: 1.421
сказав Дякую: 278
сказали Дякую 830 раз(и) в 533 повідомленні
Re: Ультразвуковой датчик HC-SR04 и Arduino UNO ===www.aquaforum.ua===

То-есть сделать так ?:
Сейчас (в мм) - Led1 0-40, Led2 40-50, Led3 50-190, Led2 190-200, Led1 200<
Сделать (в мм) - Led1 0-37, Led2 42-50, Led3 55-190, Led2 195-200, Led1 205<

Сергій М поза форумом   Відповісти з цитуванням


Share/Bookmark

Відповідь


Тут присутні: 1 (учасників - 0 , гостей - 1)
 

Ваші права у розділі
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи

BB-код є Увімк.
Усмішки Увімк.
[IMG] код Увімк.
HTML код Вимк.

Швидкий перехід


Часовий пояс GMT +3. Поточний час: 12:57.


vBulletin 3.8.7 ; Copyright © 2000-2025 Jelsoft Enterprises Limited
Переклад: © Віталій Стопчанський, 2004-2010
(с)Бешлега Олександр Анатолійович, 2002-2025. Використання матеріалів сайту без посилання на джерело заборонено.
Дякуємо за ліцензійну версію форума компанію Барбус, представника торгової марки Sera в Україні.


no new posts