Layar LCD: semua yang perlu Anda ketahui

layar LCD

sebuah Layar LCD bisa jadi solusinya untuk proyek-proyek di mana Anda perlu menampilkan informasi tanpa harus bergantung pada komputer yang selalu terhubung. Artinya, dalam proyek Arduino / Raspberry Pi, Anda dapat menggunakan port serial untuk mengirimkan informasi yang ditampilkan di layar untuk mendapatkan pembacaan sensor, menampilkan grafik, akun, dll. Tetapi jika proyek Anda terus berjalan atau jauh dari tempat Anda dapat memiliki komputer, layar LCD adalah penyelamat Anda.

Misalnya, bayangkan Anda memasang sistem irigasi otomatis dan Anda ingin memeriksa pembacaan kelembapan dan suhu saat Anda pergi ke kebun sayur atau kebun. Harus membawa komputer ke sana untuk menghubungkan papan Arduino ke PC bukanlah solusi praktis. Dalam hal ini, Anda dapat mengubah kode Anda informasi ditampilkan di layar LCD dan bahkan menambahkan beberapa tombol atau tombol untuk dapat menampilkan informasi yang berbeda.

Apa itu panel LCD?

Layar kristal cair atau LCD (Liquid Crystal Display) Ini adalah semacam panel datar tipis yang dapat menampilkan gambar. Setiap panel terdiri dari sejumlah warna atau piksel monokrom yang ditempatkan di depan sumber cahaya. Konsumsi mereka rendah, itulah sebabnya mereka ideal untuk jenis proyek elektronik berdaya rendah DIY ini.

Setiap piksel pada layar LCD terdiri dari lapisan molekul yang disejajarkan antara dua elektroda transparan, dan dua filter polarisasi. Antara filter polarisasi ada layar kristal cair, itulah namanya, dan mencegah cahaya yang melewati filter pertama diblokir oleh filter kedua.

Selain itu, jika Anda memperhatikan, saat Anda menyentuh salah satu layar ini gambar berubah bentuk dan muncul semacam noda hitam saat menekan, itu karena Anda memberikan tekanan pada kristal cair dan tidak disarankan untuk melakukannya ... Anda mungkin akan mendapatkan warna layar dengan kualitas lebih rendah, distribusi pencahayaan yang tidak merata atau bahkan piksel mati (bintik hitam atau area di layar yang tidak hilang).

Layar LCD untuk Arduino dan Raspberry Pi

Layar LCD, seperti modul-modul yang ada untuk elektronik atau untuk Arduino, biasanya memiliki beberapa kolom untuk menampilkan karakter alfanumerik atau simbol dan satu atau dua baris untuk menampilkan informasi. Itu membuatnya jauh lebih menarik daripada tampilan tujuh segmen, yang harus menghubungkan beberapa pin agar hanya dapat menampilkan satu angka, simbol, atau huruf. Jika Anda ingin menampilkan lebih banyak, Anda harus menempatkan beberapa tampilan.

Sebaliknya, dengan satu layar LCD Anda dapat menampilkan lebih banyak informasi. Tetapi Anda harus mengetahui pinout dari jenis modul ini dengan baik untuk menghubungkannya dengan benar. Saya sarankan Anda selalu melihat lembar data pabrikan dan model tertentu yang Anda miliki karena mungkin berbeda-beda.

Misalnya Anda dapat membeli yang ini dari Adafruit di Amazon, yang merupakan salah satu yang paling populer dengan papan tombol dan berisi kemungkinan untuk menampilkan hingga 16 karakter di masing-masing dari dua barisnya. Dan bahkan ada 20 × 4, atau sesuatu yang lebih maju danWarna multi-inci untuk menampilkan gambar yang lebih kompleks.

Untuk layar LCD Adafruit 16x2 Anda dapat melihat lembar data ini...

Untuk Arduino mungkin yang lebih sederhana seperti yang satu itu lebih baik Layar LCD 16x2 tanpa keyboard. Jika Anda melihat papan ini, ada 16 pin di bagian belakang. Jika Anda mengambil papan dan membalikkannya dan melihat pinnya dari kiri ke kanan, Anda memiliki pinout:

  • Pin 16: GND untuk lampu latar
  • Pin 15: Vcc untuk lampu latar
  • Pin 7-14: 8-bit (8 pin berikutnya) untuk mengirimkan informasi yang akan ditampilkan di layar
  • Pin 6: sinkronisasi baca dan tulis
  • Pin 5. R / W (menulis dan membaca data dan perintah)
  • Pin 4: RS (pemilih antara perintah dan data)
  • Pin 3: kontrol kontras
  • Pin 2: Vcc dari 5v untuk daya
  • Pin 1: GND (0v) untuk daya

Ingatlah bahwa ketika Anda meletakkannya di posisi yang benar, pin akan terbalik ...

Integrasi dengan Arduino

Diagram koneksi LCD 16x2 ke Arduino Uno

untuk hubungkan ke Arduino Tidak terlalu rumit, Anda hanya perlu mempertimbangkan untuk memasukkan resistor 220 ohm untuk mengatur tegangan input untuk daya layar, dan potensiometer untuk memodulasi kontras layar. Kemudian hubungkan masing-masing pin ke papan Arduino dengan tepat dan Anda selesai. Anda dapat melihat gambar Fritzing ...

Seperti yang terlihat, potensiometer akan melalui mana itu akan diumpankan layar LCD dan kontrasnya juga akan disesuaikan. Oleh karena itu, ini akan ditautkan ke GND dan Vcc tampilan, serta ke garis kontrol lampu latar dan kontrol kontras. Mungkin itu yang paling rumit, kemudian ini adalah masalah menghubungkan pin yang tersisa ke input / output yang akan Anda gunakan dalam proyek Anda.

Pemrograman dengan Arduino IDE

Untuk pemrograman Anda harus mempertimbangkan beberapa keanehan, Ingatlah bahwa Anda tidak hanya harus tahu cara mengirim data, tetapi juga memindahkannya, menempatkannya dengan baik di layar, dll. Dan Anda juga harus menggunakan pustaka bernama Kristal Cair.h, selama layar LCD Anda memiliki chipset Hitachi HD44780 yang kompatibel. Anda memiliki contoh kode di sini:

#include <LiquidCrystal.h>

// Definimos las constantes
#define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso
#define ROWS 2 // Aqui las filas x2
#define VELOCIDAD 200 // Velocidad a la que se movera el texto

// Indicamos los pines de la interfaz donde hayas conectado el LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Para el texto que se muestra
String texto_fila = "Ejemplo LCD";

void setup() {
  // Configura el monitor serie
  Serial.begin(9600);

  // Configurde filas y columnas
  lcd.begin(COLS, ROWS);
}

void loop() {

  // Tamaño del texto a mostrar
  int tam_texto=texto_fila.length();

  // Indicamos que la entrada de texto se hace por la izquierda
  for(int i=tam_texto; i>0 ; i--)
  {
    String texto = texto_fila.substring(i-1);

    // Limpia la pantalla para poder mostrar informacion diferente
    lcd.clear();

    //Situar el cursor en el lugar adecuado, en este caso al inicio
    lcd.setCursor(0, 0);

    // Escribimos el texto "Ejemplo LCD"
    lcd.print(texto);

    // Esperara la cantidad de milisegundos especificada, en este caso 200
    delay(VELOCIDAD);
  }

  // Desplazar el texto a la izquierda en primera fila
  for(int i=1; i<=16;i++) { 
    lcd.clear();
    lcd.setCursor(i, 0); 
    lcd.print(texto_fila); 
    delay(VELOCIDAD); } 
  // Desplazar el texto a izquierda en la segunda fila 
    for(int i=16;i>=1;i--)
  {
    lcd.clear();
    lcd.setCursor(i, 1);
    lcd.print(texto_fila);
    delay(VELOCIDAD);
  }
  for(int i=1; i<=tam_texto ; i++)
  {
    String texto = texto_fila.substring(i-1);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print(texto);
    delay(VELOCIDAD);
  }
}

Informasi lebih lanjut - Manual Pemrograman Arduino (PDF Gratis)


Jadilah yang pertama mengomentari

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.