• 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
#5
coś znalazlem w sumie to prawie całość tylko jesli zmieniam czas delay na dłuższy to nie włącza sie dioda

Kod:
const byte btnPin = 4,
         ledPin = 13,
         dbTime = 25; // debounce time
unsigned long timeStart, // debounce timer
            cntStart; //button press timer
const int timeOut = 5000; // 5 seconds
bool btn,
   oldBtn = false, // previous button state
   btnState = true,
   timing = false;
byte cnt = 0; // button press counter

void setup()
{
Serial.begin(9600);
pinMode(btnPin,INPUT_PULLUP);
pinMode(ledPin,OUTPUT);
}
void loop()
{
// first, debounce the button +++++++++++++++
if(digitalRead(btnPin) != btnState)
{
  timeStart = millis();
  btnState ^= 1;
}
if(millis() - timeStart > dbTime)
  btn = !btnState;
// end debounce +++++++++++++++++++++++++++++  
if(btn != oldBtn && btn == true) // if state changed and button is pressed
{
  if(!timing) // if first press, start timer
  {
    cntStart = millis();
    timing = true;
  }
if(++cnt > 2)
  digitalWrite(ledPin,HIGH); // press reset button to clear
delay(20000);
digitalWrite(ledPin, LOW);
Serial.println(cnt);  
}
oldBtn = btn;
if(millis() - cntStart > timeOut)
{
  cnt = 0;
  timing = false;
  cntStart = millis(); // reset counter and timer
}
}
 
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 tooomek89@gmail.com - 31-12-2017, 20:30

Skocz do:


Przeglądający: 1 gości