Форум

Новые сообщения · Участники · Правила форума
Arduino и Ethernet Shield W5100
Администратор
Администратор
иконка админ
2015-12-08 16:13 #1
Arduino и Ethernet Shield W5100 обсуждение цикла статей.

Часть 1 - Начало проекта.
Часть 2 - Добавлено динамическое обновление данных и работа с SD картой.
Часть 3 - Добавлено оформление страницы.
Часть 4 - Добавлено управление реле.
Часть 5 - Добавлен регулятор мощности нагрузки в виде ползунка.
NEW!!! Часть 6 - Реализация включения реле по таймеру

Профиль

Администратор
TehnopageTeam
щит админа


AspiD
AspiD
2016-01-16 17:23 #91
toto123hands

Профиль
ilnar
ilnar
2016-01-17 20:11 #92
День добрый всем. Проект вроде работает, на веб морде значения бегают, релюшки щелкают, на газ реагирует, пищалка пищит.Только стоит веб страницу закрыть все перестает работать,не пищит и не щелкает...Никто не сталкивался с этим?

Профиль
AspiD
AspiD
2016-01-17 20:16 #93
Цитата ilnar ()
День добрый всем. Проект вроде работает, на веб морде значения бегают, релюшки щелкают, на газ реагирует, пищалка пищит.Только стоит веб страницу закрыть все перестает работать,не пищит и не щелкает...Никто не сталкивался с этим?
9 к 1, что не в том месте цикла работаете с пищалкой =)

Профиль
ilnar
ilnar
2016-01-17 20:39 #94
Цитата AspiD ()
9 к 1, что не в том месте цикла работаете с пищалкой =)
все может...время будет может посмотрите.

Прикрепления: meteostansia.ino (6.5 Kb)

Профиль

ilnar
TehnopageTeam
щит админа

AspiD
AspiD
2016-01-17 20:49 #95
ilnar, по какому событию должны релюшки щёлкать? и где это в коде с обработкой писка по газу?

Профиль
AspiD
AspiD
2016-01-17 21:20 #96

Код
if (StrContains(HTTP_req, "ajax_flame")) {
      client.println("HTTP/1.1 200 OK");
      client.println("Content-Type: text/html");
      client.println("Connection: keep-alive");
      client.println();
      int smoke_gas = 0; //пин на котором подключен MQ-2
      int sensorReading = analogRead(smoke_gas);
      int chk;
      if (sensorReading > 40) {
          digitalWrite (2, HIGH);
          tone(9, 500, 500);
          }
          else {
          digitalWrite (2, LOW);
           }
           client.print(sensorReading);
           client.println(":");
           client.print(t);
           client.print(":");
           client.print(ts);
           client.print(":");
           client.print(h);
           client.print(" :");
           client.print(pa);
           client.print(" :");
           client.print((digitalRead(2)) ? "1" : "0");
           client.print(":");
           client.print((digitalRead(3)) ? "1" : "0");
           client.print(":");
           client.print((digitalRead(5)) ? "1" : "0");
           client.print(":");
            client.print((digitalRead(6)) ? "1" : "0");
             }

этот блок кода выполняется только когда скрипт из браузера этого попросит. в оригинале - 1 раз в секунду.
чтобы условие sensorReading>40 проверялось каждый проход цикла, его нужно перенести в начало loop.

Код
void loop() {                        
    if (analogRead(0) > 40) {
        digitalWrite (2, HIGH);
        tone(9, 500, 500);
    }else {
        digitalWrite (2, LOW);
    }

    float h = dht.readHumidity();
    float ts = dht.readTemperature();
    float t = bmp.readTemperature();
    float pa = bmp.readPressure()/133.322;
и дальше...

Профиль
toto123
toto123
2016-01-17 21:31 #97
Цитата ilnar ()
День добрый всем. Проект вроде работает, на веб морде значения бегают, релюшки щелкают, на газ реагирует, пищалка пищит.

Доброго времени суток, форумчане. Я понимаю, что пищалка пищит именно в том месте где происходит событие: например загазованность или превышение или понижение температуры. Есть предложение этот контроль реализовать именно в том месте, где вэб морда запущена. Возможно ли вывести сигнал на колонки компьютера ? Как думаете ? А может подумать о том как по электронке реализовать отправку  тревожного сообщения ?

Профиль
ilnar
ilnar
2016-01-17 21:44 #98
Спасибо, работает. С остальным попробую сам разобраться:)

Профиль
AspiD
AspiD
2016-01-17 22:22 #99
Цитата toto123 ()
вывести сигнал на колонки компьютера
дело 15ти минут =)
Цитата toto123 ()
по электронке реализовать отправку тревожного сообщения ?
а это не так просто, как хотелось бы =)

Профиль

AspiD
TehnopageTeam
щит админа


wdesign
wdesign
2016-01-18 14:24 #100
Может кто нибудь пояснить что делают вот эти две функции в скетче arduino: "StrClear", "StrContains"?

Профиль
AspiD
AspiD
2016-01-18 17:06 #101
wdesign, попробуй угадать =)уверен, что не ошибёшься =)

Профиль
wdesign
wdesign
2016-01-18 18:13 #102
Цитата AspiD ()
wdesign, попробуй угадать =)уверен, что не ошибёшься =)
По имени логично что StrClear очищает строку, а StrContains? Алгоритм работы этих функций можете пояснить?

Профиль
AspiD
AspiD
2016-01-18 18:21 #103
Цитата wdesign ()
По имени логично что StrClear очищает строку, а StrContains? Алгоритм работы этих функций можете пояснить?
conteins - переводится как "содержит".
алгоритм strClear предельно просто. весь буфер забивает нулями.
а strContains принимает две строчки и посимвольно ищет вторую в первой.

Профиль

AspiD
TehnopageTeam
щит админа


wdesign
wdesign
2016-01-18 23:05 #104
Выставлю и свой скетч на обозрение. Может кому будет полезен.
Контроль температуры в квартире.
Снимаются данные температуры и влажности с 4 датчиков DHT22.
Желаемая температура поддерживается по датчику температуры в спальне.
Гистерезис установлен 0.4 *С (например, желаемая температура 24 градуса, котёл включится когда температура будет ниже 23.8 и выключиться при температуре выше 24.2).
Реле включает и выключает газовый котёл Baxi.
Данные с датчиков выводятся на страницу в браузере. Подгрузка идет с помощью ajax. Обновление один раз в пять секунд.
Отправка желаемой температуры в ардуино происходит с помощью GET запроса. Желаемая температура записывается в энергонезависимую память. При передаче числа происходит перезагрузка страницы (хочу тоже реализовать с помощью ajax, пока что так оставил, так как все работает).

Ethernet w5100 arduino

Прикрепления: index-to-sd.zip (28.3 Kb) · 6108857.png (25.6 Kb)

Сообщение отредактировал wdesign - Понедельник, 2016-01-18, 23:08
Профиль
AspiD
AspiD
2016-01-19 01:28 #105
wdesign, я б лучше читанул, как датчики на большом расстоянии общаются с ардуинкой =)

Профиль
Поиск: