LCD screen: lahat ng kailangan mong malaman

LCD screen

isang Ang LCD screen ay maaaring maging isang solusyon para sa mga proyekto kung saan kailangan mong magpakita ng impormasyon nang hindi kinakailangang umasa sa isang patuloy na konektadong computer. Iyon ay, sa isang proyekto ng Arduino / Raspberry Pi, maaari mong gamitin ang serial port upang makapagpadala ng impormasyon na ipinapakita sa screen upang makakuha ng mga pagbabasa ng sensor, magpakita ng isang grap, account, atbp. Ngunit kung ang iyong proyekto ay patuloy na tumatakbo o malayo mula sa kung saan ka maaaring magkaroon ng isang computer, ang LCD screen ang iyong kaligtasan.

Halimbawa, isipin na nag-install ka ng isang awtomatikong sistema ng patubig at nais mong suriin ang halumigmig at mga pagbabasa ng temperatura kapag pumupunta ka sa iyong hardin ng halaman o hardin. Ang pagkakaroon na kunin ang computer doon upang ikonekta ang Arduino board sa PC ay hindi isang praktikal na solusyon. Sa kasong ito, maaari mong baguhin ang iyong code sa gayon sinabi ang impormasyon ay ipinapakita sa LCD screen at magdagdag pa ng ilang mga susi o pindutan upang maipakita ang iba't ibang impormasyon.

Ano ang isang LCD panel?

Isang likidong kristal na display o LCD (Liquid Crystal Display) Ito ay isang uri ng manipis, flat panel na maaaring magpakita ng mga imahe. Ang bawat panel ay binubuo ng isang tiyak na bilang ng mga kulay o monochrome pixel na inilalagay sa harap ng isang mapagkukunan ng ilaw. Mababa ang kanilang pagkonsumo, kung kaya't perpekto sila para sa ganitong uri ng mga proyektong electronics na may mababang kapangyarihan.

Ang bawat pixel sa LCD screen ay binubuo ng isang layer ng mga molekula na nakahanay sa pagitan ng dalawang mga transparent electrode, at dalawang mga filter ng polariseysyon. Sa pagitan ng ang mga polarizing filter ay mayroong likidong kristal na display, kaya't ang pangalan nito, at pinipigilan ang ilaw na dumaan sa unang filter na mai-block ng pangalawa.

Gayundin, kung napansin mo, kapag hinawakan mo ang isa sa mga screen na ito ang imahe ay deformed at lilitaw ang isang uri ng itim na mantsa kapag pinindot, iyon ay dahil nagsisiksik ka sa likidong kristal at hindi maipapayo na gawin ito ... Maaari kang mapunta sa mas mababang kalidad ng mga kulay ng screen, hindi pantay na pamamahagi ng ilaw o kahit na mga patay na pixel (mga itim na spot o lugar sa screen na hindi nawawala).

Mga LCD screen para sa Arduino at Raspberry Pi

Isang LCD screen, tulad ng ang mga module na umiiral para sa electronics o para sa Arduino, karaniwang mayroong maraming mga haligi upang ipakita ang mga alphanumeric character o simbolo at isa o dalawang mga hilera upang maipakita ang impormasyon. Ginagawa silang mas kawili-wili kaysa sa isang pitong-segment na display, na kung saan kakailanganin upang kumonekta ng maraming mga pin upang maipakita lamang ang isang solong numero, simbolo o titik. Kung nais mong ipakita ang higit pa dapat kang maglagay ng maraming mga pagpapakita.

Sa halip, sa isang solong LCD screen maaari kang magpakita ng higit pang impormasyon. Ngunit dapat mong malaman ang pinout ng ganitong uri ng mga module na maayos upang ikonekta ang mga ito nang maayos. Inirerekumenda kong lagi mong makita ang datasheet ng tukoy na tagagawa at modelo na mayroon ka bilang maaari silang mag-iba.

Hal Maaari mong bilhin ang isang ito mula sa Adafruit sa Amazon, na kung saan ay isa sa pinakatanyag sa isang keyboard at naglalaman ng posibilidad ng pagpapakita ng hanggang sa 16 mga character sa bawat isa sa dalawang linya nito. At mayroong kahit na 20 × 4, o isang bagay na mas advanced atMulti-inch na kulay upang maipakita ang mas kumplikadong mga imahe.

Para sa LCD screen ng Ang Adafruit 16 × 2 ay makikita mo ang datasheet na ito...

Para kay arduino marahil isang mas simple tulad ng isa ay mas mahusay 16x2 LCD screen nang walang keyboard. Kung titingnan mo ang board na ito, mayroon itong 16 na mga pin sa likod. Kung kukuha ka ng board at ibaliktad ito at tingnan ang mga pin nito mula kaliwa hanggang kanan, mayroon kang isang pinout:

  • Pin 16: GND para sa backlight
  • Pin 15: Vcc para sa backlight
  • I-pin ang 7-14: 8-bit (susunod na 8 pin) upang maipadala ang impormasyong maipapakita sa screen
  • Pin 6: basahin at isulat ang pag-sync
  • I-pin 5. R / W (isulat at basahin para sa data at mga utos)
  • Pin 4: RS (tagapili sa pagitan ng mga utos at data)
  • Pin 3: kontrol sa kaibahan
  • Pin 2: Vcc ng 5v para sa lakas
  • Pin 1: GND (0v) para sa lakas

Tandaan na kapag inilagay mo ito sa tamang posisyon ang mga pin ay nabaligtad ...

Pagsasama sa Arduino

16x2 LCD diagram ng koneksyon sa Arduino Uno

Sa ikonekta ito sa arduino Hindi ito masyadong kumplikado, kailangan mo lamang isaalang-alang ang pagsasama ng isang 220 ohm risistor upang makontrol ang input boltahe para sa lakas ng screen, at isang potensyomiter upang mabago ang pagkakaiba ng screen. Pagkatapos ay ikonekta ang bawat isa sa mga pin sa Arduino board nang naaangkop at tapos ka na. Maaari mong tingnan ang imahe ng Fritzing ...

Tulad ng nakikita mo, ang potensyomiter ay sa pamamagitan ng kung saan ito ay pinakain ang LCD screen at ang kaibahan ay maaayos din. Samakatuwid, maiugnay ito sa parehong GND at Vcc ng display, pati na rin sa linya ng kontrol ng backlight at kontrol sa kaibahan. Marahil iyon ang pinaka kumplikado, kung gayon ito ay isang bagay ng pagkonekta sa natitirang mga pin sa mga input / output na iyong gagamitin sa iyong proyekto.

Programming kasama ang Arduino IDE

Para sa programa dapat mong isaalang-alang ang ilang mga kakaibang katangian, Tandaan na dapat mo lamang malaman kung paano magpadala ng data, ngunit ilipat din ito, ilagay ito nang maayos sa screen, atbp. At dapat mo ring gamitin ang isang library na tinatawag LiquidCrystal.h, hangga't ang iyong LCD screen ay may katugmang Hitachi HD44780 chipset. Mayroon kang isang halimbawa ng code dito:

#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);
  }
}

Karagdagang informasiyon - Manwal sa Programming ng Arduino (Libreng PDF)


Maging una sa komento

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.