Skip to content Skip to sidebar Skip to footer

Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino

Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino - Selamat berjumpa kembali Pembaca Teknisi Service AC Batam, Kami sangat senang bisa bertemu anda kembali dalam membahas materi atau artikel Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino, kami telah menyusun artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. Semoga postingan atau artikel kategori Artikel Arduino, Artikel Digital, Artikel Mikrokontroller, Artikel Robot, yang kami tulis ini dapat anda pahami. Setiap penulis artikel memiliki sudut pandang masing-masing

Kami memiliki sudut pandang secara umum akan hal Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino ini akan kami bahas dan jabarkan kepada anda. Meskipun demikian semoga tidak mengurangi makna. Kami hanya berpesan kepada pembaca Teknisi Service AC Batam, jadikan artikel kami ini sebagai materi tambahan. Jika masih kurang lengkap, pembaca dapat menambah wawasan dengan mencari artikel serupa diblog lainnya atau menanyakan langsung kepada pakar yang mahir dengan masalah Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino. Selamat membaca!

Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino

Dalam perancangan sistem mikrokontroller yang cukup kompleks yang ditampilkan pada display LCD (Liquid Crystal Display) biasanya digunakan menu dan submenu. Menu menampilkan bagian utama dari fungsi yang dibangun dan submenu menampilkan isi dari menu yang dipilih. Tombol digunakan sebagai selektor untuk menu dan sub menu.  Tutorial kali ini LCD dan tombol digunakan sebagai penampil dan input sedangkan arduino adalah sebagai Pemroses data.

baca juga : 10 Project Arduino paling populer

Bahan yang dibutuhkan :
1. Arduino UNO
2. LCD 2004
3. Tombol Push Button
4. Laptop atau PC

Skema rangkaian dpat dilihat pada gambar berikut :

Skema rangkaian
Pada skematik rangkaian diatas terdapat 4 buah tombol push button yang terhubung dengan Ground dan pin analog arduino. Dengan demikian maka tombol akan menghasilkan logika 0 hanya jika tombol tersebut ditekan. Jika tombol tidak ditekan maka tidak akan menghasilkan logika apapun, maka ditambahkan Internal Pullup Resistor pada program agar dapat menghasilkan logika 1 apabila tidak ditekan.



Tombol tersebut terdiri dari tombol menu,  up, down, dan OK.  Fungsi masing-masing tombol tersebut adalah :
  1. Menu :  Tombol untuk masuk ke menu dari halaman utama
  2. UP       :  Tombol untuk menaikkan kursor
  3. Down : Tombol untuk Menurunkan kursor
  4. OK       : Tombol untuk memilih menu
Tombol menu juga bisa digunakan untuk kembali (back).

Rangkaian diatas menggunakan LCD 2004 dengan modul I2C dan Arduino UNO, untuk mengubah konfigurasi tinggal disesuaikan pada program. Listing program dapat dilihat  dibawah :


////////////////////////andalanelektro.id////////////////////////////////////////
#include <LiquidCrystal.h>
const int rs = 12,rw = 1, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
int Menu,Up,Down,Ok;
int lockMenu=0,lockUp=0,lockDown=0,lockOk=0;
int dis,sub=0,mode=0;
LiquidCrystal lcd(rs, rw, en, d4, d5, d6, d7);
void setup()
{
  pinMode(A0, INPUT_PULLUP);// mengaktifkan resistor internal
  pinMode(A1, INPUT_PULLUP);
  pinMode(A2, INPUT_PULLUP);
  pinMode(A3, INPUT_PULLUP);
  
  lcd.begin(20, 4);
  
  lcd.setCursor(0,0); lcd.print("    Tutorial Menu   ");
  lcd.setCursor(0,1); lcd.print("         &          "); 
  lcd.setCursor(0,2); lcd.print("      Sub Menu      "); 
  lcd.setCursor(0,3); lcd.print(" andalanelektro.id  "); 
}
void loop() 
{
  Menu= digitalRead(A0);
  Up=   digitalRead(A1);
  Down= digitalRead(A2);
  Ok=   digitalRead(A3);
  tampil();
}
void tampil()
{
  if (Menu==0 && lockMenu==0){lockMenu=1;} if (Menu!=0 && lockMenu==1){lockMenu=0; dis=1;}
  if (Menu==0 && lockMenu==0){lockMenu=1;} if (Menu!=0 && lockMenu==1 && dis>1){lcd.clear(); lockMenu=0; dis=1;}
  
  if (dis==1)
  {
  
      // tampilan awal//
      lcd.setCursor(1,0); lcd.print("Menu 1             ");
      lcd.setCursor(1,1); lcd.print("Menu 2             "); 
      lcd.setCursor(1,2); lcd.print("Menu 3             "); 
      lcd.setCursor(1,3); lcd.print("Menu 4             "); 
      
      if (Down==0 && lockDown==0){lockDown=1;}  //turunkan Cursor ">"
      if (Down!=0 && lockDown==1){lcd.clear(); lockDown=0; mode++;} 
      
      if (Up==0 && lockUp==0){lockUp=1;}   //naikkan Cursor ">"
      if (Up!=0 && lockUp==1){lcd.clear(); lockUp=0; mode--;}
       switch (mode)
      {
        case 0 : lcd.setCursor(0,0); lcd.print(">"); break;
        case 1 : lcd.setCursor(0,1); lcd.print(">"); break;
        case 2 : lcd.setCursor(0,2); lcd.print(">"); break;
        case 3 : lcd.setCursor(0,3); lcd.print(">"); break;

      }  
      if (Ok==0 && lockOk==0){lockOk=1; mode=0;}
      if (Ok!=0 && lockOk==1 && mode==0){lockOk=0; dis=2; lcd.clear(); } // pilih menu 1
      if (Ok!=0 && lockOk==1 && mode==1){lockOk=0; dis=3; lcd.clear(); } // pilih menu 2
      if (Ok!=0 && lockOk==1 && mode==2){lockOk=0; dis=4; lcd.clear(); } // pilih menu 3
      if (Ok!=0 && lockOk==1 && mode==3){lockOk=0; dis=5; lcd.clear(); } // pilih menu 4
      
      if (mode>3 || mode<0) mode=0;
     
  }
  if (dis==2)
  {
    if (sub==0)
    {
      lcd.setCursor(0,0); lcd.print("Menu 1             ");
      lcd.setCursor(1,1); lcd.print("Sub Menu 1        "); 
      lcd.setCursor(1,2); lcd.print("Sub Menu 2        "); 
      lcd.setCursor(1,3); lcd.print("Sub Menu 3        "); 
      if (Down==0 && lockDown==0){lockDown=1;}  //turunkan Cursor ">"
      if (Down!=0 && lockDown==1){lcd.clear(); lockDown=0; mode++;} 
      
      if (Up==0 && lockUp==0){lockUp=1;}   //naikkan Cursor ">"
      if (Up!=0 && lockUp==1){lcd.clear(); lockUp=0; mode--;}
      if (Ok==0 && lockOk==0){lockOk=1; mode=0;}
      if (Ok!=0 && lockOk==1 && mode==0){lockOk=0; lcd.clear(); sub=1; } // Isi submenu 1
      if (Ok!=0 && lockOk==1 && mode==1){lockOk=0; lcd.clear(); sub=2; } // Isi submenu 2
      if (Ok!=0 && lockOk==1 && mode==2){lockOk=0; lcd.clear(); sub=3; } // Isi submenu 3

      if (mode>2 || mode<0) mode=0;
    {
        case 0 : lcd.setCursor(0,1); lcd.print(">"); break;
        case 1 : lcd.setCursor(0,2); lcd.print(">"); break;
        case 2 : lcd.setCursor(0,3); lcd.print(">"); break;
      }  
    }
  }
  
  if (dis==3)
  {
    lcd.setCursor(0,0); lcd.print("Menu 2             ");
    lcd.setCursor(1,1); lcd.print("Sub Menu 1        "); 
    lcd.setCursor(1,2); lcd.print("Sub Menu 2        "); 
    lcd.setCursor(1,3); lcd.print("Sub Menu 3        "); 
  }
    
  if (dis==4)
  {
    lcd.setCursor(0,0); lcd.print("Menu 3             ");
    lcd.setCursor(1,1); lcd.print("Sub Menu 1        "); 
    lcd.setCursor(1,2); lcd.print("Sub Menu 2        "); 
    lcd.setCursor(1,3); lcd.print("Sub Menu 3        "); 
  }  
  
  if (dis==5)
  {
    lcd.setCursor(0,0); lcd.print("Menu 4             ");
    lcd.setCursor(1,1); lcd.print("Sub Menu 1        "); 
    lcd.setCursor(1,2); lcd.print("Sub Menu 2        "); 
    lcd.setCursor(1,3); lcd.print("Sub Menu 3        "); 
  }
  //isi menu1////
  if (dis==2 && sub==1){lcd.setCursor(0,1); lcd.print(" Isi Sub Menu 1:::");}
  if (dis==2 && sub==2){lcd.setCursor(0,1); lcd.print(" Isi Sub Menu 2::");}
  if (dis==2 && sub==3){lcd.setCursor(0,1); lcd.print(" Isi Sub Menu 3:");}
  }
////////////////////////andalanelektro.id////////////////////////////////////////


Setelah berhasil diupload maka tampilan LCD akan seperti ini :

Tampilan awal menu dan sub menu

Jika tombol Menu ditekan

Memilih menu satu dengan OK

Memilih Submenu dengan OK

Pada listing program diatas, yang diisi submenu hanyalah Menu 1, untuk menu lain silahkan ditambahkan sesuai kebutuhan.


Penutup Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino

Sekian uraian artikel Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino kali ini, semoga bisa memberi manfaat dan menginspirasi anda semua pembaca blog Teknisi Service AC Batam. Baiklah, sampai jumpa pada postingan pembahasa artikel lainnya yang lebih seru dan bagus. Tiada gading yang tak retak, begitu juga dengan artikel kami ini. Lebih dan kurang pada pembahasan Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino ini, kami memohon maaf.

Baru saja anda membaca artikel Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino dengan alamat link https://teknisiacbatam.blogspot.com/2019/10/antarmuka-menu-dan-submenu-pada-lcd-dan.html

Artikel Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino ini kami arsipkan pada kategori Arduino Digital Mikrokontroller Robot. Silahkan anda klik link ini Arduino Digital Mikrokontroller Robot untuk melihat beberapa artikel menarik serupa. Terimakasih telah berkunjung.

Post a Comment for "Antarmuka Menu dan submenu pada LCD dan Tombol menggunakan Arduino"