работа 4 реле по времени

olenka55
Offline
Зарегистрирован: 19.12.2020

Здравствуйте. Никак не могу написать скетч для работы модуля реле на 4 канала по расписанию. В наличии Arduino nano, часы DS3231, Модуль реле 4 каналов. без дисплея и кнопок.

 

Помогите пожалуйста)

sadman41
Онлайн
Зарегистрирован: 19.10.2016

По какому расписанию?

olenka55
Offline
Зарегистрирован: 19.12.2020

каждий день

реле 1 в 8.00 срабатывает, работает 2 мин

реле 2 в 17.00 срабатывает, работает 2 мин

реле 3 в 9.00, 13.00, 17.00 срабатывает, работает 2 мин

реле 4 в 9.30, 13.30, 17.30 срабатывает, работает 2 мин

 

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Что-то arduino.ua не тащит по ходу дела...

Берите библиотеку для 3231, там должен быть пример с setAlarm() каким-нить. Переставляйте его на новое время при срабатывании и включайте-выключайте выходы МК по событию.

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

коллеги! Нам, почти всем, больше 50-ти! Перестаньте уже реагировать на женские ники!!!! Не стыдно в нашем-то возрасте?!!! С такими вопросами - сразу посыл нах! Без комментариев. Если парень - пусть меряет сапоги, если в самом деле девка: дура - пусть найдет кому ИЗ СВЕРСТНИКОВ(!!!)  сделать приятно за работу, умная - пусть решает свои вопросы сама.

olenka55
Offline
Зарегистрирован: 19.12.2020

Какой-то Вы обозлённый. Не везет с женщинами? может советом помочь?) 

sadman41 огромное спасибо!)

MaksVV
Offline
Зарегистрирован: 06.08.2015

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

b707
Онлайн
Зарегистрирован: 26.05.2017

MaksVV пишет:

Оленька либо 55 г.р. либо 55 лет. Так что вроде как сверстница...

может это код региона

Ага, так и есть,  Омский университет...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Дракула, что за мужской шовинизм )))

andriano
andriano аватар
Онлайн
Зарегистрирован: 20.06.2015

MaksVV пишет:

Оленька либо...

А либо - не Оленька, а Оленка, что в переводе на русский - Леночка.)))

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

А еще, слышал, бывають трансгендеры... тьфу, гадость какая))

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Это Олень - ка55. Животная такая с рожками, живет в лесотундре. Сатна-клауса возит, между прочим.

olenka55
Offline
Зарегистрирован: 19.12.2020

Меня зовут Елена, мне 22. Если кто-то может помочь по существу буду благодарна)

Green
Offline
Зарегистрирован: 01.10.2015

Ну, так это меняет дело!) Выходит что andriano оказался прав. Осталось только понять что значит 55.)
А если серьёзно, то в чём проблема? С ds3231 получаете текущее время, сравниваете с заданным и, соответственно, включаете/выключаете ваши реле. Или нет?

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

olenka55 пишет:

Меня зовут Елена, мне 22. Если кто-то может помочь по существу буду благодарна)

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

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Я тут не так давно одной девочке с Дальнего востока, скетч писал.
Передача данных с гироскопа посредством wifi ,esp8266 и протокола UDP , на ПК.
Так вот она , умница такая, как сеть запустить и настроить со стороны ПК, самостоятельно разобралась.
Знал бы кто, сколько криворуких и тупоголовых заказчиков в реале.
Иногда орать матом хочеться

Kakmyc
Offline
Зарегистрирован: 15.01.2018

Пользуясь случаем не могу не спросить:
"Есть у кого наборы пиктограмм,кнопок и тд , для дисплеев nextion ?"
Слишком лениво самому все это рисовать с нуля

andriano
andriano аватар
Онлайн
Зарегистрирован: 20.06.2015

olenka55 пишет:

каждий день

реле 1 в 8.00 срабатывает, работает 2 мин

реле 2 в 17.00 срабатывает, работает 2 мин

реле 3 в 9.00, 13.00, 17.00 срабатывает, работает 2 мин

реле 4 в 9.30, 13.30, 17.30 срабатывает, работает 2 мин

Green пишет:

С ds3231 получаете текущее время, сравниваете с заданным и, соответственно, включаете/выключаете ваши реле. Или нет?

Чуть подробнее:

в 8:00 включаете,

в 8:02 выключаете,

в 17:00 включаете,

в 17:02 выключаете...

andriano
andriano аватар
Онлайн
Зарегистрирован: 20.06.2015

Kakmyc пишет:
Пользуясь случаем не могу не спросить: "Есть у кого наборы пиктограмм,кнопок и тд , для дисплеев nextion ?" Слишком лениво самому все это рисовать с нуля

Т.е. "наборы пиктограмм, кнопок" это не для "графического векторного редактора", не для "метеостанции", и даже не для "ЭБУ автомобиля BMW", а для "дисплеев nextion"?

sadman41
Онлайн
Зарегистрирован: 19.10.2016

55 - это 22, отраженные по вертикали.

Green
Offline
Зарегистрирован: 01.10.2015

Я тоже так подумал.) Неужто всё вверх-тормашками?)

 

MaksVV
Offline
Зарегистрирован: 06.08.2015

вот код для реле, на коленке, не проверял. Часы сами добавите (с примерами из библиотеки можно разобраться).

// пины ардуино к которым подключены реле: 
#define  PINRELAY_1  4
#define  PINRELAY_2  5
#define  PINRELAY_3  6
#define  PINRELAY_4  7

const byte Relay_pin[] = {PINRELAY_1, PINRELAY_2, PINRELAY_3, PINRELAY_4};

const byte Relay_quantity = sizeof(Relay_pin); // подсчет количества реле

const bool Relay_ON = 0;    // логика ВКЛЮЧЕНИЯ реле (нолем или единицей)
const byte TIMER_RELAY = 2; // тайммер сколько будут включены реле, секунд

bool Timer [Relay_quantity]={0};              // таймеры реле
uint32_t prevtime[Relay_quantity] = {0};      // таймеры реле

// обзывалки реле (можете свои названия написать)
enum relays {RELAY_1, RELAY_2, RELAY_3, RELAY_4};



void setup()      
{
// пины реле на выход:
for (int i=0; i<Relay_quantity; i++) {pinMode (Relay_pin[i], OUTPUT); digitalWrite (Relay_pin[i], !Relay_ON);}

//таким образом стартуем реле, просто для примера здесь в setup,  вы делайте это где нужно 
start_relay (RELAY_4);
}

void loop() 
{
 // тут остальной код
timers();
}
 
//процедура старта реле
void start_relay (const byte &relay_num)
{
digitalWrite (Relay_pin[relay_num], Relay_ON);
Timer[relay_num]=1;  prevtime[relay_num] = millis();
}


//процедура останова реле по истечении таймера
void timers()
{
 uint32_t curtime = millis(); 

// если истекло время выключаем таймер и реле
 for (int i=0; i<Relay_quantity; i++) 
  {
    if (curtime - prevtime[i]>(uint32_t)TIMER_RELAY*1000ul ) {digitalWrite (Relay_pin[i], !Relay_ON); Timer[i]=0;}
  }
}

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

b707
Онлайн
Зарегистрирован: 26.05.2017

olenka55 пишет:

Меня зовут Елена, мне 22. Если кто-то может помочь по существу буду благодарна)

да знаем уже... Имя, фамилия, день рождения, где живете, где учитесь, фото в купальнике ...

Поколение Z не имеет ни малейшего понятия о приватности персональных данных, все сразу вываливает в контакт и инстаграмм

SLKH
Offline
Зарегистрирован: 17.08.2015

MaksVV пишет:

вот код для реле, на коленке, не проверял. Часы сами добавите (с примерами из библиотеки можно разобраться).


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

вот на кой ты это писал, если всё оно не имеет никакого отношения к задаче?

MaksVV
Offline
Зарегистрирован: 06.08.2015

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

Таймеры заменить на проверку по часам реального времени и делов. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

del

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Пошли чужими письками меряться...

MaksVV
Offline
Зарегистрирован: 06.08.2015

SLKH пишет:
вот на кой ты это писал, если всё оно не имеет никакого отношения к задаче?

это штоб не бурчали. ну и готов выслушать критику. 

#include <RTC.h> // библиотека для часов
RTC  time;
#define PIN 12 
#define ALLRELAY for (int i=0; i<Relay_quantity; i++)  
#define NOT_USED 255,255

const bool Relay_ON = 0;       // логика ВКЛЮЧЕНИЯ реле (нолем или единицей)

const byte Relay_quantity = 4; // количество используемых реле

const byte time_pin[Relay_quantity][13] {
// время1     время2      время3  | время1    время2     время3  пин   
// старта     старта      старта  | стопа     стопа      стопа   ардуино
//  \/        \/          \/      |  \/        \/         \/      \/    
  {8,00,    NOT_USED,  NOT_USED,    8,02,    NOT_USED,  NOT_USED, 4}, // реле1 
  {17,00,   NOT_USED,  NOT_USED,    17,02,   NOT_USED,  NOT_USED, 5}, // реле2 
  {9,00,    13,00,     17,00,       9,02,    13,02,     17,02,    6}, // реле3 
  {9,30,    13,30,     17,30,       9,32,    13,32,     17,32,    7}, // реле4  
  };                                                                  // и т.д.

byte Secunda;  
byte Minuta;
byte Chas;

//-----------------процедура управления реле в назначенное время
void relay_control()
{
  ALLRELAY 
   {
    for (int j=0; j<3;j++) 
    {
 if (Chas == time_pin[i][j*2] && Minuta==time_pin[i][j*2+1]   && digitalRead(time_pin[i][PIN])!= Relay_ON)  digitalWrite (time_pin[i][PIN],  Relay_ON);
 if (Chas == time_pin[i][j*2+6] && Minuta==time_pin[i][j*2+7] && digitalRead(time_pin[i][PIN])== Relay_ON ) digitalWrite (time_pin[i][PIN], !Relay_ON);
    }
   }
}

//---------------- процедура опроса часов 
void RTC () 
{
time.gettime();
Secunda = time.seconds;
Minuta = time.minutes;
Chas = time.Hours;
}


void setup()      
{
time.begin(RTC_DS3231);  // инит часов
// пины реле на выход и выключим:
ALLRELAY {pinMode (time_pin[i][PIN], OUTPUT); digitalWrite (time_pin[i][PIN], !Relay_ON);}
}

void loop() 
{

relay_control();   // управление реле в заданное время
RTC();             // опрос часов реального времени
}


 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41

девушки бывают с математическим складом ума

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ua6em пишет:

sadman41

девушки бывают с математическим складом ума

Шо???!!! со складом вина - еще поверю

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

wdrakula пишет:

Шо???!!! со складом вина - еще поверю

Да успокойся - она давно ужо ушла. Налей ЦЕ2АШ5ОАШ 40 процентов

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

ua6em пишет:

sadman41

девушки бывают с математическим складом ума

Шо???!!! со складом вина - еще поверю

у нас одноклассница в 7 и 8 классах уделывала всех на олимпиадах по математике, один из тех, кого делала сейчас профессор, МИФИ вроде заканчивал и в Дубне работал )))

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

mykaida пишет:

wdrakula пишет:

Шо???!!! со складом вина - еще поверю

Да успокойся - она давно ужо ушла. Налей ЦЕ2АШ5ОАШ 40 процентов


Лена не может уйти просто так, не поблагодарив, к тому же обещала Дракуле решить его проблемы )))

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

ua6em пишет:

у нас одноклассница в 7 и 8 классах уделывала всех на олимпиадах по математике, один из тех, кого делала сейчас профессор, МИФИ вроде заканчивал и в Дубне работал )))

У нас, в МИФИ. девочек держали, чтобы парни до конца не свалились. Таких, как Вы рассказываете, не видел

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

mykaida пишет:

ua6em пишет:

у нас одноклассница в 7 и 8 классах уделывала всех на олимпиадах по математике, один из тех, кого делала сейчас профессор, МИФИ вроде заканчивал и в Дубне работал )))

У нас, в МИФИ. девочек держали, чтобы парни до конца не свалились. Таких, как Вы рассказываете, не видел

далее не МИФИ, а совсем другая история, рассказывают которые в тесном мужском кругу за чашкой чая

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

ua6em пишет:

далее не МИФИ, а совсем другая история, рассказывают которые в тесном мужском кругу за чашкой чая

Ну почему? Я открою сию тайну! Одну девочку звали Лена, вторую Багдат, третью Алла... И чего?

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

mykaida пишет:

ua6em пишет:

далее не МИФИ, а совсем другая история, рассказывают которые в тесном мужском кругу за чашкой чая

Ну почему? Я открою сию тайну! Одну девочку звали Лена, вторую Багдат, третью Алла... И чего?

не, совсем недустэп

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Pyotr пишет:
А еще, слышал, бывають трансгендеры... тьфу, гадость какая))

А вы таки что-то имеете против трансгендеров? Возможно, прямо здесь и сейчас, где-то происходит угнетение... Осуждаем. Trans lives matter, так сказать.

olenka55 пишет:
Меня зовут Елена, мне 22. Если кто-то может помочь по существу буду благодарна)

пруф или peacedoorball

(c) GREEN_PAPER

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А девочка-то уже свинтила к конкурентам! Так что

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

по рукам пошла штоле?

b707
Онлайн
Зарегистрирован: 26.05.2017

Омская. а мову знае

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707 пишет:

Омская. а мову знае

Я тоже не одесский, но ... "азохен вей! :-)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Кстати, реакция народа на женские ники напомнила одесский анекдот. Объявление:

andriano
andriano аватар
Онлайн
Зарегистрирован: 20.06.2015

ЕвгенийП пишет:

А девочка-то уже свинтила к конкурентам!

 

И шо, реально таки конкуренты?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

andriano пишет:

И шо, реально таки конкуренты?

В плане девок? Ну, если уводят, то, наверное :-)