• 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
hmm sam nie wiem:) licznik impulsów
#7
delay to zło w czystej postaci Smile poniżej masz kod z założeniami jakie podałeś w terminalu masz 3 liczby
czas oczekiwania na 3 naciśnięcia / ilość naciśnięć / czas pracy przekaźnika po załączeniu

program działa liniowo bez pętli i delay więc nie będzie wpływał na inne funkcje programu

Kod:
long cm;
long pm,pm_1;
long licznik;
byte start;
int stat,start_1;
byte czas_oczekiwania = 5;

void setup() {
  Serial.begin(9600);
pinMode(5, INPUT_PULLUP);
}

void loop() {
  
cm = millis()/1000;

if ( digitalRead(5) == HIGH )stat = 0;

if ( digitalRead(5) == LOW and stat == 0 )
    {start ++;stat = 1;pm = cm;}

if ( start > 0 ){
  if ((cm - pm) == 1){licznik ++;pm = cm;}}

if ( licznik > czas_oczekiwania and digitalRead(13) == 0 )
    {licznik = 0;start = 0;}
      
if ( start >= 3 )
    {digitalWrite(13,HIGH);}

if ( digitalRead(13) == HIGH ){
  licznik = 0;start = 0;
  if ((cm - pm_1) > 0){start_1 ++;pm_1 = cm;}
  if ( start_1 > 30 ){digitalWrite(13,LOW);start_1 = 0;}}

Serial.print(licznik);
Serial.print(" / ");
Serial.print(start);
Serial.print(" / ");
Serial.println(start_1);
}

posprzątałem lekko w kodzie
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
  


Wiadomości w tym wątku
RE: hmm sam nie wiem:) licznik impulsów - przez ANT - 27-12-2017, 23:46
RE: hmm sam nie wiem:) licznik impulsów - przez JasQ - 04-01-2018, 11:55

Skocz do:


Przeglądający: 1 gości