(05-12-2019, 22:55)Jarewa0606 napisał(a): I przerobiłeś po swojemu nie znając się na matematyce. Bo gdybyś wiedział ile to 10-2>1 to byś nie popełnił tego błędu w kodzie....
Mam do Pana jedną mała prośbę. Jeśli chce Pan pomóc to proszę wyjaśnienie i merytoryczna odpowiedź. Jeśli natomiast w każdym poście ma Pan zamiar traktować wszystkich w koło jak idiotów lub nieuków to lepiej nie zabierać tego głosu bo to niestety nie najlepiej świadczy o Pańskiej kulturze. Nie znamy się i i nie przypuszczam byśmy w najbliższym czasie mieli wybrać się gdzieś na wspólne piwo, czego nie wykluczam , ale do tego czasu bardzo bym prosił o powstrzymanie się od tego typu docinków, przynajmniej w stosunku do mojej osoby.Dziękuję bardzo
Z Pańskich uwag i podanych przykładów kodu też niestety nic nie wychodzi. Zmieniony kod na Pańskiej zasadzie kompletnie odbiega od efektu jaki mam w "gołej" sekwencji i obawiam się że nie do końca rozumie Pan o jakim problemie ja piszę.
poniżej troszkę zmodyfikowany kod w którym na monitorze portu widać w jakiej kolejności załączają się przekaźniki.(pojawiają się numery przekaźników)
po dodaniu warunku if(digitalRead(sw)==LOW) na początku pętli zaburza działanie
Kod:
// przypisanie nazw do pinów
#define trigPin 3 // podłączenie czujnika ultradźwiękowego
#define echoPin 2 // podłączenie czujnika ultradźwiękowego
#define ldgr 52 // dioda zielona odtwarzania sekwencji
#define ldrd 53 // dioda czerwona zatrzymania sekwencji
#define fr 11 // wejscie z fotorezystora
#define sw 12 // dodatkowy przycisk wyzwalania
#define k1 22 // przekaźnik 1
#define k2 23 // przekaźnik 2
#define k3 24 // przekaźnik 3
#define k4 25 // przekaźnik 4
#define k5 26 // przekaźnik 5
#define k6 27 // przekaźnik 6
#define k7 28 // przekaźnik 7
#define k8 29 // przekaźnik 8
#define k9 30 // przekaźnik 9
#define k10 31 // przekaźnik 10
#define k11 32 // przekaźnik 11
#define k12 33 // przekaźnik 12
#define k13 34 // przekaźnik 13
#define k14 35 // przekaźnik 14
#define k15 36 // przekaźnik 15
#define k16 37 // przekaźnik 16
// przypisanie stanów do pinów
int l = 1; // licznik zdarzeń
int sk1 = HIGH; // włączone
int sk2 = HIGH; // włączone
int sk3 = HIGH; // włączone
int sk4 = HIGH; // włączone
int sk5 = HIGH; // włączone
int sk6 = HIGH; // włączone
int sk7 = HIGH; // włączone
int sk8 = HIGH; // włączone
int sk9 = HIGH; // włączone
int sk10 = HIGH; // włączone
int sk11 = HIGH; // włączone
int sk12 = HIGH; // włączone
int sk13 = HIGH; // włączone
int sk14 = HIGH; // włączone
int sk15 = HIGH; // włączone
int sk16 = HIGH; // włączone
int sk = HIGH;
void setup() {
Serial.begin(9600);
pinMode(k1, OUTPUT);
pinMode(k2, OUTPUT);
pinMode(k3, OUTPUT);
pinMode(k4, OUTPUT);
pinMode(k5, OUTPUT);
pinMode(k6, OUTPUT);
pinMode(k7, OUTPUT);
pinMode(k8, OUTPUT);
pinMode(k9, OUTPUT);
pinMode(k10, OUTPUT);
pinMode(k11, OUTPUT);
pinMode(k12, OUTPUT);
pinMode(k13, OUTPUT);
pinMode(k14, OUTPUT);
pinMode(k15, OUTPUT);
pinMode(k16, OUTPUT);
pinMode (sw, INPUT_PULLUP);
}
int czastrwania = 15; // przypisanie wartości do czasu trwania sekwencji
int tempo = 1000; // określenie tempa załączania
// przypisanie wartośki częstotliwości załąćzania
unsigned long migk1 = tempo;
unsigned long migk2 = tempo;
unsigned long migk3 = tempo;
unsigned long migk4 = tempo;
unsigned long migk5 = tempo;
unsigned long migk6 = tempo;
unsigned long migk7 = tempo;
unsigned long migk8 = tempo;
unsigned long migk9 = tempo;
unsigned long migk10 = tempo;
unsigned long migk11 = tempo;
unsigned long migk12 = tempo;
unsigned long migk13 = tempo;
unsigned long migk14 = tempo;
unsigned long migk15 = tempo;
unsigned long migk16 = tempo;
// przypisanie wartości przesunięcia w czasie załączenia
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;
unsigned long czasstart=0;
unsigned long aczas = 0;
void loop() {
{aczas=millis();
if (aczas - memczask1 >= migk1) { //załączanie przekaźnika 1
memczask1 = aczas;
sk1 = !sk1;
digitalWrite(k1, sk1);Serial.print(" 1,");
}
if (aczas - memczask2 >= migk2) { //załączanie przekaźnika 2
memczask2 = aczas;
sk2 = !sk2;
digitalWrite(k2, sk2);Serial.print(" 2,");
}
if (aczas - memczask3>= migk3) { //załączanie przekaźnika 3
memczask3 = aczas;
sk3 = !sk3;
digitalWrite(k3, sk3);Serial.print(" 3,");
} if (aczas - memczask4 >= migk4) { //załączanie przekaźnika 4
memczask4 = aczas;
sk4 = !sk4;
digitalWrite(k4, sk4);Serial.print(" 4,");
} if (aczas - memczask5 >= migk5) { //załączanie przekaźnika 5
memczask5 = aczas;
sk5 = !sk5;
digitalWrite(k5, sk5);Serial.print(" 5,");
} if (aczas - memczask6 >= migk6) { //załączanie przekaźnika 6
memczask6 = aczas;
sk6 = !sk6;
digitalWrite(k6, sk6);Serial.print(" 6,");
} if (aczas - memczask7 >= migk7) { //załączanie przekaźnika 7
memczask7 = aczas;
sk7 = !sk7;
digitalWrite(k7, sk7);Serial.print(" 7,");
} if (aczas - memczask8 >= migk8) { //załączanie przekaźnika 8
memczask8 = aczas;
sk8 = !sk8;
digitalWrite(k8, sk8);Serial.print(" 8,");
} if (aczas - memczask9 >= migk9) { //załączanie przekaźnika 9
memczask9 = aczas;
sk9 = !sk9;
digitalWrite(k9, sk9);Serial.print(" 9,");
} if (aczas - memczask10 >= migk10) { //załączanie przekaźnika 10
memczask10 = aczas;
sk10 = !sk10;
digitalWrite(k10, sk10);Serial.print(" 10,");
} if (aczas - memczask11 >= migk11) { //załączanie przekaźnika 11
memczask11 = aczas;
sk11 = !sk11;
digitalWrite(k11, sk11);Serial.print(" 11,");
} if (aczas - memczask12 >= migk12) { //załączanie przekaźnika 12
memczask12 = aczas;
sk12 = !sk12;
digitalWrite(k12, sk12);Serial.print(" 12,");
} if (aczas - memczask13 >= migk13) { //załączanie przekaźnika 13
memczask13 = aczas;
sk13 = !sk13;
digitalWrite(k13, sk13);Serial.print(" 13,");
} if (aczas - memczask14 >= migk14) { //załączanie przekaźnika 14
memczask14 = aczas;
sk14 = !sk14;
digitalWrite(k14, sk14);Serial.print(" 14,");
} if (aczas - memczask15 >= migk15) { //załączanie przekaźnika 15
memczask15 = aczas;
sk15 = !sk15;
digitalWrite(k15, sk15);Serial.print(" 15,");
} if (aczas - memczask16 >= migk16) { //załączanie przekaźnika 16
memczask16 = aczas;
sk16 = !sk16;
digitalWrite(k16, sk16);Serial.print(" 16,");
}
}
}