Isi kandungan:

Tatal Garis LCD Tunggal: 4 Langkah (dengan Gambar)
Tatal Garis LCD Tunggal: 4 Langkah (dengan Gambar)

Video: Tatal Garis LCD Tunggal: 4 Langkah (dengan Gambar)

Video: Tatal Garis LCD Tunggal: 4 Langkah (dengan Gambar)
Video: layar Lcd hp bergaris..!! || Ini Solusinya Working 2024, November
Anonim
Image
Image

Perpustakaan Liquid Crystal mempunyai dua fungsi berguna scrollDisplayLeft () dan scrollDisplayRight (). Fungsi-fungsi ini menatal keseluruhan paparan. Maksudnya, mereka menatal kedua baris pada LCD 1602 dan keempat-empat baris pada LCD 2004. Yang sering kita perlukan adalah kemampuan untuk menatal satu baris ke paparan ini dan bukannya menatal keseluruhan paparan.

Instructable ini menyediakan dua fungsi tambahan, scrollInFromRight (baris untuk menampilkan teks, rentetan yang akan ditatal) dan scrollInFromLeft (baris untuk memaparkan teks, rentetan yang akan ditatal). Kedua fungsi ini yang menatal garis ke dalam layar LCD yang digabungkan dengan dua fungsi, scrollLineRight (garis untuk memaparkan teks, rentetan yang akan ditatal) dan scrollLineLeft (baris untuk memaparkan teks, tali yang akan ditatal) dari Instructable saya sebelumnya, yang disajikan berfungsi untuk menatal garis dari skrin, memberi kita beberapa cara yang kuat untuk mengawal bagaimana teks dapat disampaikan pada, atau dikeluarkan dari, layar LCD.

Langkah 1: Apa yang Diperlukan

Menyambung
Menyambung

- Paparan mandiri LCD 1602 atau 2004, atau pelindung LCD

- Lihat catatan di bawah mengenai penggunaan paparan LCD 2004

- Arduino UNO R3 atau klon

- Kabel USB untuk menyambungkan Arduino ke komputer

- Setengah ukuran, 400 mata dasi, papan roti

- The Arduino IDE

- Platform eksperimen (pilihan, tetapi bermanfaat)

Item yang diperlukan adalah skrin LCD sama ada 1602 atau 2004 [jika 2004 digunakan, ia akan berfungsi tanpa masalah untuk menatal dari kanan dengan mengubah fungsi lcd.begin () untuk menggambarkan bahawa anda sekarang menggunakan baris 20 aksara x 4 paparan. [Untuk menatal dari kiri menggunakan paparan 2004, diperlukan penulisan semula kod fungsi s crollInFromLeft ()]. Sebagai tambahan kepada LCD, anda memerlukan Arduino UNO atau klon, Arduino IDE, dan kabel USB untuk menyambungkan Arduino ke komputer.

Perisai LCD boleh digunakan sebagai ganti LCD mandiri yang ditunjukkan di sini. Sekiranya demikian, penugasan pin untuk LCD dalam lakaran di bawah perlu diubah.

- Untuk paparan LCD 1602 yang bebas, saya menggunakan tugasan pin berikut dalam lakaran saya:

// LiquidCrystal (rs, aktifkan, d4, d5, d6, d7)

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

dan termasuk perpustakaan Liquid Crystal LiquidCrystal.h.

- Untuk pelindung LCD, saya menggunakan penugasan pin berikut dalam lakaran saya, dan juga menyertakan perpustakaan Liquid Crystal LiquidCrystal.h.

// LiquidCrystal (rs, aktifkan, d4, d5, d6, d7)

LiquidCrystal lcd (8, 13, 9, 4, 5, 6, 7);

Mana-mana laluan akan menggunakan kod di sini, iaitu perisai LCD atau LCD mandiri. Paparan 1602 mandiri LCD digunakan dalam Instructable ini, tetapi seperti yang disebutkan, perisai 1602 dapat digunakan juga jika penugasan pin yang berbeda diperhitungkan.

Saya menggunakan "platform eksperimen" untuk menghubungkan Arduino UNO ke setengah ukuran, 400 mata dasi, papan roti. (Lihat instruksional saya yang terdahulu, "Platform Eksperimental Untuk Arduino UNO R3, Cara Menyiapkannya Untuk Digunakan"). Walau bagaimanapun, platform eksperimen tidak diperlukan, walaupun bagi saya ia menjadikan penyambungan LCD ke UNO menjadi lebih mudah dan cepat.

Tugasan yang saya gunakan untuk menyambungkan LCD ke UNO dapat dilihat di atas.

Langkah 2: Hookup

LCD dipasang ke papan roti dan kemudian kabel penyambung disambungkan dari papan roti ke pin yang sesuai di Arduino (lihat langkah 2 jika anda mempunyai pertanyaan mengenai sambungan yang saya gunakan).

Saya lebih suka LCD yang berdiri sendiri untuk projek ini daripada perisai kerana ini lebih memuaskan bagi saya, dan membolehkan saya melihat pin yang tersedia dengan mudah. Ini juga membolehkan saya menggunakan potensiometer yang mempunyai kenop, bukannya potensiometer perisai yang mesti disesuaikan dengan pemutar skru.

LCD mandiri memerlukan penggunaan potensiometer 10k ohm yang berasingan. Seperti yang dinyatakan di atas, saya menggunakan satu dengan kenop yang mempunyai pengelap yang disambungkan ke pin LCD ketiga (mengira dari kanan dengan pin LCD menghadap anda). Potensiometer digunakan untuk mengawal kontras LCD. Sambungannya sama untuk tahun 1602 dan 2004. Namun, pernyataan lcd.begin (16, 2) perlu diubah dalam lakaran ke lcd.begin (20, 4) untuk menunjukkan bahawa LCD kita telah berubah dari 16 watak dengan paparan dua baris hingga watak 20 dengan empat baris satu.

Melihat gambar yang dilampirkan menunjukkan hubungan yang saya gunakan, termasuk platform eksperimen, dan potensiometer 10k.

Langkah 3: Lakaran

Lakaran
Lakaran
Lakaran
Lakaran
Lakaran
Lakaran

Cukup masukkan lakaran yang dilampirkan ke dalam Arduino IDE. Perlu diingat bahawa laman Instructable sering membuang semua tanda yang lebih besar daripada dan tanda di antara mereka. Oleh itu, pastikan dan sertakan teksnya, #masuk LiquidCrystal.h dan sertakan kata-kata LiquidCrystal.h di dalamnya lebih besar daripada dan lebih kecil daripada simbol.

// Lakarkan untuk menatal watak ke layar LCD

#include // Lihat catatan dalam teks mengenai apa yang diperlukan di sini, iaitu, LiquidCrystal.h yang dilampirkan di dalam

// lebih besar daripada dan kurang daripada simbol

// Laman web ini sering membuang simbol yang lebih besar daripada dan simbol di antara keduanya

// LiquidCrystal (rs, aktifkan, d4, d5, d6, d7)

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

// Nyatakan lcd sebagai Objek LiquidCrystal

int i = 0;

int j = 0;

int k = 0;

int delayTime2 = 350; // Kelewatan antara pergeseran

batal scrollInFromRight (garis int, char str1 ) {

// Ditulis oleh R. Jordan Kreindler Jun 2016

i = strlen (str1);

untuk (j = 16; j> = 0; j--) {

lcd.setCursor (0, baris);

untuk (k = 0; k <= 15; k ++) {

lcd.print (""); // Garis yang jelas

}

lcd.setCursor (j, baris);

lcd.print (str1);

kelewatan (delayTime2);

}

}

batal scrollInFromLeft (garis int, char str1 ) {

// Ditulis oleh R. Jordan Kreindler Jun 2016

i = 40 - strlen (str1);

garis = garis - 1;

untuk (j = i; j <= i + 16; j ++) {

untuk (k = 0; k <= 15; k ++) {

lcd.print (""); // Garis yang jelas

}

lcd.setCursor (j, baris);

lcd.print (str1);

kelewatan (delayTime2);

}

}

batal persediaan () {

Serial.begin (9600);

Serial.println ("Memulakan ujian …");

lcd.begin (16, 2);

lcd.clear ();

lcd.print ("Uji Sahaja");

}

gelung kosong () {

lcd.clear ();

tatalInFromRight (0, "Line1 Dari Kanan");

tatalInFromRight (1, "Line2 Dari Kanan");

lcd.clear ();

tatalInFromLeft (0, "Baris1 Dari Kiri.");

tatalInFromLeft (1, "Line2 Dari Kiri.");

lcd.clear ();

tatalInFromRight (0, "Line1 Dari Kanan");

tatalInFromLeft (1, "Line2 Dari Kiri.");

lcd.clear ();

}

Dua fungsi: scrollInFromRight (baris untuk menampilkan teks, tali yang akan ditatal) dan tatalInFromLeft (baris untuk menampilkan teks, tali yang akan ditatal) dapat dipindahkan ke dalam lakaran anda untuk mengendalikan garis yang akan digulir ke layar LCD. Fungsi-fungsi ini memberikan cara elegan untuk memindahkan teks baru ke layar.

Ketika digabungkan dengan dua fungsi dalam sketsa yang terkandung dalam Instructable "Gulung satu garis LCD ke kiri atau kanan, Bagaimana" keempat fungsi tersebut menyediakan cara elegan untuk menatal teks ke dan mematikan paparan LCD. Fungsi-fungsi ini membolehkan anda menatal teks satu baris pada satu waktu, dan tidak memerlukan keseluruhan paparan digulir seperti fungsi, scrollDisplayLeft () dan scrollDisplayRight ().

Keupayaan menatal ini membolehkan kita menampilkan garis yang lebih panjang sehingga biasanya paparan dapat ditunjukkan. Maksudnya, untuk paparan 1602 kita tidak dibatasi hanya 16 aksara setiap baris (walaupun hanya 16 yang akan ditampilkan pada satu masa), dan untuk tahun 2004 kita tidak dibatasi kepada 20 aksara setiap baris.

Sebagai tambahan, anda mungkin mahu menyesuaikan waktu paparan antara tatal agar sesuai dengan keperluan anda.

Langkah 4: Selepas itu

Itu sahaja yang ada. Fungsi-fungsi ini dan dua dari Instructable sebelumnya saya dapat ditambahkan pada sketsa yang anda miliki yang menggunakan LCD dan memaparkan teks. Seperti yang dinyatakan, kemampuan untuk menggunakan garis yang lebih panjang adalah manfaat pasti yang mungkin dilakukan melalui penggunaan tatal.

Sekiranya anda ingin menghubungi saya dengan sebarang pertanyaan atau untuk maklumat tambahan, atau untuk memperluas pengetahuan saya di kawasan yang dibentangkan, saya boleh dihubungi di [email protected]. (sila ganti 'i' kedua dengan 'e' untuk menghubungi saya.

Disyorkan: