Arduino menyu oluşturma
  • Herkese hayırlı akşamalar. Arkadaşlar lütfen yardım edin. artık 1 aydan fazladır ki, arduino ile lcd menü oluşturmak için çalışıyorum. Daha önceler buradan da sormuşdum. Sag olsun arkadaşlar cevapladılar ama doğrusu hala uraşıyorum. İnternetde olan kütüphanelerde hata veriyor. O yüzden kendi alqoritmamla menyu olşturmak istedim. Ama lcd (16,2) olduğundan ekrana iki satırdan artık menu başlığı çıkaramadım. Kod böyle:

    #include

    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    #define btnOkMin 1000
    #define btnOkMax 1023
    #define btnUpMin 700
    #define btnUpMax 850
    #define btnDownMin 1000
    #define btnDownMax 1023
    int gelen =0;

    void setup() {

    lcd.begin(16, 2);

    }

    void loop() {


    lcd.setCursor(2,0);
    lcd.print("File");
    lcd.setCursor(2,1);
    lcd.print("View");

    gelenoku();
    }

    void gelenoku()
    {
    gelen = analogRead(A0);
    Serial.println(gelen);
    if(gelen > btnUpMin && gelen < btnUpMax)
    {
    lcd.setCursor(0,1);
    lcd.print(" ");
    lcd.setCursor(0,0);
    lcd.print(">");

    }
    if(gelen > btnDownMin && gelen < btnDownMax)
    {
    lcd.setCursor(0,0);
    lcd.print(" ");
    lcd.setCursor(0,1);
    lcd.print(">");
    }

    }
    Yapamak istediyim menyuda başka başlıklarında olmasıdır yani bu şekilde

    File
    View
    Edit
    Format
    Settings

    Ben her dafa aşağı buttonuna tıkladığımda > işareti aşağıya düşsün. Yukarı buttonuna tıkladığımda yukarı kalksın. Bu zaman kalan menyu başlıklarını nasıl oluştuyim?

    Not: > işareti menyu başlıklarını karşısında onu seçmek için duruyor. Bu resmdeki gibi

    https://www.google.az/search?q=lcd+char*+menu%C3%B6%C4%9F&rlz=1C1CHBF_enAZ721AZ721&espv=2&biw=1024&bih=662&source=lnms&tbm=isch&sa=X&ved=0ahUKEwilh-vjpLjRAhWUMFAKHdX5CPkQ_AUIBygC#tbm=isch&q=lcd+char*+menu&imgrc=72-A4kgKqOSOYM%3A
  • Madem 1 aydır uğraşıyosun az buçuk yardımımız dokunsun :)
    Not: include burada gözükmüyor kütüphaneni eklemeyi unutma

    ////////Kod//////////

    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    #define btnOkMin 1000
    #define btnOkMax 1023
    #define btnUpMin 700
    #define btnUpMax 850
    #define btnDownMin 1000
    #define btnDownMax 1023
    int gelen = 0;
    int menu = 1;

    void setup() {

    lcd.begin(16, 2);

    }

    void loop()
    {
    gelen = analogRead(A0);

    if (gelen > btnUpMin && gelen < btnUpMax)
    {
    lcd.clear();
    menu++;
    if (menu >= 6)menu = 1;
    }
    if (gelen > btnDownMin && gelen < btnDownMax)
    {
    lcd.clear();
    menu--;
    if (menu <= 0)menu = 5;<br /> }

    switch (menu)
    {
    case 1:
    {
    lcd.setCursor(0, 0);
    lcd.print("=> File");
    lcd.setCursor(0, 1);
    lcd.print(" View");
    }
    break;
    case 2:
    {
    lcd.setCursor(0, 0);
    lcd.print(" File");
    lcd.setCursor(0, 1);
    lcd.print("=> View");
    }
    break;
    case 3:
    {
    lcd.setCursor(0, 0);
    lcd.print(" View");
    lcd.setCursor(0, 1);
    lcd.print("=> Edit");
    }
    break;
    case 4:
    {
    lcd.setCursor(0, 0);
    lcd.print(" Edit");
    lcd.setCursor(0, 1);
    lcd.print("=> Format");
    }
    break;
    case 5:
    {
    lcd.setCursor(0, 0);
    lcd.print(" Format");
    lcd.setCursor(0, 1);
    lcd.print("=> Settings");
    }
    break;
    }
    }
  • Ilginiz için teşekkürler. arduinoda "
    " ne için? Kodu derlemiyor orada hata çıkarıyor.
  • ne hatası cıkarıyor onuda soyle ki. Tahmin yürütme yeteneğimiz yerine kod yazma yeteneğimiz gelişsin
  • Hata bu: error: expected primary-expression before '<' token<br />
    if (menu <= 0)menu = 5;<br /> }

    <br ne için ? Bunu kaldırdım,çalışdı ama bu işe yarıyor onu anlayamadım.
  • :) bu forum kod yazılımına uygun olmadığı için, o br yi ben eklemedim. forumun yapısı kendı koymus. onu kaldır.
    Varmı problem sımdı ?
  • Yokdu. Teşekkürler.Çok sag olun

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.