Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Tutorial Lengkap Arduino LCD 16×2: Menghubungkan, Memrogram, dan Menampilkan Data

Dalam tutorial Arduino ini kita akan mempelajari cara menghubungkan dan menggunakan LCD (Liquid Crystal Display) dengan Arduino. Tampilan LCD seperti ini sangat populer dan banyak digunakan dalam banyak proyek elektronik karena mereka bagus untuk menampilkan informasi sederhana, seperti data sensor, sambil sangat terjangkau.

Saya telah menggunakannya dalam beberapa proyek Arduino saya, dan Anda dapat memeriksa mereka di sini:

  • Proyek Sistem Keamanan dan Alarm Arduino
  • Proyek Mesin Jualan Otomatis Berbasis Arduino DIY
  • Proyek Pengukur Jarak dan Tingkat Digital Berbasis Arduino

Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah. Ini mencakup semua yang perlu Anda ketahui tentang menggunakan tampilan karakter LCD dengan Arduino, seperti, pinout LCD, diagram kabeling, dan beberapa kode contoh.

Apa itu Tampilan Karakter LCD?

Tampilan karakter LCD adalah jenis tampilan unik yang hanya dapat mengeluarkan karakter ASCII individual dengan ukuran tetap. Menggunakan karakter individual ini lalu kita dapat membentuk teks.

Jika kita melihat lebih dekat pada tampilan kita dapat memperhatikan bahwa ada area persegi panjang kecil yang terdiri dari grid piksel 5×8. Setiap piksel dapat menyala secara individual, dan jadi kita dapat menghasilkan karakter dalam setiap grid.

Tutorial Lengkap Arduino LCD 16×2: Menghubungkan, Memrogram, dan Menampilkan Data

Jumlah area persegi panjang menentukan ukuran LCD. LCD paling populer adalah LCD 16×2, yang memiliki dua baris dengan 16 area persegi panjang atau karakter. Tentu saja, ada ukuran lain seperti 16×1, 16×4, 20×4 dan seterusnya, tetapi semuanya bekerja pada prinsip yang sama. Juga, LCD ini dapat memiliki warna latar belakang dan teks yang berbeda.

Pinout LCD 16×2

Ini memiliki 16 pin dan yang pertama dari kiri ke kanan adalah pin Ground. Pin kedua adalah VCC yang kita hubungkan ke pin 5 volt pada papan Arduino. Berikutnya adalah pin Vo di mana kita dapat memasang potensiometer untuk mengontrol kontras tampilan.

Selanjutnya, pin RS atau register select pin digunakan untuk memilih apakah kita akan mengirimkan perintah atau data ke LCD. Misalnya jika pin RS diatur pada keadaan rendah atau nol volt, maka kita mengirimkan perintah ke LCD seperti: set kursor ke lokasi tertentu, hapus tampilan, matikan tampilan dan seterusnya. Dan saat pin RS diatur pada keadaan tinggi atau 5 volt kita mengirimkan data atau karakter ke LCD.

Tutorial Lengkap Arduino LCD 16×2: Menghubungkan, Memrogram, dan Menampilkan Data

Selanjutnya adalah pin R/W yang memilih mode apakah kita akan membaca atau menulis ke LCD. Di sini mode write jelas dan digunakan untuk menulis atau mengirimkan perintah dan data ke LCD. Mode read digunakan oleh LCD sendiri saat mengeksekusi program yang kita tidak perlu membahasnya dalam tutorial ini.

Selanjutnya adalah pin E yang mengaktifkan penulisan ke register, atau 8 pin data berikutnya dari D0 hingga D7. Jadi melalui pin ini kita mengirimkan data 8 bit saat kita menulis ke register atau misalnya jika kita ingin melihat huruf besar A pada tampilan kita akan mengirimkan 0100 0001 ke register sesuai tabel ASCII. Dua pin terakhir A dan K, atau anode dan cathode adalah untuk LED back light.

Setelah semuanya kita tidak perlu terlalu khawatir tentang cara kerja LCD, karena Liquid Crystal Library merawat hampir semuanya. Dari situs resmi Arduino Anda dapat menemukan dan melihat fungsi dari library yang memungkinkan penggunaan LCD yang mudah. Kita dapat menggunakan Library dalam mode 4 atau 8 bit. Dalam tutorial ini kita akan menggunakannya dalam mode 4 bit, atau kita hanya akan menggunakan 4 dari 8 pin data.

Cara Menghubungkan Arduino ke LCD – Diagram Kabeling

Ini adalah cara kita harus menghubungkan tampilan LCD 16×2 ke papan Arduino.

Tutorial Lengkap Arduino LCD 16×2: Menghubungkan, Memrogram, dan Menampilkan Data

Kita akan hanya menggunakan 6 pin input digital dari papan Arduino. Register LCD dari D4 hingga D7 akan dihubungkan ke pin digital Arduino dari 4 hingga 7. Pin Enable akan dihubungkan ke pin nomor 2 dan pin RS akan dihubungkan ke pin nomor 1. Pin R/W akan dihubungkan ke Ground dan pin Vo akan dihubungkan ke pin tengah potensiometer.

Anda dapat mendapatkan komponen ini dari salah satu situs di bawah ini:

  • LCD Karakter 16×2……………………..
  • Potensiometer …………………………….
  • Papan Arduino ……………………………
  • Papan roti dan Kabel Lompatan ………

Mengatur kontras LCD

Kita dapat mengatur kontras LCD dengan menyesuaikan masukan tegangan pada pin Vo. Kita menggunakan potensiometer karena dengan cara itu kita dapat dengan mudah menyetel kontras secara halus, dengan menyesuaikan tegangan masukan dari 0 hingga 5V.

Tutorial Lengkap Arduino LCD 16×2: Menghubungkan, Memrogram, dan Menampilkan Data

Bisakah saya menggunakan LCD tanpa Potensiometer?

Ya, dalam kasus kita tidak memiliki potensiometer, kita masih dapat mengatur kontras LCD dengan menggunakan pembagi tegangan yang terbuat dari dua resistor. Dengan menggunakan pembagi tegangan kita perlu menetapkan nilai tegangan antara 0 dan 5V untuk mendapatkan kontras yang baik pada tampilan. Saya menemukan bahwa tegangan sekitar 1V bekerja sangat bagus untuk LCD saya. Saya menggunakan resistor 1K dan 220 ohm untuk mendapatkan kontras yang baik.

Tutorial Lengkap Arduino LCD 16×2: Menghubungkan, Memrogram, dan Menampilkan Data

Ada juga cara lain untuk mengatur kontras LCD, dan itu dengan menyediakan sinyal PWM dari Arduino ke pin Vo LCD. Kita dapat menghubungkan pin Vo ke pin PWM Arduino mana pun, dan di bagian setup, kita dapat menggunakan baris kode berikut:

analogWrite(11,100); // Generate PWM signal at pin D11, value of 100 (out of 255)Code language: Arduino (arduino)

Ini akan menghasilkan sinyal PWM pada pin D11, dengan nilai 100 dari 255, yang diterjemahkan menjadi tegangan dari 0 hingga 5V, akan sekitar 2V masukan pada pin LCD Vo.

Kode LCD Arduino

Ini adalah kode sederhana yang melalui kita dapat menjelaskan prinsip kerja dari library Liquid Crystal. Ini adalah kode dari contoh pertama dari video:

/* * Arduino LCD Tutorial * * Crated by Dejan Nedelkovski, * www.HowToMechatronics.com * */ #include <LiquidCrystal.h> // includes the LiquidCrystal Library LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display } } void loop() { lcd.print("Arduino"); // Prints "Arduino" on the LCD delay(3000); // 3 seconds delay lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed lcd.print("LCD Tutorial"); delay(3000); lcd.clear(); // Clears the display lcd.blink(); //Displays the blinking LCD cursor delay(4000); lcd.setCursor(7,1); delay(3000); lcd.noBlink(); // Turns off the blinking LCD cursor lcd.cursor(); // Displays an underscore (line) at the position to which the next character will be written delay(4000); lcd.noCursor(); // Hides the LCD cursor lcd.clear(); // Clears the LCD screen }Code language: Arduino (arduino)

Deskripsi kode:

Pertama yang perlu kita lakukan adalah memasukkan Liquid Crystal Library. Kita dapat melakukannya seperti ini: Sketch > Include Library > Liquid Crystal. Kemudian kita harus membuat objek LC. Parameter objek ini harus berupa nomor pin Input Digital dari papan Arduino yang masing-masing sesuai dengan pin LCD sebagai berikut: (RS, Enable, D4, D5, D6, D7). Di setup kita harus menginisialisasi antarmuka ke LCD dan menentukan dimensi tampilan menggunakan fungsi begin() .

Di loop kita menulis program utama kita. Menggunakan fungsi print() kita mencetak ke LCD.

lcd.print("Arduino"); // Prints "Arduino" on the LCDCode language: Arduino (arduino)

Fungsi setCursor() digunakan untuk menetapkan lokasi di mana teks selanjutnya yang ditulis ke LCD akan ditampilkan.

lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed Code language: Arduino (arduino)

Fungsi blink() digunakan untuk menampilkan kursor berkedip dan fungsi noBlink() untuk mematikannya.

lcd.blink(); //Displays the blinking LCD cursorCode language: Arduino (arduino)

Fungsi cursor() digunakan untuk menampilkan kursor garis bawah dan fungsi noCursor() untuk mematikannya. Menggunakan fungsi clear() kita dapat menghapus layar LCD.

lcd.clear(); // Clears the LCD screenCode language: Arduino (arduino)

Contoh teks bergulir pada LCD 16×2 dan Arduino

Dalam kasus kita memiliki teks dengan panjang lebih dari 16 karakter, kita dapat menggulir teks menggunakan fungsi scrollDisplayLeft() atau scrollDisplayRight() dari library LiquidCrystal.

Ini adalah contoh kode:

#include <LiquidCrystal.h> LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16, 2); lcd.print("Scrolling Text Example"); } void loop() { lcd.scrollDisplayLeft(); delay(500); }Code language: Arduino (arduino)

Kita dapat memilih apakah teks akan bergulir ke kiri atau kanan, menggunakan fungsi scrollDisplayLeft() atau scrollDisplayRight(). Dengan fungsi delay() kita dapat mengatur kecepatan menggulir.

Jika Anda ingin lebih banyak kontrol atas cara teks bergulir, Anda juga dapat membuat menggulir sendiri menggunakan loop "for". Ini adalah contoh:

#include <LiquidCrystal.h> LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display } void loop() { // scroll text to the right for (int i = 0; i <= 13; i++) { lcd.setCursor(i, 0); // Sets the location at which subsequent text written to the LCD will be displayed lcd.print("LCD"); delay(500); // 1 second delay lcd.clear(); // Write a character to the LCD } // scroll text to the left for (int i = 12; i >= 1; i--) { lcd.setCursor(i, 0); lcd.print("LCD"); delay(500); lcd.clear(); } }Code language: Arduino (arduino)

Cara Membuat dan Menampilkan Karakter Khusus pada LCD

Selain karakter ASCII, dengan library Liquid Crystal juga memungkinkan untuk membuat dan menampilkan karakter khusus pada LCD.

Tutorial Lengkap Arduino LCD 16×2: Menghubungkan, Memrogram, dan Menampilkan Data

Kita dapat menentukan tampilan setiap karakter dengan array dari 8 byte. Ini adalah contoh kode:

#include <LiquidCrystal.h> byte heart[8] = { // Array of bytes B00000, // B stands for binary formatter and the five numbers are the pixels B01010, B11111, B11111, B01110, B00100, B00000, B00000 }; byte smile[8] = { B00000, B00000, B01010, B00000, B10001, B01110, B00000, B00000 }; byte lock[8] = { B01110, B10001, B10001, B11111, B11011, B11011, B11111, B00000 }; byte character[8] = { B11111, B10101, B11111, B01010, B01110, B11111, B01110, B01110 }; LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display lcd.createChar(0, heart); // Create a custom character lcd.createChar(1, smile); lcd.createChar(2, lock); lcd.createChar(3, character); // Clears the LCD screen lcd.clear(); // Print a message to the LCD lcd.print("Custom Character"); } void loop() { lcd.setCursor(1, 1); lcd.write(byte(0)); // Display the custom character 0, the heart lcd.setCursor(5, 1); lcd.write(byte(1)); lcd.setCursor(9, 1); lcd.write(byte(2)); lcd.setCursor(13, 1); lcd.write(byte(3)); }Code language: Arduino (arduino)

Kita dapat memperhatikan bagaimana kita dapat menentukan tampilan karakter dengan mengubah 0 menjadi 1 dalam grid piksel 5×8.

Tutorial Lengkap Arduino LCD 16×2: Menghubungkan, Memrogram, dan Menampilkan Data

Di setup kita harus membuat karakter khusus menggunakan fungsi createChar().

lcd.createChar(0, heart); // Create a custom characterCode language: Arduino (arduino)

Parameter pertama dalam fungsi ini adalah angka antara 0 dan 7, atau kita harus menyisihkan salah satu dari 8 karakter khusus yang didukung. Parameter kedua adalah nama array byte.

Kita menulis karakter khusus ke tampilan menggunakan fungsi write() dan sebagai parameter kita gunakan nomor karakter.

lcd.write(byte(0)); // Display the custom character 0, or the heartCode language: Arduino (arduino)

Lihat juga: Tutorial Arduino Touch Screen | TFT LCD

Kesimpulan

Jadi, kita telah membahas hampir semua yang perlu kita ketahui tentang menggunakan LCD dengan Arduino. Tampilan karakter LCD ini sangat berguna untuk menampilkan informasi untuk banyak proyek elektronik. Dalam contoh di atas saya menggunakan LCD 16×2, tetapi prinsip kerja yang sama berlaku untuk ukuran lain dari tampilan karakter ini.

Saya harap Anda menikmati tutorial ini dan mempelajari hal baru. Jangan ragu untuk bertanya pada bagian komentar di bawah dan jangan lupa untuk memeriksa koleksi lengkap saya 30+ Proyek Arduino.


Proses manufaktur

  1. Menguasai Plunge EDM: Panduan Ultimatif untuk Presisi Electrical Discharge Machining
  2. Besi Cor 101: Komposisi, Penggunaan, Kelebihan dan Kekurangan Dijelaskan
  3. Menguasai Mesin Bor: Panduan Lengkap Mesin Bor
  4. Panduan Lengkap Mesin Rapat: Fungsi, Penggunaan, dan Manfaat
  5. Panduan Lengkap Mesin Pemotong: Fitur, Penggunaan, dan Manfaat
  6. Menguasai Pengerjaan Logam: Dari Ilmu hingga Keterampilan
  7. Panduan Lengkap Mesin CNC: Fitur, Manfaat, dan Aplikasi
  8. Panduan Akhir Mesin Pres: Jenis, Fungsi, dan Operator
  9. Pres Hidrolis Dijelaskan: Cara Kerja dan Penggunaan Utama
  10. Plastik Dijelaskan: Jenis, Penggunaan, dan Manfaat dalam Kehidupan Sehari-hari