logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zrobić przewijane menu z kursorami na LCD 2x16 z klawiaturą 4x4?

Proskiter 27 Cze 2019 17:42 399 1
REKLAMA
  • #1 18033011
    Proskiter
    Poziom 10  
    Witam
    Chciałem zrobić na wyświetlaczu LCD 2x16 z klawiaturą membranową 4x4 przewijane menu w górę i w dół to znaczy:
    1. opcja A
    2. opcja B
    3. opcja C
    4. opcja D
    5. opcja E
    6. opcja F
    No i jak wiadomo na wyświetlaczu 2x16 będzie wyświetlone tylko
    1. opcja A
    2. opcja B
    i chciałem zrobić tak że po wciśnięciu danego przycisku na klawiaturze z ułożeniem klawiszy:
    [{1}{2}{3}{A}]
    [{4}{5}{6}{B}]
    [{7}{8}{9}{C}]
    [{*}{0}{#}{D}]
    np. po wciśnięciu klawisza A opcje przewijają mi się do góry, a po wciśnięciu klawisza D opcje przewijają mi się w dół czyli:
    1.
    2.
    //po wciśnięciu "D":
    2.
    3.
    //po wciśnięciu "D":
    3.
    4.
    //po wciśnięciu "A":
    2.
    3.
    i tak dalej.
    W następnym kroku chciałbym dodać kursor (">") wyświetlany przed cyfrą tzn.:
    >1.
    2.
    I w ostatnim kroku chciałbym aby po wejściu w daną opcje np. przyciskiem "#" otworzyło się podmenu tej opcji.
    Dla przykładu chciałbym takie menu jak w manipulatorach firmy Satel, jednak z innymi opcjami.

    No i moje pytanie jako że obsługa wyświetlaczy lcd jest mi kompletnie obca a wszystkie biblioteki są mi mało intuicyjne:
    Czy ktoś by mi pomógł z napisaniem kodu realizującym takie zadania? Nie chodzi mi już o cały kod tylko o np żeby było można się w ten sposób poruszać między 3 opcjami a ja przeanalizuję ten kod i analogicznie stworze sobie kolejne. Też chcę się czegoś nauczyć i przeszukałem już cały internet i nie mogę sobie z tym poradzić. Proszę pomoże ktoś?
    (Wyświetlacz 2x16 bez konwertera IC2)
  • REKLAMA
  • #2 18039523
    spider07
    Poziom 15  
    Samo wyświetlanie nie jest problemem. Po prostu piszesz warunek, w którym wciśnięcie przycisku czyści ekran(lcd.clear();), a następnie ustawiasz kursor na lini pierwszej (lcd.setCursor(0,0);) i poleceniem lcd.print podajesz zmienną, którą ma wyświetlić w pierwszej linii. Następnie ustawiasz kursor w drugiej lini (lcd.setCursor(0,1)) i wpsujesz co ma wyświetlić w drugiej linii.
    Zajrzyj tu: https://forbot.pl/blog/kurs-arduino-wyswietlacz-tekstowy-lcd-id4263

    Ale sądzę, że nie chodzi Ci o samo wyświetlanie, ale o zbudowanie menu. W takiej sytuacji samo wyświetlanie aktualnie edytowanej zmiennej jest najmniejszym problemem.
REKLAMA