LCD 1602ди Arduino менен туташтыруу: сүрөттөмө, функциялар, нускамалар, функциялар, көйгөйлөр жана чечимдер

Мазмуну:

LCD 1602ди Arduino менен туташтыруу: сүрөттөмө, функциялар, нускамалар, функциялар, көйгөйлөр жана чечимдер
LCD 1602ди Arduino менен туташтыруу: сүрөттөмө, функциялар, нускамалар, функциялар, көйгөйлөр жана чечимдер
Anonim

Ар бир радио ышкыбозу бир нече жөнөкөй өз алдынча жумуштан кийин сенсорлор жана баскычтар аркылуу чоң нерсени куруу максатына келет. Кантсе да, порт мониторуна караганда дисплейде маалыматтарды көрсөтүү алда канча кызыктуу. Бирок анда суроо туулат: кайсы дисплейди тандоо керек? Жана жалпысынан аны кантип туташтыруу керек, туташтыруу үчүн эмне керек? Бул суроолорго жооптор ушул макалада талкууланат.

Arduino менен туташуу үчүн LCD 1602 дисплей
Arduino менен туташуу үчүн LCD 1602 дисплей

LCD 1602

Дисплейлердин арасында көптөгөн варианттардын ичинен мен HD4478 контроллерине негизделген LCD1602 дисплейин бөлүп көрсөткүм келет. Бул дисплей эки түстө бар: көк фондо ак тамгалар, сары фондогу кара тамгалар. LCD 1602ди Arduino'го туташтыруу да эч кандай көйгөй жаратпайт, анткени камтылган китепкана бар жана кошумча эч нерсе жүктөп алуунун кереги жок. Дисплейлер баасы боюнча гана эмес, көлөмү боюнча да айырмаланат. Көбүнчө радио сүйүүчүлөр 16 колдонушатx 2, б.а. 16 белгиден турган 2 сап. Бирок 20 белгиден турган 4 саптан турган 20 х 4 да бар. Өлчөмдөрү жана түсү lcd 1602 дисплейин Arduno менен туташтырууда эч кандай роль ойнобойт, алар ошол эле жол менен туташкан. Көрүү бурчу 35 градус, дисплей жооп убактысы 250 мс. -20 градустан 70 градуска чейинки температурада иштей алат. Иштеп жатканда экран үчүн 4 мА жана арткы жарык үчүн 120 мА колдонот.

LCD 1602 дисплей пинут
LCD 1602 дисплей пинут

Ал кайда колдонулат?

Бул дисплей радио сүйүүчүлөр арасында гана эмес, ири өндүрүүчүлөр арасында да популярдуулукка ээ. Мисалы, принтерлер, кофе машиналары да LCD1602 колдонушат. Бул анын арзан баасына байланыштуу, бул дисплей кытай сайттарында 200-300 рублга турат. Аны ошол жерден сатып алганга арзыйт, анткени биздин дүкөндөрдө бул дисплей үчүн чектер абдан жогору.

Arduino'го туташуу

LCD 1602ди Arduino Nano жана Uno менен туташтыруу эч кандай айырмаланбайт. Дисплей менен эки режимде иштей аласыз: 4 бит жана 8. 8 биттик дисплей менен иштөөдө төмөнкү жана жогорку биттер, ал эми 4 биттикинде төмөнкү биттер гана колдонулат. 8-бит менен иштөөнүн өзгөчө мааниси жок, анткени туташуу үчүн дагы 4 байланыш кошулат, бул сунушталбайт, анткени ылдамдык жогору болбойт, дисплейди жаңыртуу чеги секундасына 10 жолу. Жалпысынан алганда, lcd 1602ди Arduino менен туташтыруу үчүн көптөгөн зымдар колдонулат, бул кандайдыр бир ыңгайсыздыктарды жаратат, бирок атайын калканчтар бар, бирок бул жөнүндө кийинчерээк көбүрөөк. Сүрөттө дисплейдин Arduino Uno менен байланышы көрсөтүлгөн:

Дисплей arduino менен туташтырылууда
Дисплей arduino менен туташтырылууда

Код мисалы:


кошу //LiquidCrystal lcd(7, 6, 5, 4, 3, 2) керектүү китепканасын кошуңуз; // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Экран өлчөмүн коюу lcd.setCursor(0, 0); // Курсорду 1-саптын башына коюу lcd.print("Hello, world!"); // Текстти көрсөтүү lcd.setCursor(0, 1); // Курсорду 2-саптын башына коюу lcd.print("fb.ru"); // Чыгаруу тексти } void loop(){ }

Код эмне кылат? Биринчиден, дисплей менен иштөө үчүн китепкана туташтырылган. Жогоруда айтылгандай, бул китепкана мурунтан эле Arduino IDEге киргизилген жана аны кошумча жүктөп алып, орнотуунун кереги жок. Андан кийин, төөнөгүчтөр менен байланышкан байланыштар аныкталат: RS, E, DB4, DB5, DB6, DB7, тиешелүүлүгүнө жараша. Андан кийин экрандын өлчөмү белгиленет. Биз 16 белгиден жана 2 саптан турган версия менен иштеп жаткандыктан, ушундай маанилерди жазабыз. Курсорду биринчи саптын башына коюп, биринчи Hello World текстибизди көрсөтөбүз. Андан кийин курсорду экинчи сапка коюп, сайттын атын көрсөтүңүз. Баары болду! Arduino Uno'го lcd 1602 туташтыруу каралды.

I2C деген эмне жана ал эмне үчүн керек?

Жогоруда айтылгандай, дисплейди туташтыруу үчүн көп төөнөгүч керектелет. Мисалы, бир нече сенсорлор жана ЖК дисплей менен иштөөдө 1602 байланыштар жөн эле жетишсиз болушу мүмкүн. Көбүнчө радио сүйүүчүлөр Uno же Nano версияларын колдонушат, анда байланыштар көп эмес. Андан кийин адамдар атайын калкандар менен чыгышты. Мисалы, I2C. Ал дисплейди болгону 4 пин менен туташтырууга мүмкүндүк берет. Бул эки эсе аз. I2C модулу өзүнчө сатылат, бул жерде сиз аны өзүңүз ширетишиңиз керек жана буга чейин эле ширетилгенЖК дисплей 1602.

LCD дисплей 1602 үчүн I2C модулу
LCD дисплей 1602 үчүн I2C модулу

I2C модулу менен туташуу

LCD 1602ди Arduino Nano менен I2C менен туташтыруу аз орун ээлейт, болгону 4 пин: жер, кубат жана 2 маалымат чыгаруу. Биз Arduino боюнча 5V жана GND үчүн кубат менен жерди туташтырабыз. Калган эки байланыш: SCL жана SDA ар кандай аналогдук төөнөгүчкө туташтырылган. Сүрөттө lcd 1602ди arduino менен I2C модулу менен туташтыруунун мисалын көрө аласыз:

I2C модулунун жардамы менен туташууларды көрсөтүү
I2C модулунун жардамы менен туташууларды көрсөтүү

Программа коду

Эгерде модулу жок дисплей менен иштөө үчүн бир гана китепкананы колдонуу керек болсо, модул менен иштөө үчүн эки китепкана керек болот. Алардын бири мурунтан эле Arduino IDE - Wire. Дагы бир китепкана, LiquidCrystal I2C, өзүнчө жүктөлүп, орнотулушу керек. Ардуинодо китепкананы орнотуу үчүн жүктөлүп алынган архивдин мазмуну Libraries тамыр папкасына жүктөлүшү керек. I2C колдонулган код мисалы:


include include LiquidCrystal_I2C lcd(0x27, 16, 2); // Дисплейди орнотуу void setup() { lcd.init(); lcd.backlight();// Дисплейдин арткы жарыгын күйгүзүү lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Курсорду экинчи сапка жана нөл символго коюу. lcd.setCursor(0, 1); // Arduino башталгандан берки секунданын санын басып чыгарыңыз lcd.print(millis()/1000); }

Көрүп тургандай, код дээрлик бирдей.

Мен өз символумду кантип кошом?

Бул дисплейлердин көйгөйү жоккириллица жана символдорду колдоо. Мисалы, дисплейге кандайдыр бир белги жүктөө керек, ал аны чагылдырышы үчүн. Бул үчүн дисплей 7 каарманыңызды түзүүгө мүмкүндүк берет. Таблицаны көрсөтүңүз:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

Эгер 0 болсо - эч нерсе жок, 1 болсо - бул көлөкөлүү аймак. Жогорудагы мисалда сиз "жылмайган смайлик" каарманынын жаралышын көрө аласыз. Arduino программасынын мисалын колдонуу менен, бул төмөнкүдөй болот:


include include // Керектүү китепкананы кошуу // Жылмайуу символу бит маскасы байт жылмаюу[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010,}}; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Экрандын өлчөмүн коюу lcd.createChar(1, smile); // №1 символду түзүү lcd.setCursor(0, 0); // Курсорду 1-саптын башына коюу lcd.print("\1"); // Смайлди көрсөтүү (1 символ) - "\1" } void loop(){ }

Көрүп тургандай, түзүлгөнбит маскасы таблицага окшош. Түзүлгөндөн кийин, ал дисплейге өзгөрмө катары чыгарылышы мүмкүн. Эсиңизде болсун, эстутумда 7 гана белги сакталат. Негизи бул жетиштүү. Мисалы, даража белгисин көрсөткүңүз келсе.

LCD 1602ге ыңгайлаштырылган белгилерди кошуу
LCD 1602ге ыңгайлаштырылган белгилерди кошуу

Дисплей иштебей калышы мүмкүн болгон көйгөйлөр

Дисплей иштебей калган учурлар болот. Мисалы, ал күйөт, бирок каармандарды көрсөтпөйт. Же такыр эле күйбөйт. Биринчиден, байланыштарды туура туташтырганыңызды текшериңиз. Эгерде сиз мурда lcd 1202ди Arduino менен I2Cсиз туташтырсаңыз, анда зымдарга чаташып калуу оңой, бул дисплейдин туура эмес иштешине алып келиши мүмкүн. Ошондой эле дисплей контрастынын жогорулашына ынанышыңыз керек, анткени минималдуу контрастта LCD 1602 күйгүзүлгөн же күйгүзүлгөнү көрүнбөйт. Эгер бул жардам бербесе, анда, балким, маселе I2C модулун колдонуп жатканда, байланыштарды ширетүүдө болушу мүмкүн. Ошондой эле, дисплей иштебей калышынын жалпы себеби - I2C дарегин туура эмес орнотуу. Чындыгында, көптөгөн өндүрүүчүлөр бар жана алар башка даректи орното алышат, аны бул жерден оңдоо керек:


LiquidCrystal_I2C lcd(0x27, 16, 2);

Кашанын ичинде эки маанини көрө аласыз, 0x27 жана 16, 2 (16, 2 - дисплейдин өлчөмү, ал эми 0x27 - I2C дареги). Бул маанилердин ордуна 0x37 же 0x3F коюуга аракет кылсаңыз болот. Дагы бир себеби, жөн гана туура эмес LCD 1602. Arduino үчүн дээрлик бардыгы Кытайда жасалганын эске алсак, сиз сатып алынганына 100% ишене албайсыз.продукт кемчиликсиз.

LCD 1602 жакшы жана жаман жактары

Келгиле, LCD 1602нин жакшы жана жаман жактарын карап көрөлү.

Прос

  • Баасы. Бул модулду кытай дүкөндөрүнөн абдан арзан баада сатып алса болот. Баасы 200-300 рублди түзөт. Кээде I2C модулу менен да сатылат.
  • Туташуу оңой. Балким, эч ким бул күндөрү I2C жок LCD 1602 туташтырбайт. Жана бул модул менен туташуу болгону 4 пинди алат, зымдардын "торлору" болбойт.
  • Программалоо. Даяр китепканалардын аркасында бул модул менен иштөө оңой, бардык функциялар мурунтан эле катталган. Эгер каарманыңызды кошушуңуз керек болсо, ага бир нече мүнөт гана талап кылынат.

Терсиз жактары

Миңдеген радио ышкыбоздорунун пайдалануусунда чоң кемчиликтер аныкталган жок, болгону нике сатып алуу учурлары бар, анткени кытай дисплей параметрлери негизинен колдонулат

Бул макалада LCD 1602 дисплейин Arduino менен кантип туташтыруу керектиги талкууланган, ошондой эле бул дисплей менен иштөө үчүн үлгү программалары берилген. Бул чындыгында өз категориясындагы эң мыктылардын бири, бул жөн гана миңдеген радио сүйүүчүлөр аны өз долбоорлору үчүн тандап алганы эмес!

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