06-12-2019, 19:29
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
i nie będzie wałkujemy to juz 3 strony ze
memczassk1 zawsze po spełnieniu warunku bedzie zwracac millis()..
dałem mu rozwiązanie
a co on zrobił??
nie wiem co mu to dało..... bo ja o czymś innym pisałem
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ą.