Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Arduino.h>
- #define LED1. 8
- #define LED2 7
- #define button 3
- int licznik = 0, licznik_LED=0; // licznik przyduszeń
- int mila; // różnica czasu pomiędzy klikami
- int czas = 600; // interwał 2 kliku
- unsigned long start_0, start_1; // startery licznika czasu
- void blink()
- {
- if (digitalRead(3)==LOW)
- {
- licznik ++;
- start_1 = millis();
- }
- }
- void setup()
- {
- Serial.begin ( 115200 );
- Serial.print("Sketch: "); Serial.println(__FILE__);
- Serial.print("Uploaded: "); Serial.println(__DATE__);
- Serial.println(" ");
- pinMode(LED1, OUTPUT);
- pinMode(LED2, OUTPUT);
- digitalWrite(LED1,LOW);
- digitalWrite(LED2,LOW);
- pinMode(button, INPUT);
- attachInterrupt(digitalPinToInterrupt(button), blink,FALLING); //1 czyli INT1 pin 3
- }
- void loop()
- {
- // odczyt stanu diody
- bool dioda1 = digitalRead(LED1);
- bool dioda2 = digitalRead(LED2);
- // Rozpoznanie ilości klików.
- if (licznik > 0) // klik
- {
- if (licznik == 1) //zaczynamy odliczanie czasu
- {
- start_0 = start_1;
- licznik_LED= licznik;
- }
- // rejestracja różnicy pomiędzy klikami
- mila = (millis()-start_0);
- if (mila<czas)
- {
- if (licznik == 2)
- {
- licznik_LED= licznik;
- licznik =0;
- }
- }
- else
- {
- licznik = 0;
- }
- }
- if (licznik_LED == 1)
- {
- if (dioda1 == HIGH)
- {
- dioda1 = LOW;
- }
- else
- {
- dioda1= HIGH;
- }
- digitalWrite (LED1, dioda1);
- }
- if (licznik_LED == 2)
- {
- if (dioda2 == HIGH)
- {
- dioda2 = LOW;
- }
- else
- {
- dioda2= HIGH;
- }
- digitalWrite (LED2, dioda2);
- }
- licznik_LED=0;
- Serial.print("Klik:"); Serial.print(licznik_LED);Serial.print(" stan diod D1:D2 "); Serial.print(dioda1);Serial.print(" : "); Serial.println(dioda2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement