Skocz do zawartości

Przelaczanie guzikiem menu z przypisaniem wartosci do zmiennych


Pomocna odpowiedź

Napisano

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. 

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ć?

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.

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?

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.

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.

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.

(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_
(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
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

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