Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2018
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. //Stałe z numerami pinów
  2. #define wyjscie NR_PINU;
  3. #define przycisk1 NR_PINU;
  4. #define przycisk2 NR_PINU;
  5.  
  6. //Stałe w milisekundach
  7. #define czas 3000;      //Czas do aktywacji
  8. #define przerwa 250;    //Czas jednego sprawdzenia, żeby program nie mielił w kółko miliony razy na sekundę
  9.  
  10. //Zmienna na zliczanie "czasu" kliknięcia guzików
  11. int licznik1 = 0;
  12. int licznik2 = 0;
  13.  
  14. //Funkcja ustawiająca, która konfiguruje ustawienia pinów
  15. void setup() {
  16.   pinMode(wyjscie, OUTPUT);
  17.   pinMode(przycisk1, INPUT);
  18.   pinMode(przycisk2, INPUT);
  19. }
  20.  
  21. //Pętla główna programu
  22. void loop() {
  23.   //Sprawdzanie przyciśniętego przycisku 1 lub 2 i zliczanie czasu
  24.   //Dodatkowo zeruję drugi licznik żeby nie wystąpił przypadek, że odpalą się oba tryby
  25.   if(digitalRead(przycisk1) == HIGH) {
  26.     licznik1 += przerwa;
  27.     licznik2 = 0;
  28.   } else if(digitalRead(przycisk2) == HIGH) {
  29.     licznik2 += przerwa;
  30.     licznik1 = 0;
  31.   }
  32.  
  33.   //Jeżeli 1 przycisk będzie przytrzymany ustalony czas
  34.   if(licznik1 >= czas) {
  35.     //Wykonaj zadaną sekwencję podnieś, opuść, podnieś...
  36.     digitalWrite(wyjscie, HIGH);
  37.     delay(45000);
  38.     digitalWrite(wyjscie, LOW);
  39.     delay(10000);
  40.     digitalWrite(wyjscie, HIGH);
  41.     delay(45000);
  42.     digitalWrite(wyjscie, LOW);
  43.     delay(10000);
  44.     digitalWrite(wyjscie, HIGH);
  45.     delay(45000);
  46.   }
  47.   //To samo z przyciskiem 2
  48.   else if(licznik2 >= 3000) {
  49.     digitalWrite(wyjscie, HIGH);
  50.     delay(45000);
  51.   }
  52.   //Na samym końcu opuść zasilanie na pinie
  53.   digitalWrite(wyjscie, LOW);
  54.  
  55.   delay(przerwa);
  56. }
  57.  
  58. //Kod z palca pisany, nie daję żadnej gwarancji
  59. //Pozdrawiam gorąco: M. Kucharskov (https://kucharskov.pl)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement