Помогите создать "найти" проект

Serg Filth
Offline
Зарегистрирован: 01.02.2021

Есть ардуино нано, 4 реле 5в, контролер реального времени. 

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

Всем за рание СПОСИБО!

 

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

Есть вино 1890 года розлива. Налить? Закусывать трюфели будете?

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

sadman41 пишет:
Есть вино 1890 года розлива. Налить? Закусывать трюфели будете?

сегодня не полнолуние какое нибудь там?

Serg Filth
Offline
Зарегистрирован: 01.02.2021

Ето сорказм? 

Уверен что такой проект есть на форуме, не нашел. Кто видел, прошу ссылки!

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Ты «хотелки» свои опиши полностью, а то не понятно куда тебя слать (в направление какого проекта). 

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

Serg Filth пишет:

Ето сорказм? 

В мемориз, адназначна!

Serg Filth
Offline
Зарегистрирован: 01.02.2021

Система будет задействована в теплице. Реле будут открывать полив и тп.  Нашел готовый проект с кучей датчиков (свет, влажность, СО2), сервоприводами (открытие форточек), индикацией (экран) и прямой настройкой (без подключения к ПК) ну и реле. 

Мне же нужно вкл реле на 5-10 мин каждых 2 часа или утром, днем и вечером по 10-30-15 мин соответствено. 

Надзор 2-3 раза в неделю. 

Реле времени не расматриваю в принципе, для возможного усовершенствования системы и наличие вышесказаных деталей!

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Serg Filth, так чего Вы хотите? Чтобы кто-от адаптировал существующий проект под Ваши хотелки? Так это делается в разделе "Ищу исполнителя" за соответствующее вознаграждение.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Serg Filth пишет:

Система будет задействована в теплице. Реле будут открывать полив и тп.  Нашел готовый проект с кучей датчиков (свет, влажность, СО2), сервоприводами (открытие форточек), индикацией (экран) и прямой настройкой (без подключения к ПК) ну и реле. 

Мне же нужно вкл реле на 5-10 мин каждых 2 часа или утром, днем и вечером по 10-30-15 мин соответствено. 

И шо, даже за влажностью следить не надо? Перельёшь в пасмурную погоду. Это раз. Второе, поливать в теплице нужно когда сонце еще только встаёт или уже садица, иначе всю закуску пожгёшь, значить, надо ставить или даччик освещенности, или RTC. У меня и то и другое. 

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

xDriver пишет:

sadman41 пишет:
Есть вино 1890 года розлива. Налить? Закусывать трюфели будете?

сегодня не полнолуние какое нибудь там?

Сабик Звезда второй величины, имеет природу Венеры и Сатурна.
Дает полную расточительность, неудачи в жизни. Человек - прожектер, фантазер, путешественник, бродяга, "перекати-поле", нигде не находит себе места, при этом авантюрист.
С Венерой - аморальная, изменяющая жена (Глоба, как всегда, не прав), с Меркурием - человек, который тратится на путешествия. На границе VIII дома - смерть от воды.
Сабик для Урана - то же, что Полярная Звезда для Земли. Заметьте, что ось вращения Урана лежит в плоскости эклиптики. Через Сабик и Уран в Солнечную систему транслируется "закон галактического Логоса".

)))

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

xDriver пишет:

сегодня не полнолуние какое нибудь там?

Сегодня 21-ый лунный день, третья фаза, Луна в созвездии Весов.

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

Serg Filth пишет:

Уверен что такой проект есть на форуме, не нашел. Кто видел, прошу ссылки!

Так и вино 1890 года есть, прошу налить!

Цитата:

за рание СПОСИБО!

И, если чё, да 

Цитата:

Ето сорказм

KPG
Offline
Зарегистрирован: 09.06.2019

Serg Filth пишет:

 Нашел готовый проект

 Где находится этот проект?

Vladon
Offline
Зарегистрирован: 16.11.2020
Доброго всем всего  Подскажите вот кусок кода, как сделать чтобы от sendSensors(); к delay(3600000); --чтобы этот кусок кода был не зависимый работал отдельно от всего остального кода, ну и не влиял на 
оставшийся код. Задача чтобы sendSensors(); и Blynk.run(); включались на 30 сек каждый час и так по кругу, не пойму как это реализовать. Заранее благодарен!!!
void loop() {
smscom();
sendSensors(); // начало 
Blynk.run();
delay(30000);
mySerial.println("AT+SAPBR=0,1");
delay(3600000); // конец


scale.power_up(); //включаем весы (hx711)


w0=scale.get_units(10);
w0=scale.get_units(10);
w0=scale.get_units(50); //читаем вес


  scale.power_down(); //выключаем весы

  TimeNow=millis();

//Статистика 3 часа
  if (TimeNow-time3h > 10800000 ) 
{
  time3h=TimeNow;
  Send3D();
}


// проверка веса улья на роение ил снятие крышки

 DeltaW=((swarm0w-w0)/calibrate0);
 if (TimeNow-swarm0t > 600000 ) 
{
  swarm0t=TimeNow;
  swarm0w=w0;
}
  else
    {
    if (DeltaW > 5 ) 
      {
        Hwarning=1; 
        Walert();
        swarm0t=TimeNow;
        swarm0w=w0;
       }
        else {if (DeltaW > 1 ) 
        {
         Halarm=1; 
         Walert();
         swarm0t=TimeNow;
         swarm0w=w0;
        }
       }
     }
    }

 

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

Vladon пишет:

Доброго всем всего  Подскажите вот кусок кода, как сделать чтобы от sendSensors(); к delay(3600000); --чтобы этот кусок кода был не зависимый работал отдельно от всего остального кода, ну и не влиял на 
оставшийся код.

Никак не влияет. Особенно если удалите 7 строку, а лучше перенести ее после 55 строки.

Vladon
Offline
Зарегистрирован: 16.11.2020
void sanset()     
      
 {    
 notsunset=0;
 for (int i=0; i >= 250; i++){
      if ( !digitalRead(2) ){ notsunset++; } //Это точно россвет?
      delayMicroseconds(1000);
   }

  if ( notsunset==0 )
  { 

smscom();
sendSensors();
Blynk.run();
delay(30000);
mySerial.println("AT+SAPBR=0,1");
delay(3600000);}
}

ок, 55 строка, розумно, тогда давайте усложним задачу надо еще чтобы это работало только днем, под управлением фотодатчика, какие мысли будут по этому поводу, я думаю стоит сделать функцию и как-связать с фотодатичком

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

Vladon пишет:
тогда давайте усложним задачу надо еще чтобы это работало только днем, под управлением фотодатчика, какие мысли будут по этому поводу, я думаю стоит сделать функцию и как-связать с фотодатичком

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

Vladon
Offline
Зарегистрирован: 16.11.2020

извините я просто не знаю как это реализовать, опыта в ардуино иде 1.5 мес, можете написать пример?

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

Vladon пишет:

извините я просто не знаю как это реализовать, опыта в ардуино иде 1.5 мес, можете написать пример?

Могу, но алгоритмом:

void loop(){

Если(фотодатчик меньше Вашего значения){

Выполняем Вашу программу;

}

}

Только перевести на си

Vladon
Offline
Зарегистрирован: 16.11.2020

mykaida пишет:

Vladon пишет:
тогда давайте усложним задачу надо еще чтобы это работало только днем, под управлением фотодатчика, какие мысли будут по этому поводу, я думаю стоит сделать функцию и как-связать с фотодатичком

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

if (digitalRead(2) >= 250) {
smscom();
sendSensors();
Blynk.run();
delay(30000);
mySerial.println("AT+SAPBR=0,1");
delay(3600000);}

 

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

Vladon пишет:

так?

Всё не так.

 - во первых - программу надо вставлять правильно

- во вторых - digitalRead() читает только 1 или 0. Почитайте про analogRead()  и про порты, которые за это отвечают

Vladon
Offline
Зарегистрирован: 16.11.2020

Получилось так

void loop() {
scale.power_up(); //включаем весы (hx711)


w0=scale.get_units(10);
w0=scale.get_units(10);
w0=scale.get_units(50); //читаем вес


scale.power_down(); //выключаем весы

TimeNow=millis();

//Статистика 3 часа
  if (TimeNow-time3h > 10800000 ) 
{
  time3h=TimeNow;
  Send3D();
}


// проверка веса улья на роение ил снятие крышки

 DeltaW=((swarm0w-w0)/calibrate0);
 if (TimeNow-swarm0t > 600000 ) 
{
  swarm0t=TimeNow;
  swarm0w=w0;
}
  else
    {
    if (DeltaW > 5 ) 
      {
        Hwarning=1; 
        Walert();
        swarm0t=TimeNow;
        swarm0w=w0;
       }
        else {if (DeltaW > 1 ) 
        {
         Halarm=1; 
         Walert();
         swarm0t=TimeNow;
         swarm0w=w0;
        }
       }

  }
{if (digitalRead(2) >= 250) {
smscom();
sendSensors();
Blynk.run();
delay(30000);
mySerial.println("AT+SAPBR=0,1");
delay(3600000);}

}
  }

 

Vladon
Offline
Зарегистрирован: 16.11.2020

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

Вы мне кажите это кусок кода имеет право жить ? Тут просто я мутил с проверкой случайно кто-то закрыл датчик и тп.

Читать читал, понял бы сюда не пришел. 

  
 notsunset=0;
 for (int i=0; i >= 250; i++){
      if ( !digitalRead(2) ){ notsunset++; } //Это точно рассвет?
      delayMicroseconds(1000);
   }

  if ( notsunset==0 )
  { 

smscom();
sendSensors();
Blynk.run();
delay(30000);
mySerial.println("AT+SAPBR=0,1");
delay(3600000);}
}

 

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

49 строка - я Вам говорил про analogRead()

Да и вообще - нафига проводить измерения, если они никуда не идут? может 49 строку переместить на 2-ю?

Vladon
Offline
Зарегистрирован: 16.11.2020

Задача такова чтобы то что начинается с 49 строки работало только днем и управлялось фото датчиком, также фотодатчик на закате присылает мне мне статистику веса улья, работает на прерываниях, на digitalRead прекрасно работает.  надо чтобы эти строки начиная с 49 работали только днем, так как замер веса и отправка в блинк ночью мне просто не нужна  пчелы ночью не работают, делеи нужны чтобы отправка данных в блинк  шла раз в час, то есть сим модуль заходит в интернет, 30 сек  отдает данные с датчиков, отключается от gprs, ждет час и по новой.

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

Пойду я спать, а Вы помедитируйте над такими вопросами:

-цифровой сигнал может дать Вам только 2 значения - да-нет (достиг уровня света или нет - никаких 250 там быть не может, это просто кнопка)

- аналоговый сигнал - это некое число от 0 до 1024, которая отражает напряжение на лапке микросхемы от 0В до 5В

Читайте - это очень полезно.

Vladon
Offline
Зарегистрирован: 16.11.2020

mykaida пишет:

Пойду я спать, а Вы помедитируйте над такими вопросами:

-цифровой сигнал может дать Вам только 2 значения - да-нет (достиг уровня света или нет - никаких 250 там быть не может, это просто кнопка)

- аналоговый сигнал - это некое число от 0 до 1024, которая отражает напряжение на лапке микросхемы от 0В до 5В

Читайте - это очень полезно.

фух, Да - кнопка, но фишка этого кода в том что если ты случайно затемнишь мне датчик что бы он среагировал с задержкой, тоесть это проверка заката или рассвета. Зачем обьясняю, я брожу возле улья с фонарем, луч света попадает на фотодатчик, у меня уже летят смс с весом итп, оно мне надо?.

  detachInterrupt(digitalPinToInterrupt(0)); // запрет прерываний
  delayMicroseconds(10000); // в режиме прерывания функция delay не работает  - используем delayMicroseconds

      notsunset=0;
 for (int i=0; i <= 250; i++){
      if ( !digitalRead(2) ){ notsunset++; } //Это точно закат?
      delayMicroseconds(1000);
   }

  if ( notsunset==0 )
  { 

  scale.power_up(); //Включение модуля HX711

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

RTC в проекте есть?

Vladon
Offline
Зарегистрирован: 16.11.2020

DetSimen пишет:

RTC в проекте есть?


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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Vladon пишет:
DetSimen пишет:

RTC в проекте есть?

Нету

Тогда ты никак не узнаешь, рассвет это был или ты с фонариком. Придумывай чонить.

Vladon
Offline
Зарегистрирован: 16.11.2020

Там все в порядке, надо как-то придумать чтобы это работало только днём, отталкиваясь от фото датчика который уже есть у схеме, ну и это ещё должно работать 30сек каждый час остальное время отключено, дабы сим модуль не висел в интернете. Вопщем придумаю розкажу.
smscom();
sendSensors();
Blynk.run();
delay(30000);
mySerial.println("AT+SAPBR=0,1");
delay(3600000);}
}

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Vladon пишет:
Там все в порядке, надо как-то придумать чтобы это работало только днём, отталкиваясь от фото датчика который уже есть у схеме

Птваюмать, не всё там в порядке. Не отличишь ты только по фотодатчику, солнце это село или ты фонарик выключил, которым перед этим в даччик посветил. Нюшто это непонятно? 

Vladon
Offline
Зарегистрирован: 16.11.2020

Оставь фонарь в покое) то было например, ничего отличать не надо, солнце село-потемнело смски пришли, все это работает без нареканий. влепил блинк для графиков. Каждый час на 30секунд сим заходит в блинк и скидывает данные, потом отключается от жпрс. Все. Надо сделать так чтобы это (заходит в интернет скидывает данные в блинк) происходило до заката, потому что пчела садится в улей и на ночь мне не надо чтобы сим заходил в инет и выкидывал данные о состоянии датчиков(вес, влага, темп), утром же опять чтобы эта функция ( входа в интернет) опять работала.
Тоесть ночью ардуинка спала.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Мозг наморщи, наконец-то, да распиши алгоритм простыми русскими словами, потом переведешь в формальную логику на Си. 

1. Заведи в программе переменную состояния День/Ночь

2. Состояние будет меняться по фотодатчику, если выше какого-то порога - то День, если ниже - Ночь

3. Отправлять данные разрешено только если НЕ Ночь. 

Vladon
Offline
Зарегистрирован: 16.11.2020

Сам себе морщи, шо угодно. Профессор хуев!

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Vladon пишет:
Сам себе морщи, шо угодно. Профессор хуев!

Принято к исполнению, вашвысокбродь. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Vladon пишет:

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

Вот потому у Вам ничего и не работает, что Вы очень неаккуратно относитесь к написанию любого текста - будь то на русском или на Си.

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

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

Проще пчелу обучить смски слать...

b707
Offline
Зарегистрирован: 26.05.2017

а я помню такую тему года два назад...

Тут уже приходил пчеловод, который так же пытался различать день и ночь, читая аналоговый датчик через цифровой пин... и так же никого не слушал и спорил до усрачки... забанили его в итоге.

Может это тот же персонаж заново рарегистрировался?

ТС, если ты пришел с вопросами - то слушай что тебе говорят. У тебя в коде нагорожена несусветная чушь, с фотодатчиком работаешь неверно и никаких прерываний тут нет. Надо переписывать.

Вот тебе подсказка - читай датчик аналоговым способом и переходи из состояния "день" в состояние "ночь" по условию освещенности ниже какого-то порога в течении. например, получаса. И обратно так же. И тогда никакие фонари на тебя влиять не будут.

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

DetSimen пишет:

Vladon пишет:
DetSimen пишет:

RTC в проекте есть?

Нету

Тогда ты никак не узнаешь, рассвет это был или ты с фонариком. Придумывай чонить.

Так если есть SIM-модуль, почему бы время не спрашивать у опсоса?

b707
Offline
Зарегистрирован: 26.05.2017

gfx125 пишет:

Так если есть SIM-модуль, почему бы время не спрашивать у опсоса?

далеко не каждый ОПСОС отдает время в сеть.

Но конечно всегда остается возможность замутить NTP или просто ВЕБ запрос времени из сети...

 

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

b707
Offline
Зарегистрирован: 26.05.2017

все-таки я свою память еще не пропил... :)

Нашел ту старую тему по дебильному подключению аналогового фотодатчика через прерывание:

http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pauza-mezhdu-srabatyvaniem-fotodatchika

Самое интересное в той теме - начиная с сообщения #45 в ней появляется ютуб-автор проекта весов, у которого потом все пчеловоды растащили этот невежественный код. Думаю, что и у проблемы нашего ТС "ноги растут" из "творчества" того же мастера

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

b707 пишет:
дебильному подключению аналогового фотодатчика через прерывание
В смысле, прерывание от компаратора (ANALOG_COMP)? Я как-то юзал разок, вроде работало, если дребезг не забыть обработать.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

http://beefree.xyz/?p=95

Вот почитал и ужаснулся)))

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

Serg Filth пишет:
прошу ссылки!

тынц