Мазмуну:

LCD 1602 Arduino Uno R3 менен: 6 кадам
LCD 1602 Arduino Uno R3 менен: 6 кадам

Video: LCD 1602 Arduino Uno R3 менен: 6 кадам

Video: LCD 1602 Arduino Uno R3 менен: 6 кадам
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Ноябрь
Anonim
LCD 1602 Arduino Uno R3 менен
LCD 1602 Arduino Uno R3 менен

Бул сабакта биз белгилерди жана саптарды көрсөтүү үчүн LCD1602ди кантип колдонууну үйрөнөбүз. LCD1602 же 1602 тамга түрүндөгү суюк кристалл дисплейи тамгаларды, сандарды жана символдорду көрсөтүү үчүн чекиттүү матрицанын модулу. Бул 5x7 же 5x11 чекиттүү матрицадан турат; ар бир позиция бир белгини көрсөтө алат. Эки символдун ортосунда чекит бар жана сызыктардын ортосунда боштук бар, ошону менен символдорду жана саптарды ажыратат. 1602 саны дисплейде, 2 катар көрсөтүлүшү мүмкүн жана ар биринде 16 белгиден турат. Эми кененирээк маалыматты текшерип көрөлү!

1 -кадам: компоненттери:

- Arduino Uno тактасы * 1

- USB кабели * 1

- LCD1602 *1

- Потенциометр (50kΩ)* 1

- Нан тактасы * 1

- секирүүчү зымдар

2 -кадам: Принцип

Жалпысынан, LCD1602де параллель порттор бар, башкача айтканда

бир эле учурда бир нече казыктарды көзөмөлдөйт. LCD1602 сегиз порттуу жана төрт порттуу туташууга бөлүнөт. Эгерде сегиз порттуу байланыш колдонулса, анда Arduino Uno тактасынын бардык санарип порттору дээрлик толугу менен ээленген. Эгерде сиз дагы сенсорлорду туташтыргыңыз келсе, порттор болбойт. Ошондуктан, бул жерде жакшы колдонуу үчүн төрт порттуу байланыш колдонулат.

LCD1602 пиндери жана алардын функциялары

VSS: жерге туташкан

VDD: +5V электр булагына туташкан

VO: контрастты тууралоо үчүн

RS: ЖКнын эс тутумунда маалыматтарды жазып жаткан жерди көзөмөлдөгөн регистр тандоо пин. Сиз экранда эмне бар экенин камтыган маалымат реестрин, же ЖКнын контролери мындан ары эмне кылуу керектиги боюнча көрсөтмөлөрдү издей турган көрсөтмө реестрин тандай аласыз.

R/W: Окуу/жазуу түйүнү окуу жана жазуу режимин тандоо үчүн

E: Жогорку деңгээл (1) алынганда маалыматты окуган иштетүүчү пин. Көрсөтмөлөр сигнал жогорку деңгээлден төмөнкү деңгээлге өзгөргөндө иштейт.

D0-D7: маалыматтарды окуу жана жазуу

А жана К: ЖКнын жарыгын көзөмөлдөгөн казыктар. KNDны GND менен Аны 3.3vге туташтырыңыз. Арткы жарыкты ачыңыз жана салыштырмалуу караңгы чөйрөдө ачык каармандарды көрөсүз.

3 -кадам: Схемалык диаграмма

Схемалык диаграмма
Схемалык диаграмма

4 -кадам: Процедуралар

KNDны GNDге жана Aга 3.3 Vга туташтырыңыз, андан кийин LCD1602дин арткы жарыгы күйгүзүлөт. VSSти GNDге жана LCD1602ге энергия булагына туташтырыңыз. VO потенциометрдин ортоңку пинине туташтырыңыз - анын жардамы менен экран дисплейинин контрастын жөндөй аласыз. RSти D4ке жана R/W пинге GNDге туташтырыңыз, демек сиз LCD1602ге символдорду жаза аласыз. Pin6га E туташыңыз жана LCD1602де көрсөтүлгөн белгилер D4-D7 тарабынан башкарылат. Программалоо үчүн, ал функционалдык китепканаларды чакырып оптималдаштырылган.

1 кадам:

Районду куруңуз.

2-кадам:

Кодду https://github.com/primerobotics/Arduino сайтынан жүктөп алыңыз

3 -кадам:

Эскизди Arduino Uno тактасына жүктөңүз

Кодду башкаруу тактасына жүктөө үчүн Жүктөө сөлөкөтүн басыңыз.

Терезенин ылдыйында "Жүктөө бүттү" пайда болсо, бул эскиз ийгиликтүү жүктөлгөнүн билдирет.

Эскертүү: LCD1602деги потенциометрди так көрсөткөнгө чейин тууралашыңыз керек болот.

5 -кадам: Код

Code
Code

// LCD1602

// Сиз азыр керек

сиздин LCD1602ден "PRIMEROBOTICS" жана "салам, дүйнө" агып жаткан белгилерди көрүңүз.

//Website:www.primerobotics.in

#кошуу

// китепкана кодун камтыйт

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

char

array1 = "PrimeRobotics"; // ЖКга басып чыгаруу үчүн сап

char

array2 = "салам, дүйнө!"; // ЖКга басып чыгаруу үчүн сап

int tim =

250; // кечигүү убактысынын мааниси

// китепкананы инициализациялоо

интерфейс казыктарынын номерлери менен

LiquidCrystal

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

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

жараксыз орнотуу ()

{

lcd.begin (16, 2); // ЖКнын мамычаларынын санын орнотуу жана

катарлар:

}

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

боштук цикл ()

{

lcd.setCursor (15, 0); // курсорду 15 -графага, 0 -сапка коюңуз

үчүн (int positionCounter1 = 0;

positionCounter1 <26; positionCounter1 ++)

{

lcd.scrollDisplayLeft (); // Дисплейдин мазмунун бирин жылдырат

сол жактагы боштук.

lcd.print (array1 [positionCounter1]); // ЖКга билдирүү басып чыгаруу.

кечигүү (tim); // 250 микросекунд күт

}

lcd.clear (); // ЖК экранды тазалайт жана

курсор жогорку сол бурчта.

lcd.setCursor (15, 1); // курсорду 15 -графага, 1 -сапка коюңуз

үчүн (int positionCounter2 = 0;

positionCounter2 <26; positionCounter2 ++)

{

lcd.scrollDisplayLeft (); // Дисплейдин мазмунун бирин жылдырат

сол жактагы боштук.

lcd.print (array2 [positionCounter2]); // ЖКга билдирүү басып чыгаруу.

кечигүү (tim); // 250 микросекунд күт

}

lcd.clear (); // ЖК экранды тазалайт жана

курсор жогорку сол бурчта.

}

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

Сунушталууда: