Hirdetés

Keresés

Új hozzászólás Aktív témák

  • balintarduin

    újonc

    Sziasztok!

    Nekem egy olyan kérdésem lenne, milyen megoldással tudok olyan programot készíteni, aminek annyi a lényeg, hogy egy adott idő pl 04:55 ig számoljon vissza az aktuális pontos időtől.
    DS3231 Real Time modult használok. Egyáltalán hogy tudok visszaszámlálást csinálni.

    Előre is köszönöm a segítséget!

  • balintarduin

    újonc

    Sziasztok! Tapasztalt programozót keresek, menü készítési feladat miatt, én nem tudom megcsinálni, de sürgős lenne! Annyira, hogy kifizetem, ha megírja azt a programot amit szeretnék, az alapokat biztosítani tudom!

  • balintarduin

    újonc

    Sziasztok!
    Korábban már a menürendszert sikerült elkészítenem, változókkal és amelyekben tömbökben tárolom a kiírt adatot. Most tovább lépni szeretnék, és egy olyan kérdésem lenne, hogy hogyan tudom megcsinálni azt, hogy beírok egy idézőjelbe előre beírt számot, pl,43 és ezt kiírja a kijelzőre, ahogy begépelem a 4x3-as membrános billentyűzeten és utána az ehhez a számhoz tartozó parancsot végrehajtja. Amennyiben nem írtam be ezt, vagy jót, akkor nem történik semmi.
    És valahogy úgy gondoltam, hogy tömbökbe teszem az összes számot amire szeretnék cselekvést, és egy ifekbe beírkálom a számát, hogy ha ezt adom be neki, akkor az ahhoz tartozó függvényt, parancsot, (pl kapcsoljon be egy ledet) fusson le.

    Előre is köszönöm a segítséget!

  • balintarduin

    újonc

    válasz tibi-d #10308 üzenetére

    Rendben, köszönöm a segítséget! Még fel merült bennem, hogy hogyan tudok olyan if szerkezetet csinálni, hogy ha a 4x3 membrános billentyűzeten beírok egy számot, pl. 51 akkor ehhez a számhoz elolvassa az adott feladatot, pl, hogy megnyissa a menüt. Ezt egy egyszerű váltózóval meg lehet oldani? Ráadásul nekem nem csak egy szám kellene, hanem elég sok (buszjárat számok), pl, az 45-ös számot beírom akkor annak a menüjét hozza be. Vagy ha az 53-as akkor az ugyan ilyen számmal jelzett menüt hozta be.

  • balintarduin

    újonc

    válasz Teasüti #10306 üzenetére

    Bizony, egyszerre csak egy van. Hol a Menu1 és azon belül tudok fel-alá menni, a nyilakkal, hol pedig a Menu2.

  • balintarduin

    újonc

    válasz Teasüti #10304 üzenetére

    Itt van menümnek a kódja. Azt csinálja, hogy a kijelzőn a fel le gomb hatására 1-et hozzáad és így le megy a ">" jel a kijelzőn.

    #include <Wire.h>
    #include <LiquidCrystal.h>

    LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);

    int upButton = 48;
    int downButton = 44;
    int selectButton = 28;
    int menu = 1;

    void setup() {

    pinMode(upButton, INPUT_PULLUP);
    pinMode(downButton, INPUT_PULLUP);
    pinMode(selectButton, INPUT_PULLUP);
    Menu1();
    }

    void loop() {
    //első menü fügvényei
    if (!digitalRead(downButton)){
    menu++;
    Menu1();
    delay(100);
    while (!digitalRead(downButton));
    }
    if (!digitalRead(upButton)){
    menu--;
    Menu1();
    delay(100);
    while(!digitalRead(upButton));
    }
    if (!digitalRead(selectButton)){
    Menu2();
    Menu1();
    delay(100);
    while (!digitalRead(selectButton));
    }


    // második menü függvényei
    if (!digitalRead(downButton)){
    menu++;
    Menu2();
    delay(100);
    while (!digitalRead(downButton));
    }
    if (!digitalRead(upButton)){
    menu--;
    Menu2();
    delay(100);
    while(!digitalRead(upButton));
    }
    if (!digitalRead(selectButton)){
    Menu3();
    Menu2();
    delay(100);
    while (!digitalRead(selectButton));
    }

    }

    void Menu1() {
    switch (menu) {
    case 0:
    menu = 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() {
    switch (menu) {
    case 0:
    menu = 1;
    break;
    case 1:
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(">Staticmenu1");
    lcd.setCursor(0, 1);
    lcd.print(" Staticmenu2");
    break;
    case 2:
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(" Staticmenu1");
    lcd.setCursor(0, 1);
    lcd.print(">Staticmenu2");
    break;
    case 3:
    lcd.clear();
    lcd.print(">Staticmenu3");
    lcd.setCursor(0, 1);
    lcd.print(" Staticmenu4");
    break;
    case 4:
    lcd.clear();
    lcd.print(" Staticmenu3");
    lcd.setCursor(0, 1);
    lcd.print(">Staticmenu4");
    break;
    case 5:
    menu = 4;
    break;
    }
    }

    void Menu3() {
    switch (menu) {
    case 0:
    menu = 1;
    break;
    case 1:
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(">Thirdmenu1");
    lcd.setCursor(0, 1);
    lcd.print(" Thirdmenu2");
    break;
    case 2:
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(" Thirdmenu1");
    lcd.setCursor(0, 1);
    lcd.print(">Thirdmenu2");
    break;
    case 3:
    lcd.clear();
    lcd.print(">Thirdmenu3");
    lcd.setCursor(0, 1);
    lcd.print(" Thirdmenu4");
    break;
    case 4:
    lcd.clear();
    lcd.print(" Thirdmenu3");
    lcd.setCursor(0, 1);
    lcd.print(">Thirdmenu4");
    break;
    case 5:
    menu = 4;
    break;
    }
    }


    }

  • balintarduin

    újonc

    Sziasztok! Egy Arduinos projektem kapcsán kérdeznék tapasztaltabbakat. Egy menü rendszert próbálok készíteni, ahol egy 2x16-os lcd kijelzőn váltogatom a képet egy Fel és Le nyomógombbal. Sikerült addig eljutnom, hogy egy Enter gomb megnyomására tovább lép egy ugyan olyan menübe. A problémám ott van, hogy ha lefelét nyomok, nem tudja eldönteni, hogy melyik menüben menjen le. Az elsőben vagy a másodikban. Értem, hogy azért csinálja ezt, mert mindkettő menü kezelő if utasítása a loop-ban van benne, és nem tudom, hogy hogy tudnám megmondani neki, hogy az első menüben van akkor ott menjen le, ha megnyomom a lefelét, ha pedig a másodikban van, akkor ott menjen lefele.
    Köszönöm a segítséget, előre is.

Új hozzászólás Aktív témák

Hirdetés