Jump to content
blackflash2007

помогите с таймером

Recommended Posts

наваял такой код 30м стаит 2 минуты работает 2 минуты работает но вместо 30м всего 10м  держит где я накасячел?

 

int Relay = 5;
int Rel = 13;
void setup() 
{                
  pinMode(Relay, OUTPUT); 
  pinMode(Rel, OUTPUT);     
}

void loop() 
{
  digitalWrite(Relay, LOW);   // реле включено
   delay(1200);    
   digitalWrite(Rel, LOW);   // реле включено
  delay(120000);               
  digitalWrite(Relay, HIGH);  // реле выключено
   delay(1200);
  digitalWrite(Rel, HIGH);  // реле выключено
  delay(1800000);               
}

Share this post


Link to post
Share on other sites
21 минуту назад, blackflash2007 сказал:

 где я накасячел?

 

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

Share this post


Link to post
Share on other sites

Программа нужна сейчас. Вам бы сначала научится отвечать по теме а затем писать на форум

Edited by blackflash2007

Share this post


Link to post
Share on other sites

Металл-композит как альтернатива ферриту: дроссели Panasonic семейства ETQP

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

Подробнее

Просто разбейте 30 мин на 6 Х 5 мин и проверьте. С микросекундами в Ардуино точно есть проблема, возможно и здесь тоже. Можно попробовать  1800000UL

Share this post


Link to post
Share on other sites

Переполнение где-то проскакивает


Настоящему коту и в декабре март!

Share this post


Link to post
Share on other sites
                     

Новые литиевые ХИТы Fanso работают даже при +150ºС!

Когда приходится учитывать работу в экстремальных условиях, к выбору электронных компонентов подходишь с особой тщательностью. Высокие температуры, большие перепады давления, труднодоступность – все это требует специальной продукции. Склад КОМПЭЛ пополнился новыми литиевыми ХИТами Fanso, стабильно работающими даже при температуре до 150 ºС. Батарейки имеют номинальное напряжение 3,6 В, обладают ёмкостью от 700 до 14000 мАч, работоспособны в широком температурном диапазоне -20…150ºС и имеют низкий саморазряд (не более 3% в год в нормальных условиях хранения).

Подробнее о высокотемпературной линейке

11 час назад, blackflash2007 сказал:

delay(1800000);

Посмотрите в библиотеке какие числа пережёвывает функция delay(). И следуйте подсказке @snn_krs 'а.

Почитал http://arduino.ru/Reference/Delay

Хм... Не понял, где засада.


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites
1 час назад, солар сказал:

Хм... Не понял, где засада.

Может собака вмешивается?


На форумах принято общаться на "ты", что не является оскорбительным и подразумевает равноправие

Share this post


Link to post
Share on other sites

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

Ещё один момент: 

15 часов назад, blackflash2007 сказал:

delay(1200);

Это две минуты?


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites

delay не есть хорошо. Используйте millis() в связке с условием if


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

Share this post


Link to post
Share on other sites

в том что контроллер все время занят. Посмотрите реализацию функции delay


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

Share this post


Link to post
Share on other sites
2 часа назад, TranceSmile сказал:

в том что контроллер все время занят

Контроллер всегда всё время занят (если исключить sleep). Или delay его как то по-другому занимает ? До покраснения ?

Share this post


Link to post
Share on other sites
8 часов назад, TranceSmile сказал:

все время занят

digitalWrite(Rel, LOW);   // реле включено
  delay(120000);               
  digitalWrite(Relay, HIGH);  // реле выключено

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


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites

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


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

Share this post


Link to post
Share on other sites

Программа пишется по ТЗ. Новая хотелка -> новое ТЗ -> новый бюджет. И хоть захотись! А вот как переписывать это уже дело программиста.


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites

@TranceSmile , вот к чему такие безосновательные выпады ?
Сначала применили магическую фразу "не есть хорошо". Не доказали. Наводящие вопросы игнорируете.
Потом снова магическая фраза - "писать правильно". Что есть "правильно" в Вашем посте ?
Все сообщения по 2 слова с собственным мнением и виляние хвостом.

Ради чего пишете ? Ради того, чтобы просто написать что-либо ? Может лучше вообще ничего не писать ?

Share this post


Link to post
Share on other sites

функция delay(), можно сказать, замораживает контроллер, и я думаю, вы согласны что использование delay, не есть хорошим тоном. И если нужно только включать и выключать реле, то использование ардуино через чур. Думаю лучше взять какой нить аттини. 


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

Share this post


Link to post
Share on other sites

по моему таймер 55 не справится с задержкой в 20 минут 


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

Share this post


Link to post
Share on other sites
1 час назад, TranceSmile сказал:

функция delay(), можно сказать, замораживает контроллер

А что с ним случится то, с контроллером ? И самый главный вопрос - почему это плохо ?

Share this post


Link to post
Share on other sites

ну не так выразился, но зачем забивать маленький гвоздь кувалдой. Даже в документации не рекомендуют использовать delay больше 10 мс. И я смотрю ТСу вообще наверное все равно.


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

Share this post


Link to post
Share on other sites
2 часа назад, TranceSmile сказал:

Даже в документации не рекомендуют использовать delay больше 10 мс

А вы поняли почему?


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites

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


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

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...