Guest User

Untitled

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