• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
z pętlą zgubiłem się w czasie
#23
podał jasno cel w pierwszym poście,  chodzi o to ze wszystkie ify wykonują sie w jednym czasie a nie synchronicznie jak to ustawił w

Kod:
unsigned long memczask1 = +100;
unsigned long memczask2 = +200;
unsigned long memczask3 = +300;
unsigned long memczask4 = +400;
unsigned long memczask5 = +500;
unsigned long memczask6 = +600;
unsigned long memczask7 = +700;
unsigned long memczask8 = +800;
unsigned long memczask9 = -100;
unsigned long memczask10 = -200;
unsigned long memczask11 = -300;
unsigned long memczask12 = -400;
unsigned long memczask13 = -500;
unsigned long memczask14 = -600;
unsigned long memczask15 = -700;
unsigned long memczask16 = -800;


Cytat:Problemem jest to że sekwencja sama w sobie działa prawidłowo czyli poszczególne wyjścia załączają się zgodnie z zaplanowanymi częstotliwościami, ale dodanie jakiegokolwiek warunku (nawet prostego guzika) powoduje że wszystkie zaczynają działać synchronicznie i reagują tylko na jedną zmienną (w moim przypadku tempo), tak jakby zmienna "memczask.." nie była rozpoznawana.


i nie będzie wałkujemy to juz 3 strony ze 

Kod:
if (aczas - memczask1 >= migk1) {        //załączanie przekaźnika 1
    memczask1 = aczas;
    sk1 = !sk1;
    digitalWrite(k1, sk1);
  }

memczassk1 zawsze po spełnieniu warunku bedzie zwracac millis()..

dałem mu rozwiązanie 

Kod:
if(czas- ostatniczas >= interval){
ostatniczas=czas+50;
}
if(czas- ostatniczas >= interval){
ostatni czas=czas+100;

a co on zrobił??

Kod:
if (guzik == LOW && stat == 0){
    stat = 1;
    StartCzas = millis();
    memczask1 = StartCzas + 100;
    memczask2 = StartCzas + 200;
    memczask3 = StartCzas + 300;
    memczask4 = StartCzas + 400;
    memczask5 = StartCzas + 500;
    memczask6 = StartCzas + 600;
    memczask7 = StartCzas + 700;
    memczask8 = StartCzas + 800;
    memczask9 = StartCzas + 100;
    memczask10 = StartCzas + 200;
    memczask11 = StartCzas + 300;
    memczask12 = StartCzas + 400;
    memczask13 = StartCzas + 500;
    memczask14 = StartCzas + 600;
    memczask15 = StartCzas + 700;
    memczask16 = StartCzas + 800;
  }


nie wiem co mu to dało..... bo ja o czymś innym pisałem
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
  


Wiadomości w tym wątku
z pętlą zgubiłem się w czasie - przez maniekdii - 05-12-2019, 09:29
RE: z pętlą zgubiłem się w czasie - przez Jarewa0606 - 06-12-2019, 19:29
RE: z pętlą zgubiłem się w czasie - przez semi - 07-12-2019, 08:55
RE: z pętlą zgubiłem się w czasie - przez elvis - 07-12-2019, 09:12
RE: z pętlą zgubiłem się w czasie - przez semi - 07-12-2019, 09:31
RE: z pętlą zgubiłem się w czasie - przez semi - 07-12-2019, 09:18
RE: z pętlą zgubiłem się w czasie - przez semi - 07-12-2019, 09:44
RE: z pętlą zgubiłem się w czasie - przez semi - 07-12-2019, 10:41
RE: z pętlą zgubiłem się w czasie - przez elvis - 07-12-2019, 11:59
RE: z pętlą zgubiłem się w czasie - przez semi - 07-12-2019, 15:22
RE: z pętlą zgubiłem się w czasie - przez elvis - 07-12-2019, 15:42
RE: z pętlą zgubiłem się w czasie - przez elvis - 07-12-2019, 16:39
RE: z pętlą zgubiłem się w czasie - przez elvis - 08-12-2019, 12:19

Skocz do:


Przeglądający: 2 gości