Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Arduino, lcd 2x16 + klaiwatura 4x4 MENU

Proskiter 27 Jun 2019 17:42 261 1
Optex
  • #1
    Proskiter
    Level 9  
    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)
  • Optex
  • #2
    spider07
    Level 14  
    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.