нужна помощь Реле времени на двух реле

wtronik
Offline
Зарегистрирован: 23.05.2019

помоги пожалуйста, что не так сделал в чем косяк. Модуль 2х реле и Ардуино Нано

void setup() {

// put your setup code here, to run once:

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

digitalWrite(3, HIGH);

delay(1000);

digitalWrite(3, LOW);

delay(500);

digitalWrite(4, HIGH);

delay(1000);

digitalWrite(4, LOW);

delay(500);

}

короче реле переключается, но нет задержки между ними. как бы оба одновременно включается в один момент. А надо чтоб 60сек работал одно реле, отключился через 15 сек включился другое реле и т.д. циклично.

Как бы Вперед 60 секунд-- Стоп 15 секунд--Назад 60 секунд -- Стоп 15секунд. и до бесконечности.

Сильно не ругать только учусь

delay в 1000 млс сделал для удобства проверки реле на цикличность. Если не трудно можете добавить в скетч как должно быть. Пожалуйста

bwn
Offline
Зарегистрирован: 25.08.2014

wtronik пишет:

Сильно не ругать только учусь

Отправил в "Песочницу", почитайте начало приколоченной темы и исправьтесь.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

и фотку/ссылку на реле, ооочень желательно.

wtronik
Offline
Зарегистрирован: 23.05.2019

wtronik
Offline
Зарегистрирован: 23.05.2019

Схема есть а скетча для реализации нет

bwn
Offline
Зарегистрирован: 25.08.2014

Так пойдет?

#define rele_1 3
#define rele_2 4
void setup() {
  pinMode (rele_1, OUTPUT);
  pinMode (rele_2, OUTPUT);
  digitalWrite(rele_1, LOW);
  digitalWrite(rele_2, LOW);

}

void loop() {
  digitalWrite(rele_1, HIGH);
  delay(60000);
  digitalWrite(rele_1, LOW);
  delay(15000);
  digitalWrite(rele_2, HIGH);
  delay(60000);
  digitalWrite(rele_2, LOW);
  delay(15000);
  
}

Только это не то, что вам нужно. Читайте блинк без делей.

И это, реле, точно по хай включается?

wtronik
Offline
Зарегистрирован: 23.05.2019

Вобщем хочу установить ардуино в стиралку активаторного типа, для бабушки в деревню. Так как она не может пользоватся Автоматом, в силу не понимания ее работы. 

на схеме в место Led будет эл.двигатель стиральной машины. В место ручного таймера будет электронный, простой. Включил в розетку и заработало.

так что нужна помощь

bwn
Offline
Зарегистрирован: 25.08.2014

Если гонять только по одинаковому бесконечному циклу, то ардуина здесь нахрен не нужна. Заюзайте 555 таймер. ИМХО.

wtronik
Offline
Зарегистрирован: 23.05.2019

bwn пишет:

Если гонять только по одинаковому бесконечному циклу, то ардуина здесь нахрен не нужна. Заюзайте 555 таймер. ИМХО.

поздно уже что то брать,ведь купил уже ардуино, жалко оставлять

Pyotr
Offline
Зарегистрирован: 12.03.2014

Ну если для бабушки..)

Пробуй
 

#define rele_1 3
#define rele_2 4

void setup() {
  pinMode (rele_1, OUTPUT);//выход в LOW
  pinMode (rele_2, OUTPUT);
  //digitalWrite(rele_1, LOW);
  //digitalWrite(rele_2, LOW);
}

void loop() {
  digitalWrite(rele_1, HIGH);
  delay(60000);
  digitalWrite(rele_1, LOW);
  digitalWrite(rele_2, LOW);
  delay(15000);
  digitalWrite(rele_2, HIGH);
  delay(60000);
  digitalWrite(rele_1, LOW);
  digitalWrite(rele_2, LOW);
  delay(15000);  
}

Можно еще прикрутить потенциометр и устанавливать им время цикла стирки например 20-60 сек, или общее время стирки 1-3 часа

PS. Ступил малость) строки 15 и 19 лишние (вреда нет, как и необходимости)

bwn
Offline
Зарегистрирован: 25.08.2014

Pyotr, а 15 и 19 строки зачем?

wtronik
Offline
Зарегистрирован: 23.05.2019

Pyotr пишет:

Ну если для бабушки..)

Спасибо огромное сейчас попробую

 

wtronik
Offline
Зарегистрирован: 23.05.2019

Все работает, НО в момент переключения срабатывают оба реле, как бы получается КЗ на движке. а нужно чтоб реле отключилось и после этого, через 15сек. включился второе реле и тд.

вот видео работы

https://youtu.be/hkb2rd4hwno

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

Pyotr
Offline
Зарегистрирован: 12.03.2014

wtronik пишет:

Все работает, НО в момент переключения срабатывают оба реле, как бы получается КЗ на движке. а нужно чтоб реле отключилось и после этого, через 15сек. включился второе реле и тд.

вот видео работы

https://youtu.be/hkb2rd4hwno

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

Работает правильно, как и задумывалось и КЗ не будет, если самому его не устроить. 
Чтоб поменять логику, просто замени местами LOW<->HIGH

Испытывать на лампочке от холодильника или подобной, а в сеть включать через 100-150 Вт лампу-она как самовостанавливающий предохранитель сработает, если что. Бабушке внук ещё пригодится))

А вообще лучше показать, прежде чем в розетку...

wtronik
Offline
Зарегистрирован: 23.05.2019

Pyotr пишет:

Работает правильно, как и задумывалось и КЗ не будет, если самому его не устроить. 

Чтоб поменять логику, просто замени местами LOW<->HIGH

Испытывать на лампочке от холодильника или подобной, а в сеть включать через 100-150 Вт лампу-она как самовостанавливающий предохранитель сработает, если что. Бабушке внук ещё пригодится))

А вообще лучше показать, прежде чем в розетку...

В роде получилось. час видео скину

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

хе...

я тоже "начинал" мозги для древнего холодильника простые делать както пол года назад...

на тини13 - куда больше то?....

в итоге воз и ныне там, ну тоесть холодильник...

а "мозг" для него на столе ледит ОЛЕД экраном температуру с 3х датчиков кажет, врема с датой и двери проверяет на закрытие... но уже на 328й...

в общем учитель вместе с бабушкой - на вашей адре можно стиралку забабахать покруче дорогих брендовых новинок!

wtronik
Offline
Зарегистрирован: 23.05.2019

Pyotr пишет:

А вообще лучше показать, прежде чем в розетку...

https://www.youtube.com/watch?v=CBxU1sEFo78

Вот получилось Спасибо тебе огромное за Помощь от нас с Бабулей

А как побороть при запуске, включение обоих реле? Выставил значения на 60000 обои реле при запуске ардуино, оба срабатывают, только после истечения времени, начинают отрабатывать цикл.

Хотя можно на модуле перемычку разомкнуть JD-VCC, выключателем, либо через пин установить реле. когда программа загрузится, пин прекратит подачу напряжения и реле встанет в исходное положение на замыкание контактов.

#define rele_1 3
#define rele_2 4

void setup() {
  pinMode (rele_1, OUTPUT);//выход в LOW
  pinMode (rele_2, OUTPUT);
  //digitalWrite(rele_1, LOW);
  //digitalWrite(rele_2, LOW);
}

void loop() {
  digitalWrite(rele_1, LOW);
  delay(60000);
  digitalWrite(rele_1, HIGH);
  delay(15000);
  digitalWrite(rele_2, LOW);
  delay(60000);
  digitalWrite(rele_2, HIGH);
  delay(15000);  
}

 

gfx125
Offline
Зарегистрирован: 27.05.2017

wtronik пишет:

А как побороть при запуске, включение обоих реле?

раскоментируй 7,8 строки, ну и пропиши что нужно - HIGH или LOW

wtronik
Offline
Зарегистрирован: 23.05.2019

gfx125 пишет:

wtronik пишет:

А как побороть при запуске, включение обоих реле?

раскоментируй 7,8 строки, ну и пропиши что нужно - HIGH или LOW

Ты меня вступор ввел ))) как это сделать. 

wtronik
Offline
Зарегистрирован: 23.05.2019

wtronik пишет:

gfx125 пишет:

wtronik пишет:

А как побороть при запуске, включение обоих реле?

раскоментируй 7,8 строки, ну и пропиши что нужно - HIGH или LOW

Ты меня вступор ввел ))) как это сделать. 

А все додумался )))))) Спасибо большое

#define rele_1 3
#define rele_2 4

void setup() {
  pinMode (rele_1, OUTPUT);//выход в LOW
  pinMode (rele_2, OUTPUT);
  digitalWrite(rele_1, HIGH);
  digitalWrite(rele_2, HIGH);
}

void loop() {
  digitalWrite(rele_1, LOW);
  delay(60000);
  digitalWrite(rele_1, HIGH);
  delay(15000);
  digitalWrite(rele_2, LOW);
  delay(60000);
  digitalWrite(rele_2, HIGH);
  delay(15000);  
}

 

wtronik
Offline
Зарегистрирован: 23.05.2019

gfx125 пишет:

 а как будет выглядеть скетч? если добавить 60 минутную работу стиралки , после которой включился бы насос и заработал отжим.?

Pyotr
Offline
Зарегистрирован: 12.03.2014

wtronik пишет:

gfx125 пишет:

 а как будет выглядеть скетч? если добавить 60 минутную работу стиралки , после которой включился бы насос и заработал отжим.?

А ещё электроклапан подключить, тен с датчиками, ну и режим полоскания сделать.

Сваливай всё в конец луп()-ардуина всё пережует...)))

gfx125
Offline
Зарегистрирован: 27.05.2017

wtronik пишет:

 а как будет выглядеть скетч? если добавить 60 минутную работу стиралки , после которой включился бы насос и заработал отжим.?

примерно также, но строк на 10 больше

wtronik
Offline
Зарегистрирован: 23.05.2019

Да это я уже думаю про свою стиралку)))))

хотя с насосом разобрался вроде, задействовать 5 пин и выставить время на вкл и откл после определенного времени.

sadman41
Offline
Зарегистрирован: 19.10.2016

Pyotr пишет:

А ещё электроклапан подключить, тен с датчиками, ну и режим полоскания сделать.

И штобы на тачскрине режим можно было выбрать, сумму за электроэнергию смотреть и смс получать когда программа закончена. Дальше ещё не придумал, но очень надо.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

sadman41 пишет:

И штобы на тачскрине режим можно было выбрать, сумму за электроэнергию смотреть и смс получать когда программа закончена. Дальше ещё не придумал, но очень надо.

Да легко добавлю - SMS управление, а лучше wi-fi, серву, чтобы крышку машинки открывала, а лучше, что бы и белье закидывало и собирало по дому по GPS меткам, а "17 моторов на мегу не садится", а GPS глючный. А еще весь процесс надо транслировать в видео на сайте www.hz.cam

Pyotr
Offline
Зарегистрирован: 12.03.2014

 wtronik, смотри как попростому заменить delay() на millis()   http://arduino.ru/forum/obshchii/pesochnitsa-dlya-vsekh-novichkov?page=1#comment-457309

wtronik
Offline
Зарегистрирован: 23.05.2019

Спасибо большое, очень интересно

wtronik
Offline
Зарегистрирован: 23.05.2019

Что то не могу лишнее удалить.