ARDUINO Контроллер теплицы. Обсуждение проекта

Maks Pl

✩✩✩✩✩✩✩
30 Июн 2022
24
4
Всем привет! Пытаюсь научиться передавать в serial порт состояние реле. Добавил serial.print после digital.write (везде где нашел) :) с реле не могу понять как сделать. Я совсем не программист)
Думаю тут поможет только отдельную функцию дописать которая будет проверять статусы у реле и в случае изменения уже посылать в порт, а так как сейчас сделано оно и будет в цикле посылать, т.к. digital.write в данном коде так и посылает каждый раз и мы не видим изменения если он постоянно шлет 1, а увидим только если начнет слать 0.
 

Pitbull

✩✩✩✩✩✩✩
3 Ноя 2022
8
0
Спасибо! Видимо проще выкидывать статус всех нужных пинов, например, раз в минуту и не заморачиваться? А можете подбросить пример как сделать проверку изменения отдельной функцией?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,266
1,303
Москва
Что есть изменение состояния как событие ? Для пина это было 1 стало 0 или было 0 стало 1. Что бы уловить этот момент надо запоминать предыдущее состояние пина.
1 Пусть начальное состояние пина было выключено. Значит БЫЛО==0
2 Читаем состояние пина СЕЙЧАС
3 Если СЕЙЧАС!=БЫЛО тогда было изменение! Надо вывести в монитор порта что то и (!)запомнить новое состояние пина: БЫЛО=СЕЙЧАС
4 Идти к пунту 2.

Даже если пин настроен на вывод, то его состояние всегда можно прочитать
 

Pitbull

✩✩✩✩✩✩✩
3 Ноя 2022
8
0
Всем привет! Собрал, прошил, настроил даже WIFI, все работает отлично. НО прошил бутер на Оптибут и перестал крутиться энкодер (как кнопка работает). Подскажите, кто-то сталкивался с такой проблемой? В чем может быть проблема?

Посушил феном. Заработал. Какое-то время поработал и перестал. Посушил еще раз)) Заработал. Не знаю на сколько хватит и в чем конкретно проблема.
 

Pitbull

✩✩✩✩✩✩✩
3 Ноя 2022
8
0
А, нет. Посушил феном плату контроллера теплицы.
 

r4wabr

★✩✩✩✩✩✩
21 Май 2019
47
15
41
Ижевск
@Pitbull, Вешается обработчик прерывания на PCINT с маской на нужные пины. Сам факт возникновения прерывания уже говорит об изменении состояния пина. Ну а далльше проверка уровня на пине.
 

Maks Pl

✩✩✩✩✩✩✩
30 Июн 2022
24
4
@r4wabr, мне кажется проще просто первый раз сохранить состояние пина в OLD и сравнивать при каждом проходе цикла. Как только оно не совпадет выводить в порт и присваивать OLD новое значение.
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,136
412
Москва
wan-derer.ru
@parikmaher72, квадраты это значит дисплей не проинициализировался. Пошевелил и заработало - значит где-то плохой контакт. Для начала пропаяй интерфейс дисплея, отстой флюс, проверь на замыкания.
 

Pitbull

✩✩✩✩✩✩✩
3 Ноя 2022
8
0
Оформи код соответствующим тэгом
Всем спасибо за помощь. Я сделал вот так:
byte was[10];

for (byte i = 4; i < 10; i++) {
if (was!=digitalRead(i)) {Serial.print("c"+String(i) +","+ digitalRead(i)+";"); was = digitalRead(i);}

и все заработало. Только теперь осталось решить вопрос с приложением и MQTT сервером. Нужно чтобы приложение забирало последнее сообщение со статусом с сервера MQTT. Т.е., например в данный момент я не дергаю пины, приложение выключаю и включаю заново и оно не понимает какие пины включены. Пока не разобрался как это допилить.
 

Лёвчег

✩✩✩✩✩✩✩
27 Фев 2023
1
0
Народ привет! Подскажите пожалуйста, Si7021 и HTU21D аналоги? Просто читал, пишут, что чуть ли не одно и тоже. Да и на самом датчике обе маркировки. И второй момент, как заменить энкодер на кнопки? Я совсем не бум-бум в скетчах, по этому даже не предполагаю как это сделать. Ну и вообще, есть смысл в этом?
 

redzzz

✩✩✩✩✩✩✩
27 Авг 2021
1
0
товарищи, здравствуйте. подскажите,
1. какой конденсатор надо ставить справа снизу на плату (перезагружается часто. 1,5ч непрерывной работы макс)?
2.как стабилизировать работу аналоговых датчиков (вл. почвы, освещенность)? - колеблются на весь диапазон, если поставлю период 1-2с (поэтому реле по ним не поставить).
3.после перезагрузки включаются на 1с все реле. соотв-но, при частых перезагрузках, включается и помпа - вся грядка в луже
4.(может тут решение есть?) увлажнитель с сенсорными кнопками (емкостными) (примерно такой Polaris PUH 7205Di), т.е. после включения в розетку работать сразу не начинает - надо нажимать на кнопку включения, что не заавтоматизируешь. можно ли как то обойти такое нажатие? кусочек фольги не вариант.
 
Изменено:

Dany

✩✩✩✩✩✩✩
21 Мар 2023
5
0
Приветствую. Вопрос. Возможно как то увеличить количество подключаемых аналоговых датчиков. К примеру температуры и влажности, датчик Co2, датчик уровня воды, 9х датчиков влажности почвы?
 

Soslan

✩✩✩✩✩✩✩
21 Мар 2023
1
0
Здравствуйте! Нигде не могу найти ответ на свой вопрос. Мне нужно, чтобы вентилятор включался при превышении заданной температуры, а так-же при превышении заданной влажности. Подскажите пожалуйста, можно подавать на реле(SSR) два сигнала, ничего не сгорит? Или подскажите, как лучше?
 

Boroda22

★✩✩✩✩✩✩
23 Фев 2022
251
42
Мне нужно, чтобы вентилятор включался при превышении заданной температуры, а так-же при превышении заданной влажности. Подскажите пожалуйста, можно подавать на реле(SSR) два сигнала, ничего не сгорит?
Сгореть не сгорит, но на реле подается только один управляющий сигнал.
Или подскажите, как лучше?
Поправить код прошивки, чтобы учитывал значения с двух датчиков
 
  • Лойс +1
Реакции: poty

Dany

✩✩✩✩✩✩✩
21 Мар 2023
5
0
Приветствую! Еще раз) С подключённым стеклоподьемником через реле можно так же регулировать скорость как и с приводом?
 
Изменено:

kvk

★✩✩✩✩✩✩
2 Авг 2019
68
10
62
@Soslan,
Если нужно ,что бы выполнялись оба условия , для включения вентилятора , тогда надо один канал настроить на включение температуры , а другой канал настроить на включение по влажности . Каждый канал работает, скажем, на свое реле . Исполнительные контакты этих реле подключить последовательно , для включения вентилятора . А если нужно , чтобы вентилятор подключался, при срабатывании хотя бы одного из параметров (влажность, температура), тогда исполнительные контакты подключаются параллельно, для включения вентилятора.
 
Изменено:

kvk

★✩✩✩✩✩✩
2 Авг 2019
68
10
62
@Dany,
Нет , скорость можно изменять на приводе , методом ШИМ. А если , стеклоподьемником управлять через реле , то там прикладывется все напряжение сразу к нагрузке.

@Dany,
Для контроля температуры , можно использовать цифровые датчики , например DS18B20. Их можно несколько подключать на один вход . А аналоговые, каждый на свой вход. Если не хватает портов, тогда только использовать схемы для расширения портов. Или использовать другой микроконтроллер Arduino.
 
  • Лойс +1
Реакции: Dany

Dany

✩✩✩✩✩✩✩
21 Мар 2023
5
0
@kvk,
Спасибо! А если я допустим возьму привод настрою его частоту на низкие обороты через драйвер. Смогу ли я им управлять по таймеру?
пример: мне нужно чтобы он работал с 12:30 до 22:00 и открывался закрывался постоянно, с небольшой задержкой 4 сек.
то есть в 12:30 он включается крутит в одну сторону до концевика остановка на 4 сек и в другую сторону до концевика остановка 4сек, и так до 22:00. Что для этого нужно? Подключать ещё через релюшки или как то в контроллере это можно настроить?
 

kvk

★✩✩✩✩✩✩
2 Авг 2019
68
10
62
@Dany,
Если привод сработает и дойдет до концевика, то он просто отключает питание . Для возврата его в прежднее состояние должена быть подана команда на закрытие . Встроенный таймер определяет время , с какого момента привод должен включаться и через какое время произойдет его отключение . Если назначить определенный алгоритм таймеру , своего канала , то можно реализовать Вашу задумку. Но для этого придется задействовать несколько каналов. Почитайте про режим таймеров данного контролера, и думаю можно что то настроить.
 
  • Лойс +1
Реакции: Dany

Romich_Vlog

✩✩✩✩✩✩✩
28 Авг 2022
6
0
Товарищи электронщики всем привет. Просветите собрал контроллер теплицы все четко работает. Проблема вот какая, мне требуется от контролера запитать через реле свет чтобы он в определенное время включался и отключался, купил для этого твердо тельное реле см. фотоH428c96e8bfa04746aaa5338312b36c0eJ.jpg_640x640.jpg
подсоединил все по данной схеме см. фото
Без имени-1.png
питание взял от 2х зарядников от мобилы на 5v.
Проблема в том что при подаче сигнала с канала 1 на включение реле светодиод на реле загорается, но контакт на замыкание контактов sw не работает..
То есть просто питание на релюшку пришло но реле не срабатывает. Почитал форум толком инфы не нашол мои подозрения что не хватает питания на реле или я что то не правильно подсоеденил? Есть два типа таких реле (low) как у меня и (high) может быть я не такое купил.

кто может помочь в решение данной проблемы?
простите если написал не в ту ветку пост..
 

Boroda22

★✩✩✩✩✩✩
23 Фев 2022
251
42
@Romich_Vlog,этому реле для переключения требуется низкий сигнал, можете в настройках инвертировать сигнал
 

Boroda22

★✩✩✩✩✩✩
23 Фев 2022
251
42
@Romich_Vlog,почитайте гайд, точно уже не помню где настраивать, но помню что можно