Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Stałe z numerami pinów
- #define wyjscie NR_PINU;
- #define przycisk1 NR_PINU;
- #define przycisk2 NR_PINU;
- //Stałe w milisekundach
- #define czas 3000; //Czas do aktywacji
- #define przerwa 250; //Czas jednego sprawdzenia, żeby program nie mielił w kółko miliony razy na sekundę
- //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;
- licznik2 = 0;
- } else if(digitalRead(przycisk2) == HIGH) {
- licznik2 += przerwa;
- licznik1 = 0;
- }
- //Jeżeli 1 przycisk będzie przytrzymany ustalony czas
- if(licznik1 >= czas) {
- //Wykonaj zadaną sekwencję podnieś, opuść, podnieś...
- digitalWrite(wyjscie, HIGH);
- delay(45000);
- digitalWrite(wyjscie, LOW);
- delay(10000);
- digitalWrite(wyjscie, HIGH);
- delay(45000);
- digitalWrite(wyjscie, LOW);
- delay(10000);
- digitalWrite(wyjscie, HIGH);
- delay(45000);
- }
- //To samo z przyciskiem 2
- else if(licznik2 >= 3000) {
- digitalWrite(wyjscie, HIGH);
- delay(45000);
- }
- //Na samym końcu opuść zasilanie na pinie
- digitalWrite(wyjscie, LOW);
- delay(przerwa);
- }
- //Kod z palca pisany, nie daję żadnej gwarancji
- //Pozdrawiam gorąco: M. Kucharskov (https://kucharskov.pl)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement