Применение millis для нескольких процессов

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

ua6em пишет:

у меня правильно считает 420000, тока я тут сначала почитал когда-то )))

Так, понятно, что Вы не так делаете! Нафига читали? Надо было 

Posol88 пишет:

по роликам в ютубе. 

было бы как у ТС.

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

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

ua6em пишет:

у меня правильно считает 420000, тока я тут сначала почитал когда-то )))

Так, понятно, что Вы не так делаете! Нафига читали? Надо было 

Posol88 пишет:

по роликам в ютубе. 

было бы как у ТС.

я тока Гайвера смотрю, как генератора идей, талантлив жеж в этом...

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

ua6em пишет:

я тока Гайвера смотрю, как генератора идей, талантлив жеж в этом...

В чём? Чтобы с хакстера конструкции тырить и на ютубе по-русски о них трындеть?

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

sadman41 пишет:

ua6em пишет:

я тока Гайвера смотрю, как генератора идей, талантлив жеж в этом...

В чём? Чтобы с хакстера конструкции тырить и на ютубе по-русски о них трындеть?

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

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

ua6em пишет:

я тока Гайвера смотрю

Ну, хоть бы уж вслух не говорили, неприлично же! Как говаривал Антон Павлович: "Всякому безобразию есть свое приличие".

Posol88
Offline
Зарегистрирован: 14.11.2019

26784 
это?

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

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

ua6em пишет:

я тока Гайвера смотрю

Ну, хоть бы уж вслух не говорили, неприлично же! Как говаривал Антон Павлович: "Всякому безобразию есть свое приличие".

уточняю, иногда посматриваю... PS "если я на диете это же не значит, что я не могу просматривать меню"

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

ua6em пишет:

Гайвера смотрю

а говорил

ua6em пишет:

Морду бить некому ...

:-(((

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

ua6em пишет:

слово хакстер слышу впервые... )))

https://www.hackster.io/

https://hackaday.com/

https://www.instructables.com/

Welcome to real world.

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

Posol88 пишет:

26784 
это?

и???

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

Posol88 пишет:

26784 
это?

Это Вас надо спросить, это то, что Вам нужно или нет.

А теперь почитайте страницу на которую ua6em ссылку давал. Там написано как грамотно исправить. Исправьте и нам покажите.

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

Ворота пишет:

ua6em пишет:

Гайвера смотрю

а говорил

ua6em пишет:

Морду бить некому ...

:-(((

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

Posol88
Offline
Зарегистрирован: 14.11.2019

из той статьи я понял, что нужно добавить к числу буквы "ul" что бы программа его восприняла так, как мне нужно. как их добавить к примеру я не смог разобраться, но к целому числу например вот так 30000ul. если я ее спрашиваю через Serial.print она отвечает 30000. это и требовалось. Но когда я загружаю программу целиком

#define ON 10
#define OF 3
#define HOT 9
#define DOP 8
unsigned long TIM;
 
 void setup() {
  attachInterrupt (1, myES, RISING);
  pinMode (HOT, OUTPUT);
  pinMode (DOP,OUTPUT); 
 }

 void loop(){
  
  if (digitalRead(ON)){
        digitalWrite(HOT, HIGH);
  }
  if (millis() - TIM >= (30000ul) ) {
        digitalWrite(HOT, LOW);     
      TIM = millis();
  }
  delay(20);
  }
void myES() {
  digitalWrite(HOT, LOW);
}

то время работы выхода HOT по прежнему скачет хотя и в меньших приделах чем раньше. где то от 22х до 27ми секунд. (при условии что речь идет о тридцати секундах)

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

Странно. Должно скакать от 0 до 30000.

Вам вообще чего надо-то? Вы забыли сказать, а по этому коду хрен чего поймёшь. Пока никто не знает ни что Вы собирались делать, ни что такое "время выхода НОТ"

Если надо, чтобы НОТ был HIGH  в течение 30000мс, так Вы что-то странное написали.

Можете сказать словами как бы Вы это делали вручную. Без электроники вообще (с секундомеров в руках). ну-ка распишите последовательность действий.

Posol88
Offline
Зарегистрирован: 14.11.2019

значит ON и OF это кнопки . при нажатии на ON на выходе HOT появляется +5в и должны они там быть пока не пройдет заданное время (30 сек) или пока не нажмется кнопка OF . (с кнопок приходит сигнал +5в)

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

Posol88 пишет:

значит ON и OF это кнопки . при нажатии на ON на выходе HOT появляется +5в и должны они там быть пока не пройдет заданное время (30 сек) или пока не нажмется кнопка OF . (с кнопок приходит сигнал +5в)

чем дальше, тем забавнее...

И где в этом коде кнопки?

Posol88
Offline
Зарегистрирован: 14.11.2019

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

 Без электроники вообще (с секундомеров в руках). 

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

Logik
Offline
Зарегистрирован: 05.08.2014

та подтяни ты кнопку к земле резистором

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

Posol88 пишет:

значит ON и OF это кнопки . при нажатии на ON на выходе HOT появляется +5в и должны они там быть пока не пройдет заданное время (30 сек) или пока не нажмется кнопка OF . (с кнопок приходит сигнал +5в)

Вы знаете, я совершенно искренне хочу Вам помочь, но моё терпение скоро лопнет. Я о чём Вас попросил?

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

Можете сказать словами как бы Вы это делали вручную. Без электроники вообще (с секундомеров в руках). ну-ка распишите последовательность действий.

Какие кнопки? Какие 5 вольт?

Вы можете словами расписать, что нужно делать. Нет у Вас ни кнопок, ни ардуины, есть секундомер и ручное включения и выключение светодиода. Просто словами напишите, что Вы собираетесь делать. По пунктам.

 

Posol88
Offline
Зарегистрирован: 14.11.2019

 

[/quote]

И где в этом коде кнопки?

[/quote]

вместо кнопок у меня плата RX480R_4CH. это с пультом таким как брелок

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

Logik пишет:

та подтяни ты кнопку к земле резистором

зачем??? - он же ее в коде даже не читает

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

Posol88 пишет:

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

 Без электроники вообще (с секундомеров в руках). 

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

Как именно замерял? По пунктам. Например, в момент включения светодиода Вы что делали?

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

Posol88 пишет:

вместо кнопок у меня плата RX480R_4CH. это с пультом таким как брелок

и??? где вы с ней работаете в коде?

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

 

По-моему. пора указатель доставать

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

b707 пишет:

зачем??? - он же ее в коде даже не читает

Это он OF не читает. А ON читает в 15 строке. Только вот .... ладно, он должен сам дойти.

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

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

ладно, он должен сам дойти.

по-моему. шансов ноль

Posol88
Offline
Зарегистрирован: 14.11.2019

 

[/quote]

Это он OF не читает.

[/quote]

OF задействована через команды

 attachInterrupt (1, myES, RISING);

void myES() {
  digitalWrite(HOT, LOW);
}
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707, я пока рассматриваю так. КНопки Of нет в природе. Есть только кнопка ON, которая должна включать светодиод на 30 секунд. Вижу два тупизма. Хочу подвести ТС к ним, чтобы сам догадался. но он брыкается как может и как не может :(

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

Posol88 пишет:

OF задействована через команды

Да, я этого не заметил.

Но это не отменяет необходимости для Вас СЛОВАМИ ПО ПУНКТАМ рассказать, что Вы делаете

Posol88
Offline
Зарегистрирован: 14.11.2019

делаю подогрев дворников из нихромовой проволоки. нету возможности по уму провести провод под капот. по этому с помощью ардуино делаю пульт включения и экстренного отключения. (раз такая пьянка закладываю резервный канал DOP)  задумка такая - по радиоканалу с брелка на плату RX480R_4СH подается сигнал, та в свою очередь дает единицу на один из пинов, который соединен с пином ON или OF на плате ардуино. дальше та должна подавать сигнал на реле через пин HOT на определенное время (5 - 7 минут. меньшее время использую для отладки) , после чего автоматически отключать., или экстренно с брелка в случае чего...

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

Posol88 пишет:

делаю подогрев дворников из нихромовой проволоки. нету возможности по уму провести провод под капот.

Ой. Я аж замер! ;))

1. П..здец машинке! Жалко ж её. В любой машинке, ну кроме старого сов-авто-хлама, печка дует в нижнюю часть ветрового стекла именно с целью предотвратить замерзание дворников. Если примерзли на стоянке - нужно просто включить печку "на стекло" и посидеть с тилипоном, разгадывая пасьянсы и смотря порнуху, минут 15.

2. Не смог провод протянуть? А как ты сигналку ставил? снимаешь подрулевую накладку (на разных авто по-разному) и видишь пучек "торпедо-двигатель", проходящий через резиновый уплотнитель с кулак размером. Делаешь инструмент из старого шампура - как очень большую иглу - острие и ушко ;))). Как сапожную иглу - ушко впереди. Прокалываешь резину рядом с пучком и протаскиваешь ей проволоку или крепкую нить - как кондуктор, по которому потом хоть пучек, хоть витую пару! ;)))

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

Posol88 пишет:

делаю подогрев дворников из нихромовой проволоки. 

Тваюшдивизию!

Ну я то Вас прошу по пунктам расписать как именно Вы включаете и выключаете свелодиод по кнопке ON на 30 секунд.

Ну, блин, ну можете Вы написать что-нибудь вроде

1. ЕСЛИ обнаружено нажатие кнопки ТО
      1.1  ЕСЛИ светодиод НЕ СВЕТИТСЯ ТО
             1.1.1. Включаем светодиод
              1.1.2. ........
................

Можете словами расписать что Вы собираетесь делать?

Posol88
Offline
Зарегистрирован: 14.11.2019

спасибо за совет, но у меня в машине все немного сложнее. пучек проводов выходит под крыло.крыло снизу закрыто локером, крепления локера бампером и защитой. я как то летом уже протягивал туда провод, но это геморой на 2 дня, и тогда защита еще не стояла. это раз.

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

 

Posol88
Offline
Зарегистрирован: 14.11.2019

1) если обнаружено нажатие кнопки ON (pin 10) то подать +5 на HOT(pin 9)

1.2)если на выходе HOT(pin 9) то начать отсчет 30 секунд.

1.3) если с момента нажатия кнопки ON прошло 30 секунд то убрать питания с HOT.

2) если обнаружено нажатие кнопки OF (pin 3) то убрать питание с HOT в независимости от того прошло 30 сек или нет.

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

OF меня пока ни разу не интересует. Не упоминайте о ней, пока с одной кнопкой не разберётесь. Уберите пока из кода Ваш attchInterrupt и забудьте о нём.

Так, написали Вы хреново и неправильно, но уже что-то. Начнём хоть с этого.

Теперь, внимание вопрос: где в коде Вы засекаете время (Ваш пункт 1.2)? Если я правильно понимаю, Вам надо засечь время когда включился светодиод, чтобы от этого момента 30 сек. отсчитывать. Где в коде это делается? Включение светодиода в строке №16 я вижу. А засекание времени где?

Posol88
Offline
Зарегистрирован: 14.11.2019

в первом варианте(на второй странице) это было в пункте 10

#define ON 10
#define OF 3
#define HOT 9
#define DOP 8
unsigned long TIM;
 void setup() {
  attachInterrupt (1, myES, RISING);
  pinMode (HOT, OUTPUT);
  pinMode (DOP,OUTPUT);
  TIM = ON;
}
 
 void loop(){
   
  if (digitalRead(ON)){
        digitalWrite(HOT, HIGH);
  }
  if (millis() - TIM >= (7 * 60 * 1000) ) {
       digitalWrite(HOT, LOW);    
      TIM = millis();
  }
  delay(20);
  }
void myES() {
  digitalWrite(HOT, LOW);
}

 

Posol88
Offline
Зарегистрирован: 14.11.2019

но там сказали что этот пункт идиотизм и я его убрал, тем более что и без него код худо бедно работал... хотя я и сам не понимаю как

 

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

Posol88 пишет:

в первом варианте(на второй странице) это было в пункте 10

Вы сами себя слышите?

Вам когда нужно время засекать? В тот момент, когда включаете светодиод? Или просто "когда придётся"? Какое отношение Ваша строка 10 имеет к моменту включения светодиода? Ну, вот какое?

Posol88 пишет:

но там сказали что этот пункт идиотизм

Правильно сказали

Posol88
Offline
Зарегистрирован: 14.11.2019

ну  я приравнял переменную тим  к сигналу я с кнопки ON и думал что с момента нажатия будет отсчет...

 

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Петрович, сдавайся - ниасилишь.

Posol88
Offline
Зарегистрирован: 14.11.2019

не, я теперь ореинтируясь на Ваше мнение понимаю что это так не делается, но как надо не знаю

Posol88
Offline
Зарегистрирован: 14.11.2019

Петрович, не сдавайся    XD

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

Posol88 пишет:

ну  я приравнял переменную тим  к сигналу я с кнопки ON и думал что с момента нажатия будет отсчет...

Давайте так, Вы включите секундомер дома, потом сядете в машину и поедете на стадион судить футбольный матч, а с момент стартового свистка будет отсчёт. 

Вы сейчас сказали именно это. Улавливаете?

Может, лучше включать секундомер кода свистите?

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

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

Posol88
Offline
Зарегистрирован: 14.11.2019

да согласен

Posol88
Offline
Зарегистрирован: 14.11.2019

серьезно, я способный, просто учусь сам (еще и без знания английского языка)

Posol88
Offline
Зарегистрирован: 14.11.2019

ладно, буду дальше разбираться сам... Всем спасибо.

 

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

Вот такой он, посол...

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

Ну, если не хотите включить замер времени одновременно с включением светодиода и двигаться дальше, то разбирайтесь, конечно. Только ради Бога - не по роликам с ютуба, а по нормальным книгам. Ссылки есть в разделе "Песочница"

Posol88
Offline
Зарегистрирован: 14.11.2019

хочу, просто я уж подумал что "всем эти мышкины проблемы по бабрабану"

Posol88
Offline
Зарегистрирован: 14.11.2019

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

 по нормальным книгам. Ссылки есть в разделе "Песочница"

в книге "Руководство по изучению ардуино" подобных моей задачи нет. все еще надеюсь на Вашу помощь.