Первая разработка в программе (для теплицы, гроубокса)

hallozin
Рядовой
Сообщения: 26
Зарегистрирован: 01.10.2015{, 16:29}
Репутация: 0

Первая разработка в программе (для теплицы, гроубокса)

#41

Сообщение hallozin » 25.01.2016{, 17:48}

AlexRyzh, Вот посмотри мой проект по автоматизации теплицы ,точнее его малая часть ,там меню с подменю, их можно увеличивать практически до любых размеров
Вложения
6351886.flp
(1.25 МБ) 98 скачиваний

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#42

Сообщение AlexRyzh » 25.01.2016{, 22:22}

AlexRyzh писал(а):Забыл сказать, в проекте использован пользовательский блок, скачать можно здесь.
Спасибо. Но пользовательский блок не нужно скачивать никогда, если он есть в проекте. Просто правой кнопкой на блок и "Добавить в библиотеку" Изображение

Добавлено (25.01.2016, 22:03)
---------------------------------------------
Олег писал(а):AlexRyzh, Вот посмотри мой проект по автоматизации теплицы ,точнее его малая часть ,там меню с подменю, их можно увеличивать практически до любых размеров
Спасибо, посмотрю

Добавлено (25.01.2016, 22:22)
---------------------------------------------
Олег писал(а):Вот посмотри мой проект по автоматизации теплицы ,точнее его малая часть ,там меню с подменю, их можно увеличивать практически до любых размеров
Спасибо. Как начинающему не просто разобраться в проекте, но есть над чем подумать, разобраться, поучиться

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#43

Сообщение Олег » 25.01.2016{, 22:39}

AlexRyzh писал(а):Но пользовательский блок не нужно скачивать никогда, если он есть в проекте
Чего только нового не узнаешь. Изображение
Что-то с цитатами в предыдущем посте проблемы.

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#44

Сообщение AlexRyzh » 25.01.2016{, 23:08}

AlexRyzh писал(а):Чего только нового не узнаешь.
Это есть в одном из уроков автора программы
Последний раз редактировалось AlexRyzh 25.01.2016{, 23:09}, всего редактировалось 1 раз.

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#45

Сообщение Олег » 25.01.2016{, 23:18}

Я злостный прогульщик, много уроков прогулял Изображение .

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Первая разработка в программе (для теплицы, гроубокса)

#46

Сообщение rw6cm » 25.01.2016{, 23:24}

rw6cm писал(а):Если вечером будет время сделаю набросок.
Делая наброски понял, что будет лучше сделать полностью готовый проект.
Иначе будет многое не понятно и возникнет еще больше вопросов.
На днях выложу готовый макет из Унки, 44780 I2C, 1307, 4 кнопки, и шилда на 4 реле.
с вариантом на "все случаи в жизни" )))
Последний раз редактировалось rw6cm 25.01.2016{, 23:26}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#47

Сообщение AlexRyzh » 28.01.2016{, 00:04}

Поработал над созданием автоматики в теплице по программе минимум на Mega 2560. Может еще по ходу жизни что понадобится, буду доделывать, перепрошивать...
А пока вот такая конструкция получилась. Выставляю на суд гуру, может что не так сделал или где упростить можно...
Это моя первая работа в программе, поэтому жду замечаний, подсказки...
Напоминаю, пользовательский блок скачивать не нужно, можно добавить в свою библиотеку, нажав на него правой кнопкой мыши и выбрать "Добавить в библиотеку"
И еще... в пользовательском блоке нужно вычисление логорифма, но в программе не предусмотрено вычисление, поэтому вместо логарифма я поставил вычислять SQ, чтоб потом в скетче SQ заменить на log. Вот здесь.
"..... float _gtv4 = _ubInstans._gtv4;
float _gtv5 = _ubInstans._gtv5;
float _strFunsq1 = _ubInstans._strFunsq1;
_strFunsq1 = sq(((ubpar_119498336)/(((1023)/(ubi_73680708))-(1)))/(10000.00));
ubo_166513358 = ((1)/(((1)/(298.15))+(((1)/(5500.00))*(_strFunsq1))))-(273.15);
_ubInstans.ubo_166513358 = ubo_166513358;
_ubInstans._gtv1 = _gtv1;
...
"

Программу построил так чтоб обойтись без отдельного реле времени. Но задумка сделать многоканальное реле остается  :)

P.S. Еще буду доделывать сюда сбор информации и отправки в базу данных на сервер, чтоб можно было построить и посмотреть графики интересующих данных.
Вложения
greenbox5.flp
(1.4 МБ) 82 скачивания
Последний раз редактировалось AlexRyzh 28.01.2016{, 00:12}, всего редактировалось 1 раз.

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#48

Сообщение AlexRyzh » 28.01.2016{, 11:00}

Помогите с проблемой отправки данных в базу данных на Веб-сервер.
У меня не получается, с использованием Вебклиента.
8808782.jpg
При вставке вебклиента вставляется похожее на вебсервер, и при настройках пишет страница вебсервера
5002249.jpg
Нет возможности ввести адрес хоста типа http://mysuite.hol.es
Пробовал вычислить IP сайта, но по этому IP на сайт не заходит, а выдается страница хостера с ошибкой.... oshibka_404
Например, на хосте http://mysuite.hol.es у меня есть база данных, где я создал таблицу для хранения данных
Есть страница test.php приема данных и размещения их в базе данных (вот вырезка кода из этой страницы):
Код<?php......
......
$temp = $_GET["tr"];// получение значения влажность$hum = $_GET["h"];
//устанавливаем подключение к MySQL$connect = mysql_connect($dbhost, $dbuser, $dbpass);// проверяем состояние подключенияif(! $connect ){  die('Could not connect: ' . mysql_error());}// Выбираем базу данныхmysql_select_db ($dbname, $connect);
//Отправляем данные в таблицу// Prepare the SQL statement  $SQL = "INSERT INTO table1 (date_time, sensor_temp, sensor_humidity, client_ip) VALUES (NOW(),'$temp', '$hum', '$client_ip')";     
    ..........
.......
?>

При обращении к странице http://mysuite.hol.es/test.php с значениями для переменных, эти значения заносятся в таблицу базы данных.
Это проверено, все работает, таблица при каждом запросе заполняется данными

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#49

Сообщение AlexRyzh » 28.01.2016{, 11:11}

Вот тело страницы 
5375244.jpg
Но я ничего не смогу отправить серверу, пока не смогу указать адрес, а не IP.
У меня есть скетч (я ранее делал, до изучения ФЛПрог), который работает, и данные сохраняются в таблице базы данных на сервере.
Вот фрагмент кода:
Код#include <SPI.h>#include <Ethernet.h>..........
.........


byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 };                                       
EthernetClient client;char server[] = "*******.hol.es"; // имя вашего сервера  www.arduino.ru  ..............       .............         ...............                  if (client.connect(server, 80)) {
    client.print( "GET /test.php?tr=");       client.print( tr );    client.print("&h=");        client.print( h );    client.println( " HTTP/1.1");    client.print( "Host: " );    client.println(server);    client.println( "Connection: close" );    client.println();    client.println();      ..............
.................
}
Что нужно сделать, чтоб происходило подобное как в этом скетче?
Почему в Вебклиенте нельзя ввести адрес типа http//....?

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#50

Сообщение AlexRyzh » 28.01.2016{, 11:18}

В информации о блоке Вебклиент указано, что можно вводить адрес сайта строкой, а на самом деле нельзя
Что это может быть?
Вложения
1517095.jpg

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#51

Сообщение Олег » 28.01.2016{, 11:24}

Походи по похожим темам, что-то мне кажется что этот вопрос уже поднимался, и что будет исправлено в следующей версии, но может я и не прав.

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#52

Сообщение AlexRyzh » 28.01.2016{, 12:03}

Олег писал(а):Походи по похожим темам, что-то мне кажется что этот вопрос уже поднимался, и что будет исправлено в следующей версии, но может я и не прав.
Не нашел ничего похожего (искал по названию темы), одна тема есть с таким вопросом, но абсолютно без ответа.
Обновил программу, там появилась возможность вставлять свои коды, думаю это должно решить проблему и с логарифмом и с отправкой в базу данных на сервер в сети.
Последний раз редактировалось AlexRyzh 28.01.2016{, 13:09}, всего редактировалось 1 раз.

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#53

Сообщение AlexRyzh » 28.01.2016{, 18:45}

Удалось преодолеть проблему Вебклиента, и с использованием блока пользователя сделать отправку данных в базу данных на Вебсервер в сети.
Еще мне нужно получить логарифм числа (для вычистлени температуры с термистора). В программе это не реализовано.  
Создал пользовательский блок с входом in_war и выходом out_war. 
В LoopSection вписал out_war=log(in_war); 
На вход подаю число? на выходе получаю логарифм этого числа. 
До этого обновления приходилось танцы с бубном устраивать, да еще в скетче в одном месте править код. 
Но пришлось 3 пользовательских блока делать, т.к. вычисления полученных данных с термистора происходят до вычисления логарифма, и после вычисления логарифма.
Но это уже нельзя назвать "Танцы с бубном".
Вот как это выглядит блоками 
Вложения
5651131.jpg

Аватара пользователя
VadKol
Рядовой
Сообщения: 47
Зарегистрирован: 06.09.2015{, 13:32}
Репутация: 0
Откуда: Дмитров

Первая разработка в программе (для теплицы, гроубокса)

#54

Сообщение VadKol » 28.01.2016{, 22:17}

AlexRyz

Может я что-то не понимаю зачем такие сложности с замерами температуры с термисторов.
В итоге все равно измеряем напряжение. А если использовать блок Scale и смаштобировать.
Можно взять две точки 0 (температура таиния льда) и 100 кипение воды.Я приблизительно использовал этот блок в своем проекте гроубокса для замера освещенности.


Добавлено (28.01.2016, 22:17)
---------------------------------------------
Да совсем забыл кое что мне  очень понравилось в вашем проекте попробую реализовать в своем.
Вложения
_2.0.flp
(843.46 КБ) 76 скачиваний
Последний раз редактировалось VadKol 28.01.2016{, 22:18}, всего редактировалось 1 раз.
VadKol

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#55

Сообщение AlexRyzh » 28.01.2016{, 22:59}

AlexRyzh писал(а):Может я что-то не понимаю зачем такие сложности с замерами температуры с термисторов.
Дело в том, что я купил эти термисторы еще не зная какой лучше датчик купить. А так как они уже есть, то нужно снять с них температуру. А для вычисления температуры с термистора существует определенная формула. ВОт в этой формуле и есть логарифм. Но проблем абсолютно никаких, когда вычисления организовал в пользовательском блоке.
AlexRyzh писал(а):В итоге все равно измеряем напряжение. А если использовать блок Scale и смаштобировать
Измеряем не напряжение, а сопротивление, а масштабировать по сопротивлению не корректно, т.к. сопротивление от температуры имеет логарифмическую зависимость.
VadKol писал(а):Я приблизительно использовал этот блок в своем проекте гроубокса для замера освещенности.
Каким образом термистор можно использовать для замера освещенности????
Если Вы имеете ввиду фоторезистор, то возможно там и получится, если там нет логарифмической или другой параболической зависимости, т.е. зависимость прямолинейна.

Добавлено (28.01.2016, 22:59)
---------------------------------------------
В своем проекте Вы используете EEPROMT. Думаю врядли это оправдано безысходностью, ведь запись в эту память ограчинена. Записать в нее можно всего 100000 раз.
Думаю там можно переменными обойтись, которые будут помнить необходимые данные до определенного случая.

Аватара пользователя
VadKol
Рядовой
Сообщения: 47
Зарегистрирован: 06.09.2015{, 13:32}
Репутация: 0
Откуда: Дмитров

Первая разработка в программе (для теплицы, гроубокса)

#56

Сообщение VadKol » 29.01.2016{, 10:29}

AlexRyzh

Совершено с вами согласен зависимость у термистора нелинейная.
Но вопрос идет о тепоице или гроубоксе для выращивания рассады
в основном томатов ,как у меня. Тут интересны температуры +20-30 градусов. На этом участке зависимость у термистора почти линейна.
Насчет памяти вот тут хотелось бы уточнить. Одна запись происходит каждый раз при смене переменной? Вот с досветкой хотелось бы иметь такой алгоритм вклюение по датчику освещенности выключение по часам реального времени продолжительность дня все таки меняется . Проект почти готов не только программно
но и в "металле"остались " пуско-наладочные работы В выходные хочу занятся. Хотел писать переменные на SD но чтото не пошло на НАНО. Позтому часы как бы висят без дела
Вложения
NTC_Temperature.pdf
(142.12 КБ) 79 скачиваний
VadKol

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#57

Сообщение Олег » 29.01.2016{, 10:44}

Запись в ЕЕПРОМ производится по переднему фронту импульса на входе En.

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#58

Сообщение AlexRyzh » 29.01.2016{, 13:07}

VadKol писал(а):Насчет памяти вот тут хотелось бы уточнить. Одна запись происходит каждый раз при смене переменной?
Да, запись происходит каждый раз при смене переменной.
Что такое память EEPROM?
Большинство МК AVR от Atmel содержат EEPROM (Electronically Erasable Read-Only Memory) — энергонезависимую память с довольно большим количеством циклов записи. Данные, записанные в эту память, не будут сбрасываться даже при отключении питания, что очень удобно, например, для хранения настроек или каких-то идентификационных данных.
EEPROM в AVR имеет ограниченное количество циклов записи — 100 000. Количество циклов чтения не ограничено.

Это удобно для хранения настроек, важных данных - но не переменных, которые меняются при каждом нажатии кнопки или изменения значений датчика....
Если использовать память для хранения переменных, то за неделю - две ресурс памяти ЕЕПРОМ закончится :'(
VadKol писал(а):Тут интересны температуры +20-30 градусов. На этом участке зависимость у термистора почти линейна.
Не вижу смысла экономить пару килобайт кода, лучше знать реальную температуру. Тем более легко расчитывается по формуле. 1 раз создал пользовательский блок, потом через него хоть десяток термисторов подключай.
VadKol писал(а):Вот с досветкой хотелось бы иметь такой алгоритм вклюение по датчику освещенности выключение по часам реального времени продолжительность дня все таки меняется
Тоже хотел так сделать, но еще на логическом уровне отказался от этой затеи. Т.к. датчик освещенности будет внутри, и при включении досветки ему не объяснишь, что это досветка. В общем он не сможет фильтровать где искуственный свет, а где естественный.
Хотя на перспективу можно будет попробовать реализовать возможность досветки в зависимости от освещенности. Для этого сделать для датчика миниатюрную теплицу и вынести за пределы основной теплицы. Освещенность в мини-тепличке будет примерно такая как и в основной, и тогда в зависимости день-вечер-утро или солнечно-сильнопасмурно можно автоматически включать и выключать досветку.
Но пока сделаю по часам, а там посмотрим.

Добавлено (29.01.2016, 13:07)
---------------------------------------------
Еще появилась такая идея: сделать своеобразный универсальный пульт управления на отдельной ардуине (например нано). 
Думаю это будет актуально, если в распоряжении несколько автоматизированных процессов. Это может быть:
1. Теплица
2. Гроубокс
3. Умный дом
4. Уход за птицей или др.зверюшками
5. Др. автоматизированные процесы. Закрывание - открывание чего-то, включение-отключение в зависимости...

И на каждый процесс не ставить кнопки, экраны... а настройку и управление параметрами можно организовать с отдельного автономного блока на базе отдельной Ардуино, на которой будет экран и блок кнопок. На управляющем блоке можно выбрать управляемый блок, посмотреть необходимые данные, выставить необходимые параметры режима работы и передать в ведомую Ардуину через блютуз модуль или вай-фай... 
Как-то так...
Последний раз редактировалось AlexRyzh 29.01.2016{, 11:47}, всего редактировалось 1 раз.

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 63
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#59

Сообщение Олег » 29.01.2016{, 14:23}

AlexRyzh писал(а):Да, запись происходит каждый раз при смене переменной
Нет, запись происходит  по переднему фронту импульса на входе Enable, а переменная может перед этим меняться сколько угодно раз и записи не будет.

Аватара пользователя
AlexRyzh
Сержант
Сообщения: 107
Зарегистрирован: 22.12.2015{, 11:06}
Репутация: 1
Откуда: Мелитополь
Контактная информация:

Первая разработка в программе (для теплицы, гроубокса)

#60

Сообщение AlexRyzh » 29.01.2016{, 17:10}

Олег писал(а):Нет, запись происходит  по переднему фронту импульса на входе Enable, а переменная может перед этим меняться сколько угодно раз и записи не будет.
Оно то да, но речь идет именно о счетчике записи в память. 
А зпись каждый раз при записи установленных параметров
2013848.jpg
Добавлено (29.01.2016, 17:10)
---------------------------------------------
Если не часто менять эти параметры, то в принципе хватит на долго Изображение

Ответить

Вернуться в «Проекты различных устройств на Arduino»