Skocz do zawartości

Przyciski i pętle czasowe lub wielokrotność pętli


Pomocna odpowiedź

Napisano

witam serdecznie

proszę o pomoc i wsparcie większych umysłów niż mój 😄

 

chciałbym zbudować małe urządzenie

chciałbym żeby były trzy przyciski

1 przycisk włącza pętle na 15 minut

2 przycisk włącza pętle na 30 minut

3 przycisk włącza pętle na 60 minut

 

przyciski mam ogarnięte mniej więcej wiem jak komendę z przycisku zrobić ale chciałbym zrobić pętle albo wielokrotność w komendach

 

mam 4 diody

chciałbym żeby zapalały się jedna po drugiej z odstępem 1 sekunda

świeci pierwsza a druga trzecia i czwarta nie

świeci druga a pierwsza trzecia i czwarta nie

świeci trzecia a pierwsza druga i czwarta nie

świeci czwarta a pierwsza druga i trzecie nie

 

pętla jak wyżej

 

ewentualnie dodatkowo trzy diody jako odliczanie lub naliczanie czasu lub ilości powtórzeń

np nacisnę przycisk numer 1 i włącza mi się miganie diodami jak opisałem 1, 2, 3, 4, 1, 2, 3, 4 itd... więc świecą się trzy dodatkowe diody wraz z rozpoczęciem cyklu po 5 minutach świeca się dwie po 10 świeci się jedna  pod koniec cyklu minutę przed zaczyna migać ostatnia trzecia dioda

naciskam przycisk numer 2 i analogicznie jak w poprzednim cykl idzie tylko że na 30 minut więc diody będą gasły po 10 minutach i pod koniec miganie ostatniej minutę przed końcem cyklu

no i trzeci przycisk jak poprzednie tylko czas jest 60 minut i diody gasną po 20 minutach

 

podsumowując chcę zapalać 4 diody na zmianę i dodatkowo 3 przyciski włączenia cyklu który pokazuje czas cyklu na 3 diodach

 

czy ktoś może mi w tym pomoc, nie ogarniam wszystkiego jeszcze 

 

z góry dziękuje za pomoc i wsparcie nowego użytkownika

 

pozdrawiam

@Mateo2206 witam na forum 🙂

Z czym konkretnie programistyczne masz problem? Pokaż swój dotychczasowy kod i wskaż miejsce, w którym utknąłeś to Cie naprowadzimy na rozwiązanie 😉

(edytowany)
void setup() {

  
  pinMode(0, OUTPUT);   
  pinMode(1, OUTPUT);   
  pinMode(2, OUTPUT);  
  pinMode(3, OUTPUT);   
 
  pinMode(13, INPUT_PULLUP); //PRZYCISK

  digitalWrite(0, HIGH); 
  digitalWrite(1, HIGH); 
  digitalWrite(2, HIGH); 
  digitalWrite(3, HIGH); 
}
 
void loop()
{
  while (digitalRead(13) == HIGH) {}
 
  digitalWrite(0, LOW); 
  digitalWrite(1, HIGH); 
  digitalWrite(2, HIGH);
  digitalWrite(3, HIGH); 
 
  delay(200); //Czekamy 
 
  digitalWrite(0, HIGH); 
  digitalWrite(1, LOW); 
  digitalWrite(2, HIGH); 
  digitalWrite(3, HIGH); 
 
  delay(200); //Czekamy 
 
  digitalWrite(0, HIGH); 
  digitalWrite(1, HIGH); 
  digitalWrite(2, LOW); 
  digitalWrite(3, HIGH); 
 
  delay(200); //Czekamy 
 
  digitalWrite(0, HIGH); 
  digitalWrite(1, HIGH); 
  digitalWrite(2, HIGH); 
  digitalWrite(3, LOW); 
 
  delay(200); //Czekamy

  digitalWrite(0, HIGH); 
  digitalWrite(1, HIGH); 
  digitalWrite(2, HIGH); 
  digitalWrite(3, HIGH); 
 
}

 

Edytowano przez Gieneq
Zachęcam do używania bloku kodu
  • 2 tygodnie później...

Witajcie koledzy, widzę że nie jesteście zbytnio pomocni w moim zapytaniu. Skoro nie macie dla mnie gotowej odpowiedzi na moje pytania, mogliście mnie chociaż nakierować z pętlami i czasowym działaniem pętli, przykro mi że przez 2 tygodnie nie było żadnej odpowiedzi na jedynym największym forum arduino w polsce. 

 

pozdrawiam wszystkich serdecznie, problem postaram się rozwiązać sam

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...