задержка включения

18.11.2018
13
0
1
#1
нуждаюсь в схеме. есть источник освещения который освещает фототранзисторы. и у него есть выключатель kw-10 который при ударе отключает лампочки. так вот есть необходимость в задержке включения лампочек на время разворота робота(долгая история). Конденсатор параллельно лампочке не помогает. помогите
 

EandV

Проходящий мимо
04.08.2018
246
98
38
#3
Мб реле времени с задержкой включения/выключения
 
25.10.2018
121
10
18
#8
C-подобный:
int led = 3 ;
int shock = 8;
int value;
void setup ()
{
  pinMode (led, OUTPUT) ;
  pinMode (shock, INPUT) ;
}
void loop ()
{
  value = digitalRead (shock,) ;
  if (value == HIGH)
  {
    digitalWrite (led, HIGH);
  }
  else
  {
    digitalWrite (led, LOW);
  }
}
правильно?
тут задержки не будет.
а что поворачивается и на чем это писано? может имеет смысл вклинить этот код туда добавив флаги?
 

EandV

Проходящий мимо
04.08.2018
246
98
38
#9
Правильно Вам говорят, что задержки не будет. Добавил в код Delay. Но более эстетично будет заменить это потом на millis.

И еще момент. Я надеюсь , вы не собираетесь подключать напряжение 9В к пину 8, а нагрузку к пину 3?
на 8 пин нужно подавать логический сигнал 5В, поэтому поставьте резистор, чтобы ограничить напряжение и ток.
Нагрузку слабый сигнал из пина 3 тоже не включит. Используйте Мосфет, а сигнал из пина 3 будет открывать затвор Мосфета.



Код:
int led = 3 ;
int shock = 8;
int value;
void setup ()
{
  pinMode (led, OUTPUT) ;
  pinMode (shock, INPUT) ;
}
void loop ()
{
  value = digitalRead (shock,) ;
  if (value == HIGH)
  {
  delay (2000); // Задержка 2 секунды
    digitalWrite (led, HIGH);
  }
  else
  {
    digitalWrite (led, LOW);
  }
}
 
18.11.2018
13
0
1
#10
Правильно Вам говорят, что задержки не будет. Добавил в код Delay. Но более эстетично будет заменить это потом на millis.

И еще момент. Я надеюсь , вы не собираетесь подключать напряжение 9В к пину 8, а нагрузку к пину 3?
на 8 пин нужно подавать логический сигнал 5В, поэтому поставьте резистор, чтобы ограничить напряжение и ток.
Нагрузку слабый сигнал из пина 3 тоже не включит. Используйте Мосфет, а сигнал из пина 3 будет открывать затвор Мосфета.



Код:
int led = 3 ;
int shock = 8;
int value;
void setup ()
{
  pinMode (led, OUTPUT) ;
  pinMode (shock, INPUT) ;
}
void loop ()
{
  value = digitalRead (shock,) ;
  if (value == HIGH)
  {
  delay (2000); // Задержка 2 секунды
    digitalWrite (led, HIGH);
  }
  else
  {
    digitalWrite (led, LOW);
    Delay(20000);
  }
}
Так? Я могу запитать ардуино от 9v, а потом от 5v запитать kw-10 с резисторов между + и 8 портом, а третий пустить на модуль мосфета и там управлять 9v?
 
18.11.2018
13
0
1
#11
тут задержки не будет.
а что поворачивается и на чем это писано? может имеет смысл вклинить этот код туда добавив флаги?
http://www.servodroid.ru/news/ehlektronnyj_tarakan/2012-02-01-417

Логика поворота будет взята с этого робота и лампачка должна будет освещать фт
 
25.10.2018
121
10
18
#12
http://www.servodroid.ru/news/ehlektronnyj_tarakan/2012-02-01-417

Логика поворота будет взята с этого робота и лампачка должна будет освещать фт
Я мельком глазами пробежал статью. Так понял там элементарная(от слова элемент) логика? Тогда если хотите использовать ардуину для задержки и больше на неё ничего вешать не будите, используйте код с delay. Но лучше уж приучить себя писать код с delay раз и на всегда и переписать сразу на mils
 

EandV

Проходящий мимо
04.08.2018
246
98
38
#13
Так? Я могу запитать ардуино от 9v, а потом от 5v запитать kw-10 с резисторов между + и 8 портом, а третий пустить на модуль мосфета и там управлять 9v?
Хорошо бы на схему взглянуть, так сложно воспринимается.

kw-10_bb.jpg

Я бы вообще как-о так сделал. По идее можно и без digital read. Ардуина включится после срабатывания kw-10, будет установленная задержка , потом включит мосфет и запитает нагрузку. Единственный момент нужно учитывать небольшое время на загрузку Ардуины, что немного увеличит время задержки.
 

Wan-Derer

Модератор
Команда форума
31.07.2018
1 113
176
73
Москва
wan-derer.ru
#14
18.11.2018
13
0
1
#16
Хорошо бы на схему взглянуть, так сложно воспринимается.

Посмотреть вложение 1157

Я бы вообще как-о так сделал. По идее можно и без digital read. Ардуина включится после срабатывания kw-10, будет установленная задержка , потом включит мосфет и запитает нагрузку. Единственный момент нужно учитывать небольшое время на загрузку Ардуины, что немного увеличит время задержки.
код выше идеально решает проблему. В какой программе рисовал схему?
 

Wan-Derer

Модератор
Команда форума
31.07.2018
1 113
176
73
Москва
wan-derer.ru
#18
@h0nepa, можно так попробовать. Разгораться будет плавно. Чем больше R и C, тем дольше и плавнее. Если принципиально чтобы включалось резко, можно сделать через компаратор
 

Вложения

18.11.2018
13
0
1
#19
@h0nepa, можно так попробовать. Разгораться будет плавно. Чем больше R и C, тем дольше и плавнее. Если принципиально чтобы включалось резко, можно сделать через компаратор
Кароче, я не знаю что делать, оказалось что мощности лампочек не хватает и пришлось ставить мощнее, поставил на 0,6 вт, крона не потянула и я взял 18650 акб запитал от него чисто ардуино нано сначала питалась, а потом я подключил лампочку на 0,6 вт и ничего, включил ещё раз и ардуино вымерла. В чём причина?