• 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
Dozownik cieczy
#7
(28-02-2017, 08:25)Smaczek napisał(a): Witam,
Dwie rzeczy:
- w pętli loop musisz zapisywać do zmiennej val wartość, gdyż w powyższym kodzie wartość masz przypisywaną jedynie  w linijce jej deklaracji,
- jeśli val jest typu unsigned long to wartości podawane za case muszą być bez apostrofów.
Pozdrawiam.

Tymczasowo wyrzuciłem komendy odpowiedzialne za obsługę silników tylko żeby było to szybsze do odczytania:

Kod:
unsigned long previousMillis = 0;
int odczyt;


void setup()
{  
  Serial.begin(9600);
}


void loop(){
 
unsigned long val = (millis() - previousMillis);

if(Serial.available() > 0){     
     odczyt = Serial.read();}

if (odczyt == 'z') {   

  switch (val) {
    
    case 1000:
      Serial.println("CASE1");
      break;
   
    case 10000:
      Serial.println("CASE2");
      break;

    case 20000:
      Serial.println("CASE3");
      break;

    case 30000:
      Serial.println("CASE4");
      break;

    case 40000:
      Serial.println("CASE5");
      break;
    case 50000:
      Serial.println("CASE6");
      break;

    }
  }
}

Oczywiście ten kod się kompiluje i nawet coś działa, ale chyba nie do końca zgodnie z moim zamiarem, bo po wysłaniu 'z' do arduino, po 4 sekundach 10 razy wyświetla się 'CASE2', po 14 sekundach 10 razy 'CASE3' i tak dalej w odstępach 10 sekundowych kolejne, oprócz 'CASE1'.
Ale gdy na końcu pętli loop dodam delay(500); to po 20 sekundach wyświetla się 'CASE4', po kolejnych 10 sekundach 'CASE5' i po kolejnych 10 'CASE6' tym razem pojedynczo. To już lepiej, ale brakuje początku (CASE1, 2 i 3). Nie bardzo rozumiem dlaczego tak to działa?
 
Odpowiedź
  


Wiadomości w tym wątku
Dozownik cieczy - przez tanderer - 23-02-2017, 14:43
RE: Dozownik cieczy - przez namok - 23-02-2017, 15:31
RE: Dozownik cieczy - przez tanderer - 27-02-2017, 22:18
RE: Dozownik cieczy - przez namok - 27-02-2017, 23:59
RE: Dozownik cieczy - przez tanderer - 28-02-2017, 00:41
RE: Dozownik cieczy - przez Smaczek - 28-02-2017, 08:25
RE: Dozownik cieczy - przez tanderer - 28-02-2017, 20:11
RE: Dozownik cieczy - przez namok - 28-02-2017, 20:38

Skocz do:


Przeglądający: 1 gości