Mundarija:

LCD 1602 Arduino Uno R3 bilan: 6 qadam
LCD 1602 Arduino Uno R3 bilan: 6 qadam

Video: LCD 1602 Arduino Uno R3 bilan: 6 qadam

Video: LCD 1602 Arduino Uno R3 bilan: 6 qadam
Video: Display input voltage as bargraph on LCD using Arduino and potentiometer 2024, Noyabr
Anonim
LCD 1602 Arduino Uno R3 bilan
LCD 1602 Arduino Uno R3 bilan

Bu darsda biz belgilar va satrlarni ko'rsatish uchun LCD1602 dan foydalanishni o'rganamiz. LCD1602 yoki 1602 belgi tipidagi suyuq kristalli displey-bu harflar, raqamlar va belgilarni ko'rsatish uchun nuqta matritsali modul. U 5x7 yoki 5x11 nuqtali matritsa pozitsiyalaridan iborat; har bir pozitsiya bitta belgini ko'rsatishi mumkin. Ikki belgi orasidagi nuqta va chiziqlar orasidagi bo'shliq mavjud, shuning uchun belgilar va chiziqlarni ajratib turadi. 1602 raqami displeyda 2 qatorni ko'rsatish mumkin va har birida 16 ta belgidan iborat. Endi batafsil ma'lumotni tekshirib ko'ramiz!

1 -qadam: Komponentlar:

- Arduino Uno taxtasi * 1

- USB kabeli * 1

- LCD 1602 *1

- Potentsiometr (50kΩ)* 1

- Non paneli * 1

- o'tish simlari

2 -qadam: printsip

Odatda, LCD1602 parallel portlarga ega, ya'ni

bir vaqtning o'zida bir nechta pinni boshqaradi. LCD1602 sakkiz portli va to'rt portli ulanishlarga bo'linishi mumkin. Agar sakkiz portli ulanish ishlatilsa, Arduino Uno kartasining barcha raqamli portlari deyarli band. Agar siz ko'proq sensorlarni ulashni xohlasangiz, portlar bo'lmaydi. Shuning uchun, bu erda to'rt portli ulanish yaxshiroq qo'llanilishi uchun ishlatiladi.

LCD 1602 pinlari va ularning vazifalari

VSS: erga ulangan

VDD: +5V quvvat manbaiga ulangan

VO: kontrastni sozlash uchun

RS: LCD xotirasida ma'lumotlarni yozayotgan joyni boshqaradigan registrni tanlash uchun pin. Siz ekranda nima borligini saqlaydigan ma'lumotlar registrini yoki LCD regulyatori nima qilish kerakligi to'g'risida ko'rsatmalarni tanlashingiz mumkin.

R/V: o'qish va yozish rejimini tanlash uchun o'qish/yozish pimi

E: yuqori darajali (1) qabul qilinganida ma'lumotni o'qiy oladigan pin. Ko'rsatmalar signal yuqori darajadan past darajaga o'zgarganda bajariladi.

D0-D7: ma'lumotlarni o'qish va yozish

A va K: LCD orqa nuri boshqariladigan pinlar. K ni GND va A ni 3.3v ga ulang. Orqa yorug'likni oching, shunda siz nisbatan qorong'i muhitda aniq belgilarni ko'rasiz.

3 -qadam: sxematik diagramma

Sxematik diagramma
Sxematik diagramma

4 -qadam: protseduralar

K ni GND va A ni 3,3 V ga ulang, shunda LCD1602 ning orqa nuri yoqiladi. VSS -ni GND va LCD1602 -ni quvvat manbaiga ulang. VO ni potentsiometrning o'rta piniga ulang - uning yordamida siz ekran displeyining kontrastini sozlashingiz mumkin. RSni D4 ga va R/V pinini GND ga ulang, ya'ni siz LCD1602 ga belgilar yozishingiz mumkin. E ni pin6 ga ulang va LCD1602da ko'rsatilgan belgilar D4-D7 tomonidan boshqariladi. Dasturlash uchun funktsiya kutubxonalarini chaqirish orqali optimallashtiriladi.

1 -qadam:

Zanjirni yarating.

2 -qadam:

Kodni https://github.com/primerobotics/Arduino saytidan yuklab oling

3 -qadam:

Eskizni Arduino Uno taxtasiga yuklang

Kodni boshqaruv paneliga yuklash uchun Yuklash belgisini bosing.

Agar oynaning pastki qismida "Yuklandi" tugmasi paydo bo'lsa, bu eskiz muvaffaqiyatli yuklanganligini bildiradi.

Eslatma: LCD1602 -dagi potentsiometrni aniq ko'rsatmaguncha sozlash kerak bo'lishi mumkin.

5 -qadam: kod

Kod
Kod

// LCD 1602

// Siz hozir qilishingiz kerak

LCD1602 displeyida "PRIMEROBOTICS" va "Salom, dunyo" belgilarini ko'ring.

// Veb -sayt: www.primerobotics.in

#qo'shing

// kutubxona kodini o'z ichiga oladi

/**********************************************************/

char

qator1 = "PrimeRobotics"; // LCD displeyda chop etiladigan satr

char

array2 = "Salom, dunyo!"; // LCD displeyda chop etiladigan satr

int tim =

250; // kechikish vaqtining qiymati

// kutubxonani ishga tushiring

interfeys pinlarining raqamlari bilan

Suyuq kristal

LCD (4, 6, 10, 11, 12, 13);

/*********************************************************/

bo'sh o'rnatish ()

{

lcd.begin (16, 2); // LCD -ning ustunlar sonini o'rnating va

qatorlar:

}

/*********************************************************/

bo'sh halqa ()

{

lcd.setCursor (15, 0); // kursorni 15 -ustunga, 0 -qatorga o'rnating

uchun (int positionCounter1 = 0;

positionCounter1 <26; positionCounter1 ++)

{

lcd.scrollDisplayLeft (); // Displey tarkibini aylantiradi

chapdagi bo'sh joy.

lcd.print (qator1 [positionCounter1]); // Xabarni LCD displeyga chop eting.

kechikish (vaqt); // 250 mikrosaniyani kuting

}

lcd.clear (); // LCD displeyni tozalaydi va ekranni joylashtiradi

kursor chap yuqori burchakda.

lcd.setCursor (15, 1); // kursorni 15 -ustunning 1 -qatoriga o'rnating

uchun (int positionCounter2 = 0;

positionCounter2 <26; positionCounter2 ++)

{

lcd.scrollDisplayLeft (); // Displey tarkibini aylantiradi

chapdagi bo'sh joy.

lcd.print (qator2 [positionCounter2]); // Xabarni LCD displeyga chop eting.

kechikish (vaqt); // 250 mikrosaniyani kuting

}

lcd.clear (); // LCD displeyni tozalaydi va ekranni joylashtiradi

kursor chap yuqori burchakda.

}

/**********************************************************/

6 -qadam: kodni tahlil qilish

Tavsiya: