Svetelektro.com

Svetelektro.com

Meno:
Heslo:
SVETELEKTRO • N├íhrada Delay

Náhrada Delay

V┼íetko ─Źo sa t├Żka mikropo─Ź├şta─Źov + Sekcia Arduino

Moderátori: psichac, Moderátori

Náhrada Delay

Odosla┼ąod KeXT3r » 11 Sep 2017, 23:33

Zdrav├şm. S arduinom viac menej za─Ź├şnam. Pracujem na osvetlen├ş schodov v dome. Sp├şna─Ź bude IR zavora ktora bude mat v klude na v├Żstupe HIGH, pokal sa prerusi tak LOW a vtedy by sa mali rozsvietit ledky na napr. 15s. bez toho aby. som pou┼żil prikaz delay. Ide mi. o. to. ┼że ak niekdo preru┼í├ş zavoru zopne sa osvetlenie na 15 sek├║nd. Ak medzi tym ako svietia ledky tak niekdo znova preru┼í├ş zavoru odpo─Ź├ştavanie ─Źasu p├┤jde od za─Źiatku. Sk├║┼íal som hoci─Źo no neviem sa s toho vysom├íri┼ą. Ako by s te to. riesili vy? popr├şpade nejak├ę n├ívrhy. Budem v─Ća─Źn├Ż za hoci ak├║ pomoc.
KeXT3r
Okoloid├║ci
Okoloid├║ci
Pr├şspevky: 37
Zalo┼żen├Ż: 05.11.2014
Karma: 0

Re: Náhrada Delay

Odosla┼ąod bobo87 » 11 Sep 2017, 23:41

Toto sa da spravit aj s 555kou, trochu smetia naokolo a nemusis ani programovat. :)
float l,I,Q,_,o;int E;main(){I=1.125;while(I>=-1.225){for(l=-2;l<=1;l+=3/79.0){Q=_=0;for(E=127;Q*Q+_*_<4.0&&--E>32;){o=Q;Q=Q*Q-_*_+l;_=2*o*_+I;}putchar(E);}putchar(10);I-=9/88.0;}}
bobo87
Obr├ízok pou┼ż├şvate─ża
Ultimate ─Źlen
Ultimate ─Źlen
Pr├şspevky: 1774
Vek: 30
Zalo┼żen├Ż: 15.02.2007
Bydlisko: Košice
Karma: 7

Re: Náhrada Delay

Odosla┼ąod KeXT3r » 11 Sep 2017, 23:51

Praveze to chcem cez arduino lebo ledky budu WS2812.
KeXT3r
Okoloid├║ci
Okoloid├║ci
Pr├şspevky: 37
Zalo┼żen├Ż: 05.11.2014
Karma: 0

Re: Náhrada Delay

Odosla┼ąod bobo87 » 11 Sep 2017, 23:55

Tak niektory z casovacov nastavit napriklad na 1s interval. Spravis si globalnu premennu napr. uint8_t lightTimer. V preruseni spravis nieco taketo:
K├│d: Vybra┼ą v┼íetko
if(lightTimer > 0)
   lightTimer--;


A v hlavnej slucke len kontrolujes premennu a ked je lightTimer == 0, zhasnes, ked lightTimer > 0, rozsvietis. Pri kazdom impulze od zavory uz len nastavis pozadovany cas, napr lightTimer = 15 a hotovo. :)
float l,I,Q,_,o;int E;main(){I=1.125;while(I>=-1.225){for(l=-2;l<=1;l+=3/79.0){Q=_=0;for(E=127;Q*Q+_*_<4.0&&--E>32;){o=Q;Q=Q*Q-_*_+l;_=2*o*_+I;}putchar(E);}putchar(10);I-=9/88.0;}}
bobo87
Obr├ízok pou┼ż├şvate─ża
Ultimate ─Źlen
Ultimate ─Źlen
Pr├şspevky: 1774
Vek: 30
Zalo┼żen├Ż: 15.02.2007
Bydlisko: Košice
Karma: 7

Re: Náhrada Delay

Odosla┼ąod Pega » 12 Sep 2017, 08:04

Varianta bez p┼Öeru┼íen├ş:
K├│d: Vybra┼ą v┼íetko
void my_delay(uint8_t sec)            // sec=15
{   
   for(uint16_t i=sec*10; i>0; i--)   // opakuj 150x
   {
      _delay_ms(100);
      if(vypinac_zapnuty) i=sec*10;   // ka┼żd├Żch 100 ms zkontroluj vypina─Ź,
   }                                  // pokud je zapnut├Ż, nastav znovu 15 sec
}


int main(void)
{

  while(1)
  {
     if(vypinac_zapnuty)
     {
         zapni_svetla;
         my_delay(15);   // ─Źekej 15 vte┼Öin
         vypni_svetla;
     }
  }
}
Pega
St├íly ─Źlen
St├íly ─Źlen
Pr├şspevky: 188
Zalo┼żen├Ż: 28.03.2012
Karma: 5

Re: Náhrada Delay

Odosla┼ąod TomasNM » 12 Sep 2017, 08:53

Alebo takto(vyvarujes sa pouzitiu delay uplne):
K├│d: Vybra┼ą v┼íetko
unsigned long teraz,predtym;
const int interval=15000;
boolean vstup,vystup;

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:

  teraz=millis();

  if(vstup) { predtym=teraz;vystup=true;}//zapni 
  if(teraz-predtym>=interval) { vystup=false;}//vypni

}
TomasNM
Zasl├║┼żil├Ż ─Źlen
Zasl├║┼żil├Ż ─Źlen
Pr├şspevky: 1032
Vek: 36.97
Zalo┼żen├Ż: 22.01.2012
Bydlisko: Nov├ę Mesto nad V├íhom
Paragraf: 23
Karma: 14

Re: Náhrada Delay

Odosla┼ąod KeXT3r » 13 Sep 2017, 20:31

Diki moc :) skusim a uvidim :)
KeXT3r
Okoloid├║ci
Okoloid├║ci
Pr├şspevky: 37
Zalo┼żen├Ż: 05.11.2014
Karma: 0


Nasp├Ą┼ą na Mikropo─Ź├şta─Źe

Kto je pr├ştomn├Ż

U┼ż├şvatelia prezeraj├║ci si toto f├│rum: ┼Żiadny registrovan├Ż pou┼ż├şvate─ż a 2 host├ş.

cron
Forums ©
Autor str├ínky je Ondrej Z├ívodsk├Ż(zawin), o graficky design sa star├í ─Żubo┼í Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
─îas potrebn├Ż k spracovaniu str├ínky 0.27 sek├║nd