Мазмуну:

3-Wire HD44780 ЖК 1 доллардан аз: 5 кадам
3-Wire HD44780 ЖК 1 доллардан аз: 5 кадам

Video: 3-Wire HD44780 ЖК 1 доллардан аз: 5 кадам

Video: 3-Wire HD44780 ЖК 1 доллардан аз: 5 кадам
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, Июль
Anonim
3-Wire HD44780 ЖК 1 доллардан аз
3-Wire HD44780 ЖК 1 доллардан аз

Бул көрсөтмөдө биз HD44780 чипсетине негизделген ЖКны SPI автобусуна кантип туташтырып, 1 доллардан төмөн 3 гана зым менен айдай аларыбызды үйрөнөбүз. Бул үйрөткүчтө HD44780 тамгалык -сандык дисплейге токтоло турган болсом да, ошол эле принцип 8 биттик параллелдүү автобусту колдонгон башка ЖК үчүн дээрлик бирдей иштейт жана аны 16 бит маалымат автобустары бар дисплейлерге ылайыкташтырууга болот.. HD44780 (жана шайкеш) тамгалык -сандык дисплейлер, адатта, 16х2 (16 символдон турган 2 сап) жана 20х4 конфигурациясында болот, бирок дагы көптөгөн формаларда табууга болот. Эң татаал дисплей 40х4 дисплей болмок, мындай дисплей өзгөчө, анткени 2 HD44780 контроллери бар, бири жогорку эки катар, экинчиси төмөнкү эки катар. Кээ бир графикалык ЖКда эки контроллер бар. HD44780 ЖК абдан сонун, алар абдан арзан, окулуучу жана иштөө оңой. Бирок алардын кээ бир кемчиликтери да бар, бул дисплейлер Arduino менен туташканда көптөгөн I/O казыктарын ээлейт. Жөнөкөй долбоорлордо бул тынчсызданууну жаратпайт, бирок долбоорлор чоң болуп, IO көп болгондо, же аналогдук окуу же PWM сыяктуу нерселер үчүн белгилүү бир төөнөгүчтөр керек болгондо, бул ЖК минимум 6 казыкты талап кылат. көйгөй. Бирок биз бул маселени арзан жана кызыктуу жол менен чече алабыз.

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

Мен TaydaElectronicsти бул долбоордо колдонгон көпчүлүк компоненттер үчүн колдондум. Сиз бул бөлүктөрдү ebayден да ала аласыз, бирок колдонуунун оңойлугу үчүн мен сизди Tayda. Shopping List2 менен байланыштырам - 74HC595 пакети DIP161 - Жалпы эркек баш - 2 казык. Бул талап кылынбайт, мен муну арткы жарыкты биротоло өчүрүү жолу катары колдоном.3 - Керамикалык конденсатор - сыйымдуулугу 0.1µF; чыңалуу 50V1 - Электролиттик конденсатор - сыйымдуулугу 10µF; чыңалуу 35V1 - Керамикалык Конденсатор - сыйымдуулук 220pF; чыңалуу 50V1 - NPN -Транзистор - бөлүк # PN2222A* 1 - 1к Ω Резистор1 - Триммер потенциометр - максималдуу каршылык 5kΩ1 - 470 ist Резистор* NPN транзистору менен арткы жарык программалык камсыздоо менен күйгүзүлгөнгө чейин өчүп калат. Эгер сиз жарыктын демейки күйгүзүлүшүн кааласаңыз, PNP тибиндеги транзисторду колдонуңуз. Берилген китепкананын кодуна өзгөртүүлөрдү киргизүү керек. Бул тизменин жалпы суммасы $ 0.744. Пиндин аталышы да талап кылынбайт, андыктан сиз 15 центти ошол жерден сактай аласыз жана жыйындысы $ 0.6 болот.

2 -кадам: Аппаратты #1 билиңиз

Аппаратты билиңиз №1
Аппаратты билиңиз №1

Бул жерде HD44780 ЖКнын стандарттык пини, ал ошондой эле кээ бир графикалык ЖКларга абдан окшош. HD44780 эки режимде иштей алат: 1. ЖКга жөнөтүлгөн ар бир байт 2 4-бит бөлүктөн турган 4-бит режими. 2. 8-бит режими, биз ага токтолобуз. ЖКда жалпысынан 16 казык бар, 3 көзөмөл казыгы жана 8 маалымат казыгы: RS - ЖКга буйрук же маалыматтарды жөнөтүүнү каалайбызбы же жокпу көзөмөлдөйт. Кайда 'жогорку' маалымат (бир тамга) жана 'төмөн' буйрук байтты билдирет. R/W - HD44780 контроллери анын RAMсынан окууга мүмкүнчүлүк берет. Бул пин "бийик" болгондо, биз анын маалымат төөнөгүчтөрүндөгү маалыматтарды окуй алабыз. "Төмөн" болгондо, биз маалыматтарды ЖКга жаза алабыз. ЖКдан окуу мүмкүнчүлүгү кээ бир учурларда пайдалуу болушу мүмкүн болсо да, биз бул үйрөткүчтө өтпөйбүз жана бул жазуу дайыма жазуу режиминде болушун камсыз кылуу үчүн негизделет., бул пин маалыматты "жогорку", "төмөн" которуштуруп, маалыматты оперативдүү эс тутумуна жазып, акыры экранда көрсөтөт. DB0-7 - Бул маалымат төөнөгүчтөрү. 4 -бит режиминде биз 4 биттик DB4 -DB7ди гана колдонобуз, ал эми 8 биттик режимде алардын бардыгы колдонулат. VSS - Бул жердин түйүнү., биз аны жонокой Arduino + 5v pin. Vo менен камсыздай алабыз. Во - Бул дисплей үчүн контрасттын деңгээлин коюуга мүмкүндүк берген пин, ал үчүн потенциометр талап кылынат, адатта 5K Ом идиш колдонулат. LED + - Бул арткы жарык үчүн энергия булагы. Кээ бир ЖКлар арткы жарык менен келбейт, болгону 14 төөнөгүч бар. Көпчүлүк учурларда бул пин +5v байланышын талап кылат. -жылы, бул учурда сиз эмне кылышыңыз керек-бул LED+ га жана жерди LEDге колдонуу. Бирок, эгерде сиздин ЖКда жарыгы үчүн камтылган резистор жок болсо, анда аны кошууңуз маанилүү, антпесе, арткы жарык көп энергияны керектейт жана ал акыры күйүп кетет. Көпчүлүк учурда, бул ЖКнын Arduino менен туташтырылышы 4 бит режиминде колдонуу жана R/W төөнөгүчүн жерге коюу аркылуу болот. Ошентип биз RS, E жана DB4-DB7 төөнөгүчтөрүн колдонобуз. 4-биттик режимде иштөөнүн дагы бир кичинекей кемчилиги бар, ал экранда маалыматтарды жазууга 8-бит конфигурациясынан эки эсе көп убакыт кетет. ЖКда 37 микросекунддун "чечилүү" убактысы бар, бул ЖКга кийинки буйрукту же маалымат-байтты жөнөтүүдөн мурун 37 микросекундду күтүүгө туура келет. 4 биттик режимде биз ар бир байт үчүн эки жолу маалыматтарды жөнөтүшүбүз керек болгондуктан, бир байтты жазууга кеткен жалпы убакыт 74 микросекундга чейин жетет. Бул дагы эле жетишерлик тез, бирок мен долбоорумдун эң жакшы натыйжаларды берүүсүн кааладым. Колдонулган төөнөгүчтөрдүн саны боюнча көйгөйүбүздүн чечими Сериалдан Параллелге айландыргычта жатат …

3 -кадам: Аппаратты #2 билиңиз

Аппаратты билиңиз #2
Аппаратты билиңиз #2

Биз кыла турган нерсе - Arduinoдон чыккан байланыштын сериялык түрүн алуучу жана маалыматтарды биздин ЖКга бериле турган параллелдүү чыгууга айландыруучу адаптер куруу. 74HC595 чипи келет. Бул өтө арзан жана жөнөкөй сменалык реестр. Негизи, ал эмне кылат, бул 8 сааттын ичиндеги 8 битти буферди толтуруу үчүн колдонгон саат жана маалымат сигналдары. 'Latch' (ST_CP) пини "бийик" абалга келтирилгенден кийин, бул биттерди 8 чыгуусуна жылдырат. 595тин абдан жакшы өзгөчөлүгү бар, анын сериялык маалымат пини бар (Q7 '), бул пин 2 же андан көп 595тин чынжыры үчүн колдонулушу мүмкүн, алар 16 же андан көп битке параллелдүү адаптерлерди түзүү үчүн колдонулат. Бул долбоор үчүн бизге 2 чип керек болот. Схема дагы 4-бит режиминде бир 595 менен иштөө үчүн өзгөртүлүшү мүмкүн, бирок бул окуу куралы тарабынан каралбайт.

4 -кадам: Баарын зымга өткөрүү

Баарын электр менен камсыздоо
Баарын электр менен камсыздоо

Эми биз аппараттык жабдууларыбыздын кантип иштээрин билсек, анын баарын зым менен байланыштыра алабыз. Схемада биз 2 595 микросхемалардын 16 биттик параллелдүү чыгарууну түзүү үчүн чынжырланганын көрөбүз. Төмөнкү чип чындыгында негизги, үстүнкүсү ага чынжырлуу. Бул жерде көргөнүбүз, асты 595 8-биттик конфигурацияда ЖКнын маалымат казыктарын айдап жатат, жогорку чип RS сигналын жана арткы жарыкты транзисторду күйгүзүү же өчүрүү аркылуу башкарат. Эстеп көрүңүз *ЖКнын арткы жарыгы жөнүндөгү Аппаратты билиңиз #1, эгер сиздин ЖКда жарыктын каршылыгы жок болсо, сиздин схемаңызга кошууну унутпаңыз. Менин учурда, LCDлер мен мурунтан эле орнотулган резистор менен келген, ошондуктан мен бул кадамды өткөрүп жибердим. Контраст 5K Ohm идиш аркылуу колдонулат, бир пин GNDге, экинчиси VCCге жана тазалагыч ЖКдагы Vo пинге барат. ЖКнын жана 595тин VCC линияларында колдонулган конденсаторлор конденсаторлорду ажыратат, алар кийлигишүүдөн арылуу үчүн ошол жерде. Эгер сиз нандын үстүндө иштеп жатсаңыз, алар милдеттүү эмес, бирок сиз бул схеманын "лабораториялык шарттардан" тышкары колдонуу үчүн өзүңүздүн версияңызды курган учурда колдонулушуңуз керек. R5 жана C9 ошол өзгөчө тартипте RC кечигүүсүн жаратат, бул 595тин жыйынтыктарындагы маалыматтын ЖКдагы пинди иштетүү "бийик" коюлганга чейин стабилдештирүүгө убактысы бар экенине ынанат. Төмөнкү 595тин Q7 'чокусу 595тин сериялык берилиштерине кирет, бул 595 -жылдардын ромашка чынжырын жана ошону менен 16 биттик интерфейсти түзөт. Arduinoго туташуу оңой. Биз 3 зымдуу конфигурацияны колдонобуз, Arduino SPI төөнөгүчтөрүн колдонобуз. Бул өтө ылдам маалыматтарды өткөрүүгө мүмкүндүк берет, ЖКга 2 байтты жөнөтүү адатта 8 микросекундду алат. Бул абдан тез жана чындыгында ЖКнын маалыматты иштетүү убактысынан алда канча ылдамыраак, ошондуктан ар бир жазуунун ортосунда 30 микросекундга кечигүү керек. SPIди колдонуунун бир чоң пайдасы - D11 жана D13 төөнөгүчтөрү башка SPI түзмөктөрү менен бөлүшүлөт. Демек, эгер сизде SPIди колдонуучу башка акселерометр болсо, анда бул чечим иштетүү сигналы үчүн бир гана кошумча пин колдонот. Кийинки бетте натыйжасын көрөбүз. Мен перфортборго рюкзак курдум жана ал азырынча мен үчүн абдан жакшы иштеп жатат.

5 -кадам: Жыйынтык + Китепкана

Жыйынтык + Китепкана
Жыйынтык + Китепкана
Жыйынтык + Китепкана
Жыйынтык + Китепкана
Жыйынтык + Китепкана
Жыйынтык + Китепкана
Жыйынтык + Китепкана
Жыйынтык + Китепкана

"Сүрөт миң сөзгө татыктуу", мен бул сөзгө кошулам, ошондуктан бул долбоордун акыркы жыйынтыгынын кээ бир сүрөттөрү. Бул даяр продукттун сүрөттөрү, Fritzing PCB көрүнүшү - мен рюкзагымды курууда колдонулган перформаттын макети. Эгерде сиз өзүңүздүн жеке менчикти кургуңуз келсе, бул пайдалуу болушу мүмкүн. Мага ушунчалык жакты, мен DipTrace менен ПХБны иштеп чыктым жана 10 ПКБнын партиясын заказ кылдым. Мага өзүмө 2 же 3 бирдик керек болот, бирок калганын алганда символикалык баага жеткиликтүү кылам. Андыктан кимдир бирөө кызыкдар болсо, мага кабарлаңыз. * Түзөтүү: ПХБ бул жерде жана алар иштейт. Бул жерде чыныгы PCBлерди камтыган бул долбоордун толук сүрөт галереясы. https://imgur.com/a/mUkpw#0 Албетте, мен эң маанилүү нерсени, бул схеманы колдоно турган китепкананы унуткан жокмун. Бул Arduino IDEге камтылган LiquidCrystal китепканасы менен шайкеш келет, андыктан эскиздин үстүндөгү декларацияларды оңой алмаштыра аласыз жана эскизде башка эч нерсени өзгөртүүнүн кажети жок. Китепканада ар бир функция кантип иштээрин көрсөткөн мисал эскиз бар, андыктан аны текшериңиз.

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