• 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
#15
Podparłem program "guzikiem".
Trzeba dorobić jego użycie. Pewnie będzie się to rozjeżdżać, ale spróbuj ja nie mam jak przetestować na tą chwilę.
Jakbyś opisał co chcesz osiągnąć to łatwiej było by Ci coś podpowiedzieć.



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;
byte guzik = HIGH; //Taka zmienna która wyzwaka sekwencję świecenia




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 ;
unsigned long memczask2 ;
unsigned long memczask3 ;
unsigned long memczask4 ;
unsigned long memczask5 ;
unsigned long memczask6 ;
unsigned long memczask7 ;
unsigned long memczask8 ;
unsigned long memczask9 ;
unsigned long memczask10 ;
unsigned long memczask11 ;
unsigned long memczask12 ;
unsigned long memczask13 ;
unsigned long memczask14 ;
unsigned long memczask15 ;
unsigned long memczask16 ;
unsigned long czasstart=0;
unsigned long aczas = 0;
unsigned long StartCzas ;
byte stat = 0;

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);
}




void loop()
{
  if (guzik == HIGH )
  {
    stat = 0;
    // tu trzeba dopisać sekwencję stop
  }
  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;
  }
 
  if (guzik == LOW && stat == 1){
      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,");
    }
  }

}
 
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 Agregacik - 06-12-2019, 14:02
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: 1 gości