Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Stałe z numerami pinów
- #define wyjscie 12
- #define przycisk1 6
- #define przycisk2 7
- #define czas 3000
- #define przerwa 250
- //Zmienna na zliczanie "czasu" kliknięcia guzików
- int licznik1 = 0;
- int licznik2 = 0;
- //Funkcja ustawiająca, która konfiguruje ustawienia pinów
- void setup() {
- pinMode(wyjscie, OUTPUT);
- pinMode(przycisk1, INPUT);
- pinMode(przycisk2, INPUT);
- }
- //Pętla główna programu
- void loop() {
- //Sprawdzanie przyciśniętego przycisku 1 lub 2 i zliczanie czasu
- //Dodatkowo zeruję drugi licznik żeby nie wystąpił przypadek, że odpalą się oba tryby
- if(digitalRead(przycisk1) == HIGH) {
- licznik1 += przerwa;
- } else if(digitalRead(przycisk2) == HIGH) {
- licznik2 += przerwa;
- } else {
- licznik1=0;
- licznik2=0;
- }
- //Jeżeli 1 przycisk będzie przytrzymany ustalony czas
- if(licznik1 > czas) {
- //Wykonaj zadaną sekwencję podnieś, opuść, podnieś...
- digitalWrite(wyjscie, HIGH);
- delay(5000);
- digitalWrite(wyjscie, LOW);
- delay(1000);
- digitalWrite(wyjscie, HIGH);
- delay(5000);
- digitalWrite(wyjscie, LOW);
- delay(1000);
- digitalWrite(wyjscie, HIGH);
- delay(5000);
- digitalWrite(wyjscie, LOW);
- licznik1=0;
- licznik2=0;
- }
- //To samo z przyciskiem 2
- if (licznik2 > czas){
- digitalWrite(wyjscie, HIGH);
- delay(2000);
- digitalWrite(wyjscie, LOW);
- licznik2==0;
- licznik1==0;
- }
- else{
- digitalWrite(wyjscie, LOW);}
- //Na samym końcu opuść zasilanie na pinie
- delay(250);
- }
Advertisement
Add Comment
Please, Sign In to add comment