LCD էկրան. Ամեն ինչ, ինչ դուք պետք է իմանաք

LCD էկրան

ա LCD էկրանը կարող է լուծում լինել այն նախագծերի համար, որոնցում անհրաժեշտ է տեղեկատվություն ցուցադրել ՝ առանց անընդհատ միացված համակարգչից կախվածություն ունենալու: Այսինքն, Arduino / Raspberry Pi նախագծում դուք կարող եք սերիական պորտով փոխանցել էկրանին ցուցադրվող տեղեկատվությունը `սենսորների ընթերցումներ ստանալու համար, գրաֆիկ ցույց տալու համար հաշիվներ և այլն: Բայց եթե ձեր նախագիծը անընդհատ աշխատում է կամ հեռու է այնտեղից, որտեղ կարող եք համակարգիչ ունենալ, LCD էկրանը ձեր փրկությունն է:

Օրինակ, պատկերացրեք, որ դուք տեղադրում եք ավտոմատացված ոռոգման համակարգ և ցանկանում եք ստուգել խոնավության և ջերմաստիճանի ցուցանիշները, երբ գնում եք ձեր բանջարանոց կամ այգի: Արդուինոյի տախտակը համակարգչին միացնելու համար համակարգիչը այնտեղ տանելը գործնական լուծում չէ: Այս դեպքում կարող եք փոփոխել ձեր կոդը այնպես, որ ասված է տեղեկատվությունը ցուցադրվում է LCD էկրանին և նույնիսկ ավելացնել մի քանի ստեղներ կամ կոճակներ, որպեսզի կարողանանք տարբեր տեղեկություններ ցույց տալ:

Ի՞նչ է LCD վահանակը:

Հեղուկ բյուրեղի ցուցադրություն կամ LCD (Liquid Crystal Display) Դա մի տեսակ բարակ, հարթ վահանակ է, որը կարող է պատկերներ ցուցադրել: Յուրաքանչյուր վահանակ բաղկացած է որոշակի քանակությամբ գունավոր կամ մոնոխրոմ պիքսելներից, որոնք տեղադրված են լույսի աղբյուրի դիմաց: Նրանց սպառումը ցածր է, այդ իսկ պատճառով դրանք իդեալական են այս տեսակի DIY ցածր էներգիայի էլեկտրոնային նախագծերի համար:

LCD էկրանին յուրաքանչյուր պիքսել կազմված է մոլեկուլների շերտից, որը հավասարեցված է երկու թափանցիկ էլեկտրոդների և երկու բևեռացման ֆիլտրերի միջև: Արանքում բևեռացման ֆիլտրեր կան հեղուկ բյուրեղների էկրան, այստեղից էլ գալիս է նրա անվանումը, և թույլ չի տալիս առաջին զտիչով անցնող լույսը երկրորդի կողմից արգելափակվել:

Բացի այդ, եթե նկատել եք, երբ դիպչում եք այս էկրաններից մեկին պատկերը դեֆորմացվում է, և սեղմման ժամանակ հայտնվում է մի տեսակ սեւ բիծ, դա այն է, որ դուք ճնշում եք գործադրում հեղուկ բյուրեղի վրա և ցանկալի չէ դա անել ... Կարող եք հայտնվել էկրանին ավելի ցածր որակի գույներով, լուսավորության անհավասար բաշխմամբ կամ նույնիսկ մեռած պիքսելներ (էկրանի վրա չկանող սեւ կետեր կամ տարածքներ):

LCD էկրաններ Arduino- ի և Raspberry Pi- ի համար

LCD էկրան, ինչպես, օրինակ այն մոդուլները, որոնք գոյություն ունեն էլեկտրոնիկայի կամ Arduino- ի համար, որպես կանոն, ունի բազմաթիվ սյուններ այբբենական թվանշաններ կամ խորհրդանիշներ ցուցադրելու համար, և մեկ կամ երկու տող ՝ տեղեկատվությունը ցուցադրելու համար: Դա նրանց շատ ավելի հետաքրքիր է դարձնում, քան յոթ սեգմենտային էկրանը, որը ստիպված կլինի միացնել մի քանի քորոց, որպեսզի միայն մեկ թվանշան, խորհրդանիշ կամ տառ ցուցադրվի: Եթե ​​ուզում եք ավելին ցույց տալ, պետք է տեղադրեք մի քանի էկրան:

Փոխարենը, մեկ LCD էկրանով դուք կարող եք շատ ավելի շատ տեղեկություններ ցուցադրել: Բայց դուք պետք է լավ իմանաք այս տեսակի մոդուլների pinout- ը `դրանք պատշաճ կերպով միացնելու համար: Խորհուրդ եմ տալիս միշտ տեսնել արտադրողի տվյալների շտեմարանն ու հատուկ մոդելը որ ունեք, քանի որ դրանք կարող են տարբեր լինել:

Eg Դուք կարող եք գնել այս մեկը Adafruit- ից Amazon- ում, որը ստեղնաշարով ամենատարածվածներից մեկն է և պարունակում է իր երկու տողերում մինչև 16 նիշ ցուցադրելու հնարավորություն: Եվ նույնիսկ կան 20 × 4, կամ ինչ-որ բան ավելի առաջադեմ ևՄուլտի դյույմանոց գույն ՝ ավելի բարդ պատկերներ ցուցադրելու համար.

LCD էկրանով Adafruit 16 × 2 կարող եք տեսնել այս տվյալների թերթը...

Արդուինոյի համար գուցե ավելի պարզ է, ինչպես այն մեկը, որն ավելի լավն է 16x2 LCD էկրան առանց ստեղնաշարի, Եթե ​​նայեք այս տախտակին, դրա հետեւի մասում այն ​​ունի 16 քորոց: Եթե ​​տախտակը վերցնեք և շրջեք այն և նայեք դրա քորոցներից ձախից աջ, դուք ունեք մի քորոց.

  • Քորոց 16. GND լուսային լուսավորության համար
  • Քորոց 15. Vcc լուսային լուսավորության համար
  • 7-14 քորոց ՝ 8-բիթանոց (հաջորդ 8 փին) ՝ էկրանին ցուցադրվող տեղեկատվությունը փոխանցելու համար
  • Քորոց 6. Կարդալ և գրել համաժամեցում
  • Pin 5. R / W (գրել և կարդալ տվյալների և հրամանների համար)
  • Քորոց 4. RS (հրամանի և տվյալների միջև ընտրող)
  • Քորոց 3 ՝ հակադրության վերահսկում
  • Քորոց 2. 5 վտ.կտ. էներգիայի համար
  • Կց 1: GND (0v) էներգիայի համար

Հիշեք, որ երբ այն տեղադրեք իր ճիշտ դիրքում, քորոցները հետ են շրջվում ...

Ինտեգրում Arduino- ի հետ

16x2 LCD միացման դիագրամ դեպի Arduino Uno

դեպի միացրեք այն arduino- ին Դա շատ բարդ չէ, պարզապես պետք է հաշվի առնել 220 օհմ դիմադրություն ներառելը `էկրանի հոսանքի համար մուտքային լարումը կարգավորելու համար, և պոտենցիոմետր` էկրանի հակադրությունը կարգավորելու համար: Դրանից հետո յուրաքանչյուր քորոցը պատշաճ կերպով միացրեք Arduino տախտակին և ավարտեք: Կարող եք նայել Ֆրիտցինգի պատկերին ...

Ինչպես տեսնում ես, պոտենցիոմետրը, որի միջոցով սնվելու է կկարգավորվի նաև LCD էկրանը և հակադրությունը: Հետևաբար, այն կկապվի ինչպես ցուցադրման GND- ի, այնպես էլ Vcc- ի, ինչպես նաև լուսավորության լուսավորության կառավարման գծի և հակապատկերի կառավարման հետ: Թերեւս դա ամենաբարդն է, ապա գործը կապված է մնացած քորոցների մուտքերի / ելքերի հետ, որոնք դուք պատրաստվում եք օգտագործել ձեր նախագծում:

Programրագրավորում Arduino IDE- ի հետ

Programրագրավորման համար դուք պետք է հաշվի առնեք որոշ առանձնահատկություններ, Հիշեք, որ դուք ոչ միայն պետք է իմանաք, թե ինչպես ուղարկել տվյալներ, այլև դրանք տեղափոխել, դրանք լավ տեղադրել էկրանին և այլն: Եվ դուք պետք է նաև օգտագործեք կոչվող գրադարան LiquidCrystal.h, քանի դեռ ձեր LCD էկրանն ունի համատեղելի Hitachi HD44780 չիպսեթ: Դուք այստեղ ունեք կոդի օրինակ ՝

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

Լրացուցիչ տեղեկություններ - Arduino ծրագրավորման ձեռնարկ (անվճար PDF)


Հոդվածի բովանդակությունը հավատարիմ է մեր սկզբունքներին խմբագրական էթիկա, Սխալի մասին հաղորդելու համար կտտացրեք այստեղ.

Եղիր առաջին մեկնաբանողը

Թողեք ձեր մեկնաբանությունը

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

*

*

  1. Տվյալների համար պատասխանատու ՝ Միգել Անխել Գատոն
  2. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը: