#1 Re: Проекти » Управление элеватором на Arduino посоветуйте » 2017-02-20 22:00:53

Я не сильно большой спец, но сделал асутп для пиролизной установки. Тоже мега+этот шилд. Но входных линий 12 и исполнителей 16. Реализовал ПИД + еще всякую мелочь. Но. Скорость опроса датчиков где-то раз в секунду - полторы из-за всяких расчетов и синхронизации. Потому 20 входных(разбил 120 на 6 ардуинок) и почти 13 выходных + необходимость синхронизации параметров, думаю, могут давать низкую скорость реакции. Как мне кажется.

#2 Re: Проекти » Беспроводной полив участка на солнечный батареях! » 2017-02-17 03:50:34

Думаю, как вариант, можно использовать емкостной датчик. Их можно изготовить даже самому. Конечно их нужно будет калибровать. Но не обязательно в лаборатории. Можно воткнуть такой датчик в землю требующую полива(сухую) и заметить значение. Потом полить землю до нужного уровня и тоже заметить значение. Собственно и все. Реализовать гистерезис и можно работать. Предполагаю что в пределах одного участка диэлектическая проницаемость почвы не сильно меняется, потому для одинаковых датчиков(с одинаковой емкостью) можно использовать одинаковые параметры.

#3 Re: Апаратні питання » W5100 server is at 0.0.0.0 » 2017-01-21 17:55:34

Перепайка резистора, немного для другой проблемы. Я как раз с таким столкнулся.
Проблему решил, но напишу сюда, может кому пригодится.
В общем сначала конфигурация сети у меня была похожа а такую комп<->роутер<->ардуино c w5100 шилдом. В роли роутера выступал linksys wrt54gl и вся схема работала исправно. Потом появилась необходимость добавить свич и конфигурация приняла такой вид комп<->роутер<->свич<->ардуино.
Тут-то западло и случилось т.к. ардуинка перестала видеть комп. Когда запускал тестовый скетч, IP адрес писало заданый а не 0.0.0.0, все линки были активны. Более того, когда с компа пытался пинговать ардуину то на шилде мигали светодиоды Rx и Tx а пинг не проходил. Т.е. как бы все живое но не работает. Только сетевой шнур переключаю со свича в роутер - все работает сразу. И свич менял и кабель менял, ничего не помогает. Для справки, перепробовал DLink DES-1008A и TP-LINK TL-SF1005D.
Перепайка резистора помогла.

#4 Re: Програмування Arduino » КАК СДЕЛАТЬ POST запрос на сервер? » 2016-03-14 15:01:29

За протеус ничего не скажу, не пробовал. У меня шилд на чипе w5100. Принципиальная разница в чипах: w5100 имеет аппаратную реализацию tcp/ip, стандартную библиотеку входящую в состав среды arduino. Enc28j60 реализует протоколы через библиотеки, которые нужно устанавливать дополнительно. Я Enc28j60 никогда не использовал, потому ничего дельного по нему сказать не могу.

#5 Re: Програмування Arduino » КАК СДЕЛАТЬ POST запрос на сервер? » 2016-03-14 04:10:14

Если вы хотите передавать данные на сервер и ждать от него ответа на эти данные, то думаю, это лучше делать GET. В сообщении Lic Control там есть хороший пример, как это делать. Если же вы уверенны, что вам нужен POST то вот функция, я юзаю у себя в проекте для POST запросов

void saveHistory(String data, String url) {
  if (clientCommon.connect(computerHost, 80)) {
    clientCommon.println("POST " + url + "&arduino=1 HTTP/1.1");
    clientCommon.println("Host: " + ipStr);
    clientCommon.println("Content-Type: application/x-www-form-urlencoded");
    clientCommon.println("User-Agent: arduino-ethernet");
    clientCommon.println("Connection: close");
    clientCommon.print("Content-Length: ");
    clientCommon.println(data.length());
    clientCommon.println();
    clientCommon.print(data);
    clientCommon.println();

    clientCommon.stop();
  }
}

Внешние переменные computerHost, url, ipStr  Вот их определения
computerHost можно или как тип IPAddress

IPAddress computerHost(192, 168, 100, 111);

или как си-строку

char computerHost[] = "piroliz.loc";

url это тип String, установить можно так

String url = "/piroliz/web/index.php?q=flippers"

ну и ipStr имеет тип String. Можно задать так

String ipStr = "piroliz.loc";

Обратите внимание на совпадение значений ipStr и computerHost, в случае если computerHost си-строка. В этих переменных пишется имя сервера, на который вы шлете запросы. Но если у вас в сети нету никакого dns маскарадинга или вообще какого-то резолва имени на ip адрес, то computerHost нужно задать как IPAddress. В то же время в ipStr всегда содержится имя компа.

#6 Re: Програмування Arduino » 2 Ethernet Shield W5100 + 2 Arduino UNO + кабель » 2016-03-11 13:55:17

Примеры работы можно взять в ArduinoIDE https://www.arduino.cc/en/Main/Software  Меню Файл-Примеры-Ethernet там есть пример WebServer и WebClient. Та ардуинка, которая будет принимать сигнал управления релюхой - та сервер, которая отдает команду, то клиент.

#7 Re: Програмування Arduino » 2 Ethernet Shield W5100 + 2 Arduino UNO + кабель » 2016-03-10 21:24:42

да, нужен или кросс-кабель или хаб. А меня ардуина через вот такой шилд http://arduino-ua.com/prod693-W5100-eth … hield-Rev3 подключена к компу. Но, дело в том что 20 метров кабеля этот шилд не "пробил", т.е. комп не видел подключения, пришлось рядом с ардуинкой поставить хаб.

Підвал форуму