Skrin LCD: semua yang anda perlu ketahui

Skrin LCD

yang Skrin LCD boleh menjadi penyelesaian untuk projek-projek di mana anda perlu memaparkan maklumat tanpa perlu bergantung pada komputer yang sentiasa bersambung. Maksudnya, dalam projek Arduino / Raspberry Pi, anda dapat menggunakan port bersiri untuk mengirimkan maklumat yang dipaparkan di layar untuk mendapatkan pembacaan sensor, menunjukkan grafik, akaun, dll. Tetapi jika projek anda sentiasa berjalan atau jauh dari tempat anda dapat memiliki komputer, skrin LCD adalah keselamatan anda.

Sebagai contoh, bayangkan bahawa anda memasang sistem pengairan automatik dan anda ingin memeriksa bacaan kelembapan dan suhu semasa anda pergi ke kebun sayur atau kebun anda. Perlu membawa komputer ke sana untuk menyambungkan papan Arduino ke PC bukanlah penyelesaian praktikal. Dalam kes ini, anda boleh mengubah kod anda sehingga dinyatakan maklumat dipaparkan di skrin LCD dan bahkan menambah beberapa kekunci atau butang untuk dapat menunjukkan maklumat yang berbeza.

Apa itu panel LCD?

Paparan kristal cecair atau LCD (Paparan Kristal Cecair) Ini adalah sejenis panel nipis dan rata yang dapat memaparkan gambar. Setiap panel terdiri dari sejumlah warna atau piksel monokrom yang ditempatkan di depan sumber cahaya. Penggunaannya rendah, sebab itulah mereka sangat sesuai untuk projek elektronik berdaya rendah DIY jenis ini.

Setiap piksel pada layar LCD terdiri dari lapisan molekul yang diselaraskan antara dua elektrod telus, dan dua penapis polarisasi. Antara penapis polarisasi terdapat paparan kristal cecair, oleh itu namanya, dan menghalang cahaya yang melewati penapis pertama disekat oleh yang kedua.

Sekiranya anda perhatikan, apabila anda menyentuh salah satu skrin ini gambar itu cacat dan sejenis noda hitam muncul ketika menekan, itu kerana anda memberi tekanan pada kristal cair dan tidak dianjurkan untuk melakukannya ... Anda mungkin berakhir dengan warna skrin berkualiti rendah, pengedaran cahaya yang tidak rata atau bahkan piksel mati (bintik hitam atau kawasan di skrin yang tidak hilang).

Skrin LCD untuk Arduino dan Raspberry Pi

Skrin LCD, seperti modul yang ada untuk elektronik atau untuk Arduino, biasanya mempunyai beberapa lajur untuk memaparkan watak atau simbol alfanumerik dan satu atau dua baris untuk memaparkan maklumat. Itu menjadikannya lebih menarik daripada paparan tujuh segmen, yang harus menghubungkan beberapa pin agar hanya dapat memaparkan satu nombor, simbol atau huruf. Sekiranya anda mahu menunjukkan lebih banyak, anda harus meletakkan beberapa paparan.

Sebaliknya, dengan satu skrin LCD anda dapat memaparkan lebih banyak maklumat. Tetapi anda mesti mengetahui pin modul ini dengan baik untuk menghubungkannya dengan betul. Saya cadangkan anda selalu melihat lembaran data pengeluar dan model tertentu yang anda ada kerana ia mungkin berbeza.

Contohnya Anda boleh membeli yang ini dari Adafruit di Amazon, yang merupakan salah satu yang paling popular dengan papan kekunci dan mengandung kemungkinan menampilkan hingga 16 aksara di masing-masing dua barisnya. Bahkan ada 20 × 4, atau sesuatu yang lebih maju danWarna berbilang inci untuk memaparkan gambar yang lebih kompleks.

Untuk skrin LCD dari Adafruit 16 × 2 anda dapat melihat lembaran data ini...

Untuk arduino mungkin yang lebih sederhana seperti yang lebih baik Skrin LCD 16x2 tanpa papan kekunci. Sekiranya anda melihat papan ini, ia mempunyai 16 pin di bahagian belakang. Sekiranya anda mengambil papan dan membalikkannya dan melihat pin dari kiri ke kanan, anda mempunyai pinout:

  • Pin 16: GND untuk lampu latar
  • Pin 15: Vcc untuk lampu latar
  • Pin 7-14: 8-bit (8 pin seterusnya) untuk menghantar maklumat yang akan dipaparkan di skrin
  • Pin 6: baca dan tulis segerak
  • Pin 5. R / W (tulis dan baca untuk data dan perintah)
  • Pin 4: RS (pemilih antara perintah dan data)
  • Pin 3: kawalan kontras
  • Pin 2: Vcc 5v untuk kuasa
  • Pin 1: GND (0v) untuk kuasa

Ingatlah bahawa apabila anda meletakkannya pada kedudukan yang betul pin dibalikkan ...

Integrasi dengan Arduino

Gambarajah sambungan 16x2 LCD ke Arduino Uno

kepada sambungkannya ke arduino Ia tidak terlalu rumit, anda hanya perlu mempertimbangkan untuk memasukkan perintang 220 ohm untuk mengatur voltan masukan untuk kuasa skrin, dan potensiometer untuk memodulasi kontras skrin. Kemudian sambungkan setiap pin ke papan Arduino dengan betul dan anda sudah selesai. Anda boleh melihat gambar Fritzing ...

Seperti yang anda lihat, potensiometer akan dilaluinya skrin LCD dan kontras juga akan disesuaikan. Oleh itu, ia akan dihubungkan ke kedua GND dan Vcc paparan, serta ke garis kawalan lampu latar dan kawalan kontras. Mungkin itu yang paling rumit, maka itu adalah masalah untuk menghubungkan pin yang tersisa ke input / output yang akan anda gunakan dalam projek anda.

Pengaturcaraan dengan Arduino IDE

Untuk pengaturcaraan anda mesti mengambil kira beberapa keunikan, Perlu diingat bahawa anda bukan sahaja harus tahu cara mengirim data, tetapi juga memindahkannya, meletakkannya dengan baik di skrin, dll. Dan anda juga harus menggunakan perpustakaan yang dipanggil LiquidCrystal.h, selagi skrin LCD anda mempunyai chipset Hitachi HD44780 yang serasi. Anda mempunyai contoh kod 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);
  }
}

Maklumat lanjut - Manual Pengaturcaraan Arduino (PDF Percuma)


Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.