Kezdőoldal » Számítástechnika » Programozás » Hol találhatok egyszerű...

Hol találhatok egyszerű Arduino-ra lcd menüt? Az alapokkal kicsit gondba vagyok.

Figyelt kérdés

Egy projektemen dolgozom, de már lassan két hónapja egy helyben totyorgok, mivel egy menüt próbálok átírni. És nem igazán értem, hogy hogy tudom neki megadni, hogy ha lefelét nyomok, akkor az első menüben menjen lefele, ha pedig a másik menüben vagyok és ott nyomom a lefelét, akkor ott menjen lefele és ne lépjen vissza az elsőbe.

Válaszokat, tanácsokat előre is köszönöm!


Programkódom itt van:



#include <Wire.h>

#include <LiquidCrystal.h>


LiquidCrystal lcd(A0, A1, A2, A3, A4, A5); //LCD kijelző pinjei


int upButton = 48; //Fel nyomógomb

int downButton = 44; //Le nyomógomb

int selectButton = 30; //Select nyomógomb

int backButton = 37; //Vissza nyomógomb

int menu = 1;



void setup() {

lcd.begin(16, 2);

pinMode(upButton, INPUT_PULLUP);

pinMode(downButton, INPUT_PULLUP);

pinMode(selectButton, INPUT_PULLUP);


}


void loop() //meghívó rész Összes if szerkezet ide kell!

{


if (!digitalRead(downButton)){ //ha megnyomom a Le gombot

menu++; //hozzáad egyet

Menu1(); //első menüben

delay(100); //vár 100ms-ot

}


if (!digitalRead(downButton)){ //ha megnyomom a Le gombot

menu++; //hozzáad egyet

Menu2(); //második menüben

delay(100); //vár 100ms-ot

}


if (!digitalRead(downButton)){ //ha megnyomom a Le gombot

menu++; //hozzáad egyet

Menu3(); //harmadik menüben

delay(100); //vár 100ms-ot

}



if (!digitalRead(upButton)){ //ha megnyomom a Fel gombot

menu--; //kivon egyet

Menu1(); //első menüből

delay(100); //vár 100ms-ot

}



if (!digitalRead(upButton)){ //ha megnyomom a Fel gombot

menu--; //kivon egyet

Menu2(); //második menüből

delay(100); //vár 100ms-ot

}


if (!digitalRead(upButton)){ //ha megnyomom a Fel gombot

menu--; //kivon egyet

Menu3(); //harmadik menüből

delay(100); //vár 100ms-ot

}


if (!digitalRead(selectButton)){ //ha megnyomom az Select gombot

Menu1(); //első menüből átlép

Menu2(); //a második menübe

delay(500); //vár 500ms-ot

}


if (!digitalRead(selectButton)){ //ha megnyomom az Select gombot

Menu2(); //második menüből átlép

Menu3(); //a második menübe

delay(500); //vár 500ms-ot

}


} //void loop rész lezárása


void Menu1() { //Első menü -> kijelző képek

switch (menu) {

case 0:

menu = 1; //alap érték = 1

break;

case 1:

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(">MenuItem1");

lcd.setCursor(0, 1);

lcd.print(" MenuItem2");

break;

case 2:

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" MenuItem1");

lcd.setCursor(0, 1);

lcd.print(">MenuItem2");

break;

case 3:

lcd.clear();

lcd.print(">MenuItem3");

lcd.setCursor(0, 1);

lcd.print(" MenuItem4");

break;

case 4:

lcd.clear();

lcd.print(" MenuItem3");

lcd.setCursor(0, 1);

lcd.print(">MenuItem4");

break;

case 5:

menu = 4;

break;

}

}


void Menu2() { //Második menü -> kijelző képek


switch (menu) {

case 0:

menu = ;

break;

case 1:

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(">Terminus #1");

lcd.setCursor(0, 1);

lcd.print(" Terminus #2");

break;

case 2:

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Terminus #1");

lcd.setCursor(0, 1);

lcd.print(">Terminus #2");

break;

case 3:

lcd.clear();

lcd.print(">Terminus #3");

lcd.setCursor(0, 1);

lcd.print(" Terminus #4");

break;

case 4:

lcd.clear();

lcd.print(" Terminus #3");

lcd.setCursor(0, 1);

lcd.print(">Terminus #4");

break;

case 5:

menu = 4;

break;

}

}


void Menu3() { //Harmadik menü -> kijelző képek

switch (menu) {

case 0:

menu = ;

break;

case 1:

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(">Station #1");

lcd.setCursor(0, 1);

lcd.print(" Station #2");

break;

case 2:

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Station #1");

lcd.setCursor(0, 1);

lcd.print(">Station #2");

break;

case 3:

lcd.clear();

lcd.print(">Station #3");

lcd.setCursor(0, 1);

lcd.print(" Station #4");

break;

case 4:

lcd.clear();

lcd.print(" Station #3");

lcd.setCursor(0, 1);

lcd.print(">Station #4");

break;

case 5:

menu = 4;

break;

}

}



2019. jan. 27. 16:17
 1/1 anonim ***** válasza:
Facebookon arduino csoportba írd be a kérdést, ott kapsz segítséget!
2019. jan. 29. 07:47
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!