Arduino Due + DHT22 + Реле
- Войдите на сайт для отправки комментариев
Вс, 29/09/2013 - 16:16
Задача этих прибамбасов измерять температуру и включать выключать реле (которое будет включать выключать электрокотел (слаботочку управляющую, потому что реле питая сам тэн жить не будет)).
Понимаю что это стрельба из пушки по воробьям, но задача самая первая частичная - в дальнейшем планируется добавлять функционал. Плюс надо с чего то начинать - я и это сделать то пока не могу - поэтому и обращаюсь за помощью. Зимой будет время поковыряться.
Текущий код
#include <dht22.h> dht22 DHT22; void setup() { DHT22.attach(3); Serial.begin(9600); Serial.println("DHT22 TEST PROGRAM "); Serial.print("LIBRARY VERSION: "); Serial.println(DHT22LIB_VERSION); } void loop() { Serial.println("\n"); int chk = DHT22.read(); Serial.print("Read sensor: "); switch (chk) { case 0: Serial.println("OK"); break; case -1: Serial.println("Checksum error"); break; case -2: Serial.println("Time out error"); break; default: Serial.println("Unknown error"); break; } Serial.print("Temperature (°C): "); Serial.println((float)DHT22.temperature, DEC); Serial.print("Humidity (%): "); Serial.println((float)DHT22.humidity, DEC); Serial.print("Dew Point (°C): "); Serial.println(DHT22.dewPoint(), DEC); delay(10000); }
Как в него присобачить включение релюшки (висит на 2 пине) по достижении температуры 5 град и выключение при достижении 7 градусов?
Спасибо. Вот вроде все добавил но вопрос нуба остался ... что писать в в поле оператора IF? 41 и 43 строки. В смысле как температура называется?
Вроде допер сам.
Буду копать дальше и тут если что допытывать :-)
В первом варианте првильная логика, во втором синтаксис, так что скрестите их вместе и будет вам счастье.
Это вы про то чтобы не было щелкунчика непрерывного туда\сюда?
Ну да я об помню но синтаксис меня "временно победил"...
Теперь я его... так наверно само то:
температуры временно текущие в комнате - чтоб было понятно что релюшка правильно щелкает.
Задача этих прибамбасов измерять температуру и включать выключать реле (которое будет включать выключать электрокотел (слаботочку управляющую, потому что реле питая сам тэн жить не будет)).
Понимаю что это стрельба из пушки по воробьям, но задача самая первая частичная - в дальнейшем планируется добавлять функционал. Плюс надо с чего то начинать - я и это сделать то пока не могу - поэтому и обращаюсь за помощью. Зимой будет время поковыряться.
реле разные бывают.. тут вон народ носится на 100 ампер пускатели в розетку.. ну типа а вдруг чего :)
и про стрельбу по воробьям из пушки тоже можно не переживать... у нас тут есть инидивиды которые для ентой цели облачные сервера приспособили :)
реле разные бывают.. тут вон народ носится на 100 ампер пускатели в розетку.. ну типа а вдруг чего :)
и про стрельбу по воробьям из пушки тоже можно не переживать... у нас тут есть инидивиды которые для ентой цели облачные сервера приспособили :)
Конечно, я говорил о конкретном реле которое у меня есть, а не в целом о РЕЛЕ.
А насчет "пушки" у меня на нее планов громадье... с учетом того что комутировать проводку звездой буду, то хочу максимально все завести на один блок. Если сдохнет легко заменить за 5 минут, чем постоянно следить за целым выводком разнообразия по всему дому.
Но в эту зиму дом уйдет без жильцов так что единственная его задача поддерживать на несколько градусов выше ноля чтоб опрессованый теплый пол не разморозить...
А зимой с "дублером пушки" буду отлаживать все ништяки... мне это долго и тяжело дастся чувствую - весь опыт програмирования - бейсик в школе почти 30 лет назад :-)
Вообщем сменил DHT22 на DS18B20 т.к. надо было датчик погружать в расширительный бак (самая низкая температура в системе). Все работало вот уже почти пару месяцев. Но решил прикрутить кард ридер и скидывать на него лог температуры. Скетч скидавается в дуину нормально, температуру измеряет, говорит что пишет на флэшку, но когда проверяю - флэшка пустая. Помогите разобраться что в скетче не так?
Упс я ламер... это флэшка гнала. Заменил на другую - все работает!!! Какой же форум суперский!!! Еще никто не ответил а все заработало! :-)
С наступающим всех!
Спрашивай, не стесняйся ))))
Тебя тоже с наступающим!
Кстати, нке забывай что millis() переполняется за 59 дней и дуня виснет!
лучше бы ссылочкой поделился на библиотеку DHT22 которая с дуей работает...
Кстати, нке забывай что millis() переполняется за 59 дней и дуня виснет!
А я купился на то что в таймере вроде предусмотрен сброс через 48 дней.
Или я неправильно 91 строку понял???
лучше бы ссылочкой поделился на библиотеку DHT22 которая с дуей работает...
Упс, а я их все перепробовал (штук 5) и только одна нормально заработала. Только я не помню откуда ее взял.
Вот расшарил со своего драйва.
https://drive.google.com/file/d/0Bwj7vhGs7_SpYXBjLURuNF9wblk/edit?usp=sharing
Вот нашел Watchdog библиотеку для Дуи.
http://www.leonardomiliani.com/2013/nuova-libreria-advancedfunctions-per-arduino-due/?lang=en
Но не могу ее заставить работать. Ктонить запускал WDT на Дуе успешно?
Вот нашел Watchdog библиотеку для Дуи.
http://www.leonardomiliani.com/2013/nuova-libreria-advancedfunctions-per-arduino-due/?lang=en
Но не могу ее заставить работать. Ктонить запускал WDT на Дуе успешно?
спасиб за DHT22
про WDT нада править arduino core кучками. там текстовик и все написано что делать.
Да там одну строчку всего лишь надо закоментить. Это я сделал а вот все равно WD не работает. Ладно после НГ еще попробую разобраться и скетч выложу.
Решил попробовать переписать скетч под использование schedule.
Черт побери мне так нравится больше - можно сколько угодно баловаться delay - контролер при этом не морозится. Скетч немного распух при загрузке в контролер зато похудел в самом Ide - чисто визуально мне это нравится больше.
Последний код такой.
Добавил еще один loop для выключения насоса на минуту раз в сутки (слегка завоздушиватся система) не критично но так стало еще лучше.
А вот WDT так и не запустился. В голом виде из образца рабтает. Если закоментирую строку блокирующую WDT в core и использую свой скетч то таймер исправно ресетует через 16 секунд. Но если вставляю в свой скетч ресет таймера то ниче не работает. Система не стартует вообще. Пробовал вставлять ресет в разные части скетча, в разные лупы но ничего не меняется. Может ктонить помочь куда искать?
Скетч с попыткой использования WDT такой:
АУ есь тут кто? Или все еще пьяные в салатах валяются :-)
Дуя+schedule+wdt мною так и не побеждены, помогите плз.
PS гугля тоже молчит в т.ч. на пендоском наречии.
АУ есь тут кто? Или все еще пьяные в салатах валяются :-)
Дуя+schedule+wdt мною так и не побеждены, помогите плз.
PS гугля тоже молчит в т.ч. на пендоском наречии.
и никито тебе не поможет.. тут два с половиной инвалида у которых дуя.. :)
и на буржуйском форуме может быть челвоек 5 и они тож тока свои проблемы решают каждый сам..
Ну ладно с этим разобрались... просто безо всяких библиотек в лупе вставляем строчку ниже и все работает отлично.
Щас мучаю на будущее надо будет подключить два DHT22 датчика... туплю как это сделать.
В этой библиотеке просто прописать два пина не получается. Можешь помочь?
Щас мучаю на будущее надо будет подключить два DHT22 датчика... туплю как это сделать.
В этой библиотеке просто прописать два пина не получается. Можешь помочь?
так а зачем сразу 2 датчика на одном контролере?
да и в библиотеке не нужно прописывать 2 пина.
нужно для каждого пина инициализировать библиотеку.
типа
DHT22.attach(3);
DHT22.attach(4);
Один на улице, второй в помещении. Простые onewire темпертурные не подходят - нужны показания влажности и снаружи и внутри.
А как потом разделить чтение из разных датчиков?
Методом научного тыка допетрил...
Методом научного тыка допетрил...
мЫладец. :)
Поделитесь библиотекой для due
здравствуйте? @Anton Timkin. а можно целиком код с esp 01 реле и DHT 22. делаю умную теплицу с доступом через BLYNK.