Menghubungkan Modul 2.4″ TFT LCD Touch Shield (S6D0154) ke Arduino UNO

posted in: Belajar | 18

Halo semuanya kali ini saya akan membahas cara menghubungkan TFT LCD Touch Shield ke Arduino UNO. Modul TFT LCD Touch Shield yang saya gunakan kali ini adalah modul TFT LCD buatan mcufriend.com, Modul ini diperoleh di Toko OK Electronics di LTC Glodok Lt2.

Modul ini berukuran 2.4 inci dengan resistive touch screen yang terintegrasi diatasnya. Spesifikasi lengkap modul ini adalah:

– 2.4″ diagonal LCD TFT display
– Bright, 4 white-LED backlight
– Colorful, 18-bit 262,000 different shades
– 4-wire resistive touchscreen
– 240×320 Pixel Resolution
– 8 bit digital interface, plus 4 control lines
– 5V compatible, use with 3.3V or 5V logic
– SD Card Socket
– Onboard 3.3V @ 1A LDO regulator (AMS1117 3.3)
– Ukuran Modul: 71 x 52 x 7 mm
– Berat sekitar 33.5 gram

Penampakan Modul 2.4″ TFT LCD Touch Screen Shield

2.4_LCD_Top2.4_LCD_Bot

Pertama kali saya mendapat modul ini, saya langsung mencoba modul ini menggunakan TFT LCD Library yang dibuat oleh adafruit, namun ternyata ketika sketch telah di upload di layar tidak tampak apa apa, hanya putih kosong. Setelah mengecek situs mcufriend.com, ternyata tertulis bahwa modul tersebut menggunakan IC driver ST7781, dan ternyata disana disediakan test code nya (tidak bisa di download, karena link sudah mati -_-).  Dari informasi itu, saya pun mencoba driver untuk IC ST7781, namun hasilnya ternyata sama saja, layar LCD tetap  putih kosong.

2.4_LCD_White

Dari sini saya mulai curiga kalau kalau modul LCD ini rusak, namun karena sering berurusan dengan barang seperti ini, saya mengerti bahwa sering sekali antara yang tertulis di datasheet / website dengan barang yang sebenarnya berbeda jauh, maka saya tidak menyerah. (hal ini biasanya karena barang dibuat beberapa kali dengan menggunakan supplier barang yang berbeda2, sehingga dalam hal ini driver modul LCD dari supplier satu tidak sama dengan supplier yang kedua, dst, meskipun penampilan luar dari modul sama persis).

Setelah penelusuran lebih lanjut, ditemukan bahwa id dari IC Driver LCD ini adalah 0x0154, yang menunjukan bahwa IC driver yang digunakan di modul ini adalah buatan Samsung dengan tipe S6D0154. Waow, berbeda sekali dengan yang tertulis di website nya yang memberitahu bahwa modul ini menggunakan IC Driver ST7781. Setelah mengetahui hal tersebut, saya mencari library untuk S6D0154, dan akhirnya saya menemukan situs ini, yang memberikan penjelasan mengenai TFT LCD. Dari sanalah saya menemukan library untuk S6D0154, yang ternyata merupakan hasil modifikasi dari TFT LCD Library buatan Adafruit yang pertama saya gunakan.

O iya jangan lupa untuk menginstall Adafruit-GFX-Library dan Touch-Screen-Library, karena library ini dibutuhkan oleh library S6D0154 untuk menjalankan LCD dan mengambil data dari Touch Screen.

Menggunakan sketch example “tftpaint” dari library tersebut, akhirnya saya dapat menjalankan TFT LCD ini lengkap dengan touchscreen nya, meskipun untuk touch screen nya perlu diubah beberapa parameter untuk menyesuaikan dengan touch screen pada modul LCD ini, berikut parameter untuk Resistive Touch Screen yang saya miliki:

 

#define YP A1 // must be an analog pin, use “An” notation!
#define XM A2 // must be an analog pin, use “An” notation!
#define YM 7 // can be a digital pin
#define XP 6 // can be a digital pin

#define TS_MINX 190
#define TS_MINY 0
#define TS_MAXX 900
#define TS_MAXY 940

NB: Mungkin parameter diatas akan berbeda dengan parameter yang dibutuhkan oleh Touch Screen yang anda miliki.

Bagi Kalian yang mengalami kesulitan dalam penggunaan touchscreen, baik itu tidak responsif atau tidak mau jalan sama sekali, mungkin itu dikarenakan adanya fitur double sampling yang ada di dalam Touch-Screen-Library. Untuk mengatasi masalah ini, ubahlah parameter

#define NUMSAMPLES 3

 

Yang berada di dalam file TouchScreen.cpp yang terdapat di dalam folder \Arduino\libraries\Touch-Screen-Library menjadi bernilai 3. Pengubahan parameter ini akan menonaktifkan fitur double sampling, sehingga Touch Screen akan menjadi lebih responsif, meskipun akibatnya adalah akan lebih banyak noise yang ditimbulkan.

 

Dan akhirnya TFT LCD Touch Shield pun bisa dipakai

2.4_LCD_Work

 

Selamat Mencoba

18 Responses

  1. Mas, mau nanya dong…

    Sy mau pakai TFT display ini untuk di ARM, ada saran ?

    Regards,
    Anwar

    • AyoNgoprek

      Halo mas anwar, mas pakai ARM apa ya? karena jenis ARM itu banyak (MCU/MPU?, Tipe?)
      Tapi pada umumnya kalau mas ingin menggunakan modul ini untuk ARM ada beberapa hal yang patut diperhatikan
      1. Library untuk IC S6D0154 display driver
      2. Hardware Interfacing dengan modul LCD

      Untuk yang pertama, apabila library untuk ARM yang mas maksud sudah ada yang buat, maka mas bisa pakai library itu, namun apabila library itu belum ada yang buat, maka mas hanya ada 2 pilihan, yaitu: 1. Membuat sendiri drivernya (dengan cara reverse engineer library yang sudah ada atau lihat datasheet IC) 2. Menunggu ada yang membuat dan publish Library nya.

      Untuk yang kedua, karena rata rata tegangan kerja untuk ARM adalah 1.2-3.6v, maka mas harus menyesuaikan tegangan itu dengan tegangan yang digunakan modul ini, karena tegangan kerja sebenarnya yang digunakan oleh modul ini adalah 3.3V. Apabila tegangan yang digunakan oleh ARM yang digunakan oleh mas adalah 3.3V, maka mas harus menghubungkan tegangan 5V ke pin 5V pada modul, menghubungkan tegangan suplai 3.3V ke pin 3.3V pada modul, dan setelah itu mas bisa langsung menyambungkan modul tersebut ke MCU/MPU ARM yang mas gunakan. Tapi apabila tegangan ARM yang mas gunakan dibawah itu, maka akan dibutuhkan level shifter untuk mengubah tegangan logic <3.3 agar menjadi 3.3v.

      Mudah Mudahan bisa membantu

  2. Mas terima kasih atas pencerahannya. Saya sudah bisa menggunakan tftpaint. Pertanyaan saya : gimana caranya kita bisa buat program sederhana yang menampilkan 2 kotak. Masing2 kotak ada tulisannya ON dan OFF. Jika kotak ON ditekan makan LED D13 akan menyala. Jika kotak OFF ditekan LED D13 akan padam. Gimana kira-kira programmnya.

    Salam

    • AyoNgoprek

      Halo mas Moh Ibnu Malik

      Sebelumnya terima kasih telah mengunjungi situs ini, untuk pertanyaan mas tentang program sederhana untuk menyalakan atau mematikan LED dengan menggunakan touchscreen, program itu bisa dibuat apabila mas menggabungkan program tftpaint dengan program graphicstest, mungkin nanti akan coba saya buat tutorialnya, karena hal ini cukup mudah dan menarik, silahkan tunggu kelanjutannya ^_^, terima kasih

      -Tim ayongoprek.com-

      • Refliansyah

        kira” udah kejawab blm mas pertayaan dari mas moh ibnu malik, soal nya masalah saya sama kayak dia.
        klo bisa, saya mohon pencerahannya mas
        terima kasih

  3. Fadlan Djamil

    Mas saya mau nax apakah librarix ini dia pake utft atau tft yg bawaan softwerx arduino ? Terimakasih

    • AyoNgoprek

      @Fadlan
      Maaf baru bisa dibalas commentnya,
      Library yang digunakan adalah library TFTLCD-Library buatan Adafruit yang di modifikasi

  4. sehat n suksel sellu,,amin ni mw tany bisakah lcd bekas pvp stasion(mirip psp) di pake untuk monitor dvd/reciver,, mohon bimbingan n pengarahanx,,mksih

    • AyoNgoprek

      @arya
      Kalau anda tahu datasheet dan command set, serta pinout dari LCD tersebut, maka LCD tersebut bisa dipakai, tapi biasanya untuk produk jadi (DVD Player Portable, PVP, PSP, dll) LCD yang dipakai tipenya tidak diketahui kecuali oleh pabrik pembuatnya, sehingga sulit sekali mencari cara untuk dapat mengunakannya sebagai display custom. karena kita harus coba-coba command yang mungkin bisa berkomunikasi dengan LCD tersebut.

  5. q dh bongkar semua,, kbel fleksi lcd ada 40pin tertulis FPC-T27P00V2
    ,,trus ada pcb kecil ada 2soket, 1untuk lcd n 1lagi ada 14 pin 1pin kbel merah 13pin kbel hitam,berasal dari mobo, di pcb kecil tertulis
    JKT-LCD274-170PG
    KS1029
    P2C00165,
    Selama ni q pke cara ngawur yaitu dri dvd video out ku sambung kbel ,jalur min q solder di min jack pvp n jalur plus q colok2n di hampir semua titik pin n solderan tp nggak ada hasil cm kedip2,, kira2 apa yng hrus saya lakukan mas biar sesuai keinginan? mksih sblumnx

    • AyoNgoprek

      Sebelumnya maaf mas arya, saya baru bisa balas (sudah 1 bulan)

      Kalau dilihat dari penjelasan Mas arya, LCD harusnya tidak bisa jalan, karena LCD yang digunakan di gadget adalah LCD yang masukannya digital, sedangkan keluaran dari DVD adalah analog, sehingga tidak bisa dihubungkan dengan cara tersebut, harus ada rangkaian lagi yang mengubah signal analog dari DVD out ke digital agar bisa menyalakan LCD. semoga membantu.

  6. mas ada saran lebih bagus beli modul LCD touchscreen yg ini atau yg ini http://www.geraicerdas.com/mikrokontroler/arduino-compatible/graphic-lcd4884-detail

    ini buat project nampilin sekitar 4/5 output sensor?lebih bagus yg mana ya…

    oiya yg ini bs juga kan ya dihubungkan dengan raspi?

    • AyoNgoprek

      Salam mas devis,
      Kalau saya pribadi, lebih suka yang ini, karena sudah berupa Color LCD dan lebih tinggi resolusinya (240×320 RGB) vs (84×48 Monochrome). Dan karena sekarang harga LCD monochrome dan LCD Color sudah tidak berbeda jauh, maka pada dasarnya pemilihan LCD itu tergantung kebutuhan, kalau mas mencari solusi display yang simpel, kecil dan yang mau di display tidak banyak warna, mas bisa pilih yang Monochrome, tapi kalau mas ingin display yang ingin cukup Powerful untuk kedepannya (kalau mau dipakai untuk project lain di prosesor yang lebih powerful) mas sebaiknya pilih LCD ini.

      kalau masalah bisa dihubungkan ke raspi atau tidak, itu tergantung library yang tersedia di raspi, kalau saya sendiri belum pernah coba untuk menghubungkan LCD ini ke raspi, sehingga maaf saya tidak bisa memberi saran.

  7. mas, kalo misalnya saya mau bikin sensor jarak pakek ultrasonik sr04, terus bikin displaynya supaya jd kyak radar gitu gimana ya?? Cara mendesain gambarnya apakah ada aplikasinya? Terima kasih

  8. Dear all,
    I had the same problem with the display (mcufriend 2.4 “). cordially thank you because you have correctly described a way to display work. Just in your text, I found all the data. I wish you much success in your work

    Milun Jevremovic
    Belgrade Serbia

  9. mas maaf mau tanya, itu untuk penginstallan file Adafruit-GFX-Library dan Touch-Screen-Library gimana caranya mas ?

  10. Mas, mau tanya, saya sudah mengikuti tutorial diatas, tapi Touch screennya tetap tidak berfungsi, namun LCDnya jalan normal.. bagaimana caranya ya mas.. terima kasih

Leave a Reply