Menterjemahkan

Kamis, 06 Desember 2012

Proyek Arduino : Menghubungkan LCD 1602A dan Sensor Suhu dengan Arduino


Bahan dan Alat yang dibutuhkan :


  
Datasheet LCD 1602A




Memasang Pin Header pada LCD 1602A

Pada umumnya LCD 1602A yang dijual di pasaran tidak disertai dengan Male Pin Header yang berguna untuk menempatkan LCD pada Papan Rangkai. Untuk itu LCD 1602A harus dilengkapi sendiri dengan 1x16 Male Pin Header dengan cara menyoldernya pada LCD. Sehingga hasilnya seperti terlihat pada Gambar berikut ini :



Memasang LCD 1602A pada Papan Rangkai

Pasang LCD 1602A dengan pin 1 ditancapkan pada lubang 1a papan rangkai, demikian selanjutnya untuk pin 2, 3, …..  dan 16 ditancapkan pada lubang disebelahnya yaitu 2a,3a …… dan 16a seperti Gambar berikut :



Menghubungkan Power Arduino dengan Power pada Papan Rangkai
  • Hubungkan pin +5v (pin 3) Arduino dengan baris + (garis merah) papan rangkai.
  • Hubungkan pin GND (pin 4 atau 5) Arduino dengan baris GND (–) (garis biru) papan rangkai

Menghubungkan Power Papan Rangkai dengan LCD dan Backlight-nya
  • Hubungkan baris GND (-) papan rangkai dengan pin nomor 1 (Vss) LCD
  • Hubungkan baris +5v papan rangkai dengan pin nomor 2 (VDD) LCD
  • Hubungkan baris +5v papan rangkai dengan pin nomor 15 (A) LCD
  • Hubungkan baris GND (-) papan rangkai dengan pin nomor 16 (K) LCD

Apabila Arduino dihubungkan ke Komputer melalui kabel USB, maka LCD akan menyala seperti Gambar berikut 


Agar bisa menampakkan karakter yang jelas pada saar diperintahkan menayangkan huruf, angka, atau kalimat, maka perlu dilakukan pengaturan kecerahan layar LCD.
Untuk mengatur kecerahan layar LCD diperlukan Potensiometer. Dalam rangkaian ini digunakan Potensio multiturn 50 K dengan maksud untuk dapat dengan mudah diputar sedikit demi sedikit agar diperoleh tingkat kecerahan yang optimal.
  • Hubungkan pin 1 dan 2 Potensio multiturn 50 K dengan baris GND (-) papan rangkai
  • Hubungkan pin 3 Potensio multiturn 50 K dengan pin 3 (VO) LCD

Skema rangkaian selengkapnya dapat dilihat pada Gambar berikut :


Hubungkan USB Arduino dengan Komputer. LCD tampak menyala seperti Gambar berikut : 


Putarlah penera Potensio multiturn 50 K sedikit demi sedikit menggunakan obeng hingga diperoleh kecerahan LCD yang ditandai dengan munculnya kotak-kotak berwarna putih seperti Gambar berikut :


Agar Arduino dapat berkomunikasi dengan LCD dalam menyampaikan kata-kata yang dapat ditayangkan melalui LCD, maka perlu dilakukan langkah-langkah sebagai berikut :
  • Hubungkan pin 4 LCD (RS) dengan pin 2 (digital out) Arduino
  • Hubungkan pin 5 LCD (RW) dengan baris GND (-) papan rangkai
  • Hubungkan pin 6 LCD (E) dengan pin 3 (digital out) Arduino
  • Hubungkan pin 11 LCD (D4) dengan pin 4 (digital out) Arduino
  • Hubungkan pin 12 LCD (D4) dengan pin 5 (digital out) Arduino
  • Hubungkan pin 13 LCD (D4) dengan pin 6 (digital out) Arduino
  • Hubungkan pin 14 LCD (D4) dengan pin 7 (digital out) Arduino
Sekarang, untuk menguji apakah Arduino dan LCD sudah bisa berkomunikasi dengan baik, buatlah perintah untuk menuliskan kalimat “HALLO, TEST, 123”pada LCD dengan cara buatlah sketch baru di Arduino Editor. Tulis kode berikut dan Upload ke Arduino. 

#include <LiquidCrystal.h>
LiquidCrystal layar(2, 3, 4, 5, 6 , 7);
void setup() {
  layar.begin(16, 2);
  layar.setCursor(0,0);
  layar.write("HALLO, TEST, 123");
}
void loop() { }


Hasilnya bisa dilihat pada Gambar berikut :


Menghubungkan Arduino dengan LCD dan Sensor Suhu (LM35)

Pada rangkaian Arduino dan LCD tambahkan sensor suhu (LM35) dengan cara :
  • Hubungkan pin 1 (Vs) LM35 dengan baris +5v papan rangkai
  • Hubungkan pin 3 (GND) LM35 dengan baris GND papan rangkai
  • Hubungkan pin 2 (Voutput) LM35 dengan pin 0 analog in Arduino 

Skema rangkaian selengkapnya dapat dilihat pada Gambar berikut :


Buatlah sketch baru di Arduino Editor,tulis kode berikut dan upload ke Arduino :

#include <LiquidCrystal.h>
LiquidCrystal layar(2, 3, 4, 5, 6 , 7);
const int PinSensorMasuk = 0;
void setup() {
  layar.begin(16, 2);
}
void loop()
  {
    int nilai = analogRead(PinSensorMasuk);
    layar.setCursor(0, 1);
    float milivolt = (nilai / 1024.0) * 5000;
    float celsius = milivolt / 10;
    layar.clear();
    layar.setCursor(0,0);
    layar.print(celsius);
    layar.print(" Celsius");
    layar.setCursor(0,1);
    layar.print((celsius * 9)/ 5 + 32);
    layar.print(" Fahrenheit");
    delay(10000);
  }


Hasilnya seperti tampak pada Gambar berikut :


Selamat mencoba.


12 komentar:

  1. saya uda upload programnya tapi kok tetep nggk bisa nampil di LCD nya ya mas? cuma nyala aja, mohon bantuanya.

    BalasHapus
    Balasan
    1. Terimakasih Mbak Ike Putri atas pertanyaannya.
      Pastikan bahwa potensio multiturn 50K berfungsi dengan baik (gunakan potensio kualitas baik) atau gunakan nilai lebih dari 50K dengan putaran penera yang sangat halus sehingga bisa menampakkan kotak-kotak huruf warna putih pada layar. Setelah kecerahannya bisa diatur dengan baik, maka kemungkinan tulisan akan bisa terbaca.
      Demikian penjelasan saya, selamat mencoba, semoga berhasil.

      Hapus
  2. Balasan
    1. Terimakasih kembali Mas Gigih Gumilar atas kunjungan dan komentarnya di blog ini. Salam sukses selalu.

      Hapus
  3. mas klw misalkan pke runing text gmana ya mas

    BalasHapus
    Balasan
    1. Terimakasih Mas Indra Lesmana atas pertanyaannya.
      Untuk membuat running text juga bisa, tinggal menambah perintahnya untuk running text. Untuk lebih jelasnya silakan pelajari langsung di situsnya arduino :
      http://www.arduino.cc/en/Tutorial/LiquidCrystalScroll
      atau di blog tetangga :
      http://boarduino.blogspot.com/2014/12/running-text-di-lcd-dengan-arduino.html
      Demikian jawaban saya, selamat mencoba, semoga berhasil.

      Hapus
  4. permisi mas saya ada masalah dengan tampilan LCD. saya menghubungkan Lcd dengan motor lalu mengkontrol dengan driver relay untuk sistem kerjanya. saat motor forward itu tampilan bekerja dengan baik lalu saat reverse motor dengan tampilan running text dan tidak jelas. kontruksi mekanik menggunakan besi dan alas telah diberi triplek untuk mengatasi grounding. menurut mas permasalahan ini dimananya. Terimakasih

    BalasHapus
    Balasan
    1. Terimakasih Mas Lovi atas pertanyaannya.
      Saya belum pernah membangun rangkaian seperti yang Mas Lovi lakukan, sehingga untuk menanggapi kasus yang Mas Lovi alami ini hanya sekedar main tebak (asumsi) saja, semoga benar adanya.
      Begini, apabila relay pada saat motor forward berada pada posisi defaultnya sehingga tidak memerlukan daya listrik samasekali, maka LCD bekerja dengan baik, sebaliknya pada saat reverse sebagai akibat dari bekerjanya relay yang membutuhkan daya relatif lebih besar, maka LCD meredup.
      Artinya ada kemungkinan jumlah daya yang diberikan kurang memadai.
      Untuk diketahui, komponen Motor dan Relay membutuhkan daya lebih besar untuk dapat bekerja dengan baik.
      Dengan demikian, nilai ampere pada power supply harus diperbesar.
      Untuk meyakinkan kebenaran asumsi ini, silakan dicoba terlebih dahulu LCD diberi power supply tersendiri dalam jumlah ampere yang memadai, Relay juga diberi power supply tersendiri dalam jumlah ampere yang memadai. Apabila LCD bisa bekerja dengan baik, berarti asumsi tersebut benar adanya.
      Demikian jawaban saya, selamat mencoba semoga berhasil.

      Hapus
    2. Terimakasih Mas Lovi atas pertanyaannya.
      Saya belum pernah membangun rangkaian seperti yang Mas Lovi lakukan, sehingga untuk menanggapi kasus yang Mas Lovi alami ini hanya sekedar main tebak (asumsi) saja, semoga benar adanya.
      Begini, apabila relay pada saat motor forward berada pada posisi defaultnya sehingga tidak memerlukan daya listrik samasekali, maka LCD bekerja dengan baik, sebaliknya pada saat reverse sebagai akibat dari bekerjanya relay yang membutuhkan daya relatif lebih besar, maka LCD meredup.
      Artinya ada kemungkinan jumlah daya yang diberikan kurang memadai.
      Untuk diketahui, komponen Motor dan Relay membutuhkan daya lebih besar untuk dapat bekerja dengan baik.
      Dengan demikian, nilai ampere pada power supply harus diperbesar.
      Untuk meyakinkan kebenaran asumsi ini, silakan dicoba terlebih dahulu LCD diberi power supply tersendiri dalam jumlah ampere yang memadai, Relay juga diberi power supply tersendiri dalam jumlah ampere yang memadai. Apabila LCD bisa bekerja dengan baik, berarti asumsi tersebut benar adanya.
      Demikian jawaban saya, selamat mencoba semoga berhasil.

      Hapus
  5. Assalamualikum
    Pak saya mau tanya.saya lagi buat alat sensor DHT11 dan ditampilkan di LCD.
    Pertanyaan saya kenapa LCD saya hanya menampilkan kotak kotak hitam,,
    Mohon bantuannya ya pak

    BalasHapus
  6. Pak, mau bertanya pak, tulisan pada LCD terbaca,teapi lampu backgroud nya tidak ada yang nyala, saya pakai 1602 dengan potensio linear 10K. Mohon solusinya pak guru...

    BalasHapus
  7. Terima kasih gan atas pencerahannya, lcd dan arduìno sy sudah tampil...

    BalasHapus