Skocz do zawartości

Przelaczanie guzikiem menu z przypisaniem wartosci do zmiennych


lukas616

Pomocna odpowiedź

Witam
Jestem poczatkujacy jezeli chodzi o programowanie w arduino dlatego prosze o wyrozumialosc. Tworze komputer pokladowy ktory bedzie pokazywal biezace parametry silnika. Przelaczam ekrany lcd za pomoca funkcji switch case. Na pierwszym ekranie chce aby wyswietlalo sie spalanie chwilowe i calkowite i tak mam napisane w programie a chce aby po kliknieciu guzika przejsc do nowego ekranu i tam abym mogl wybrac np. Talerzowka, kosiarka z przypisanymi liczbami do tych slow i innym guzikiem zatwierdzic wybor a nastepnie cofnelo mnie z powrotem do pierwszego ekranu i w tym momencie aby sie wyswietlilo spalanie robocze w l/ha. Czy ktos ma pomysl jak ugryzc temat. Z gory dziekuje za pomoc. 

Link do komentarza
Share on other sites

19 godzin temu, lukas616 napisał:

Przelaczam ekrany lcd za pomoca funkcji switch case. Na pierwszym ekranie chce aby wyswietlalo sie spalanie chwilowe i calkowite i tak mam napisane w programie a chce aby po kliknieciu guzika przejsc do nowego ekranu i tam abym mogl wybrac np. Talerzowka, kosiarka z przypisanymi liczbami do tych slow i innym guzikiem zatwierdzic wybor a nastepnie cofnelo mnie z powrotem do pierwszego ekranu i w tym momencie aby sie wyswietlilo spalanie robocze w l/ha.

Zbyt jasno to zadania nie opisałeś. Ja rozumiem je tak:

1. Program pokazuje w pętli ekran #1

2. Gdy nacisnę guzik "zmień ekran" wyświetla się ekran #2

3. Ekran #2 pokazuje się w pętli do czasu wprowadzenia niezbędnych danych i naciśnięciu guzika "zatwierdź"

4. Po naciśnięciu guzika "zatwierdź" program wraca do punktu 1.

Czy tak to ma działać?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

2 minuty temu, Sylba napisał:

Zbyt jasno to zadania nie opisałeś. Ja rozumiem je tak:

1. Program pokazuje w pętli ekran #1

2. Gdy nacisnę guzik "zmień ekran" wyświetla się ekran #2

3. Ekran #2 pokazuje się w pętli do czasu wprowadzenia niezbędnych danych i naciśnięciu guzika "zatwierdź"

4. Po naciśnięciu guzika "zatwierdź" program wraca do punktu 1.

Czy tak to ma działać?

Tak zgadza się tak ma działać i  w drugim ekranie chcę poruszać się po przypisanych zmiennych które zwrócą wartość do ekranu 1.

Link do komentarza
Share on other sites

1 minutę temu, lukas616 napisał:

w drugim ekranie chcę poruszać się po przypisanych zmiennych które zwrócą wartość do ekranu 1.

Czy wartości zmiennych będziesz wprowadzał z klawiatury, czy tylko wybierał z listy predefiniowanej?

Link do komentarza
Share on other sites

Chcę zrobić stały wybór zmiennych czyli np guzikiem wybieram spośród 5 opcji do których są przypisane wartości np. talerzówka = 2, kosiarka = 3 i chcę aby te wartości były zwracane do ekranu 1 aby wykonac mnożenie.

Link do komentarza
Share on other sites

Tak na szybko można to zrobić tak:

1. Wprowadzam zmienną nr ekranu która ma wartość początkową np. 0;

2. Wyświetlam ekran nr 1 dopóki zmienna nrEkranu =0;

3. Sprawdzam czy wciśnięty jest przycisk "zmień ekran". Jeśli tak, to zmieniam wartość zmiennej nr ekranu np.  nrEkranu= 1; 

4. Wyświetlam w pętli ekran 2 dopóki zmienna nrEkranu ma wartość 1;

5. Stosuję drugi przycisk do wyboru elementów predefiniowanej listy. Każde naciśnięcie przycisku przesuwa wybór do kolejnego elementu. 

6. Wybraną opcję zatwierdzam naciskając przycisk nrEkranu;

7. Na wartościach zmiennych wybranej opcji przeprowadzam obliczenia;

8. Zmieniam wartość zmiennej nrEkranu = 0;

9. Wyświetlam ekran nr 1 (początkowy z nowymi wartościami);

10. Procedura wraca do pkt. 1 i czeka na kolejne naciśnięcie przycisku zmiany ekranu.

Link do komentarza
Share on other sites

17 minut temu, Sylba napisał:

Tak na szybko można to zrobić tak:

1. Wprowadzam zmienną nr ekranu która ma wartość początkową np. 0;

2. Wyświetlam ekran nr 1 dopóki zmienna nrEkranu =0;

3. Sprawdzam czy wciśnięty jest przycisk "zmień ekran". Jeśli tak, to zmieniam wartość zmiennej nr ekranu np.  nrEkranu= 1; 

4. Wyświetlam w pętli ekran 2 dopóki zmienna nrEkranu ma wartość 1;

5. Stosuję drugi przycisk do wyboru elementów predefiniowanej listy. Każde naciśnięcie przycisku przesuwa wybór do kolejnego elementu. 

6. Wybraną opcję zatwierdzam naciskając przycisk nrEkranu;

7. Na wartościach zmiennych wybranej opcji przeprowadzam obliczenia;

8. Zmieniam wartość zmiennej nrEkranu = 0;

9. Wyświetlam ekran nr 1 (początkowy z nowymi wartościami);

10. Procedura wraca do pkt. 1 i czeka na kolejne naciśnięcie przycisku zmiany ekranu.

Zrobiłem do  punktu 5 ale dalej jestem w martwym punkcie. Nie wiem jak przypisać do ,,słów'' wyświetlanych na ekranie wartości i jak zrobić zatwierdzenie ich.

Link do komentarza
Share on other sites

(edytowany)

Ja bym zrobił strukturę, później tablicę struktur z opisem każdej pozycji menu wraz ze wskaźnikami na poszczególne wartości. Kurde może jednak czas reaktywować workloga uniwersalnego menu 🤔

Może później jak uda się jeszcze uruchomić kompa to pokażę prototyp takiej struktury. Tym czasem zalecam poszukać książki Tomasza francuza o programowaniu mikrokontrolerów avr

Edytowano przez _LM_
Link do komentarza
Share on other sites

(edytowany)
1 godzinę temu, _LM_ napisał:

Ja bym zrobił strukturę, później tablicę struktur z opisem każdej pozycji menu wraz ze wskaźnikami na poszczególne wartości. 

Cześć, nie wiem na ile kolega który robi menu jest początkujący, ale po pytaniu sądzę, że bardzo początkujący. Może sobie nie poradzić z tablicą struktur i wskaźnikami.

1 godzinę temu, lukas616 napisał:

Nie wiem jak przypisać do ,,słów'' wyświetlanych na ekranie wartości i jak zrobić zatwierdzenie ich.

@lukas616 jaki to wyświetlacz?

Jeśli to np zwykły LCD 16x2 albo 20x4 to dla każdej pozycji w menu musisz mieć osobny ekran rozpisany.

Np

pod-ekrany dla np talerzówki:

01_talez_opcja1

01_talez_opcja2

01_talez_opcja3
  

wygląd ekran 01_talez_opcja1:

1    >>
2

3

wygląd ekran 01_talez_opcja2:

1

2   >>

3

wygląd ekran 01_talez_opcja3:
 

1

2

3   >>

kiedy np  jesteś w ekranie 01_talez_2 i klikniesz swój przycisk zatwierdzający „ok” czy tam „enter”, zwał jak zwał, to wtedy do swojej zmiennej przypisujesz wartość 2

talezowka=2; 

itd 

itp

 

Edytowano przez SOYER
Link do komentarza
Share on other sites

24 minuty temu, SOYER napisał:

Cześć, nie wiem na ile kolega który robi menu jest początkujący, ale po pytaniu sądzę, że bardzo początkujący. Może sobie nie poradzić z tablicą struktur i wskaźnikami.

@lukas616 jaki to wyświetlacz?

Jeśli to np zwykły LCD 16x2 albo 20x4 to dla każdej pozycji w menu musisz mieć osobny ekran rozpisany.

Np

pod-ekrany dla np talerzówki:

01_talez_opcja1

01_talez_opcja2

01_talez_opcja3
  

wygląd ekran 01_talez_opcja1:

1    >>
2

3

wygląd ekran 01_talez_opcja2:

1

2   >>

3

wygląd ekran 01_talez_opcja3:
 

1

2

3   >>

kiedy np  jesteś w ekranie 01_talez_2 i klikniesz swój przycisk zatwierdzający „ok” czy tam „enter”, zwał jak zwał, to wtedy do swojej zmiennej przypisujesz wartość 2

talezowka=2; 

itd 

itp

 

No dobra kumam. Pytanie czy te ekrany mam zrobic w funkcji switch case? 

  • Lubię! 1
Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.