Написали сте у програму за Ардуино нешто попут:
лцд.принт ("Здраво, свет!")
Плоча је послушно извршила наредбу, а на екрану се појавио текст. Али како је један уређај нешто рекао, а други „чуо“ и „разумео“? Ово је попут тражења од уметника да вам направи портрет, али не и види како он то ради. Аутор Упуте, под надимком Индооргеек, смислио је постоље које ће вам помоћи да се осјећате у ципелама „живог Ардуина“ и усмјерите ХД44780 на ниски ниво. У једном од такмичења ово домаће освојио прву награду.
Потребно је мало детаља: било који модул (ЛЦД, ВЛИ или ПМОЛЕД) на ХД44780 контролеру или компатибилном, осам прекидача, дугме за неискључавање, клизни прекидач, променљиви отпорник од 1 кΩ, плоча са микро УСБ утичницом и футрола.
Из онога што није приказано на фотографији, потребни су нам отпорник од 10 кОхм и кондензатор од 100 µФ и најмање 6,3 В.
Индооргеек је узео модул најчешћег типа: ЛЦД, 16 знакова по линији, две линије. Али остали модули имају исти принцип управљања, само се закључавање може мало разликовати, тако да не бисте били лењи за преглед таблице.
У свим случајевима, веза на заједничку жицу одговара логичкој нули, а веза са +5 волт сабирницом снаге одговара јединству.
Игле 1 и 2 су за напајање модула. Први од њих увек је спојен на заједничку жицу, а други је увек са напајањем.
Пин 3 служи за подешавање контраста. Када се на њега примењује напон од 0 до 5 волта у односу на уобичајену жицу, контраст се мења од нуле до максимума.
Пин 4 омогућава вам да бирате између регистра података и регистра инструкција. Дајемо логичку нулу - одабире се регистар упутстава (другим речима, наредби), јединица је регистар података.
Упутства могу бити, на пример, следећа: иницијализирајте контролер, очистите екран итд., А подаци укључују знакове који ће се приказати на индикатору.
Напротив, можете да читате податке из неког регистра. Да бисте то учинили, морате да примените високи ниво на пин 5, а дисплеј ће прећи у режим излазних информација назад на ваш микроконтролер. Да бисте поново започели писати податке са микроконтролера на регулатор екрана, морате да пошаљете доњи ниво 5 на ПИН 5. Често се режим читања уопште не користи као, на пример, у овом домаћем производу.
Према иглицама 7 до 14, екран може да размењује команде и податке у 8-битном кодирању. Најнижи ниво одговара пин 7, највиши - 14.
За затварање је потребан пин 6.Полако постављате податке на игле 7 до 14, али иако је пин 6 логична нула, модул уопште не реагује. Затим, без промене стања игле 7 до 14, шаљете краткорочни импулс високог нивоа на пин 7 - и подаци се преносе.
Закључци 15 и 16 - исхрана позадинског осветљења, ако га има. 15 - плус, 16 - минус.
Доступно индоргееку, показало се да је футрола димензија 200к150к40 милиметара. Овај случај је преузет из друге, растављене домаће радње, а у њему су већ биле рупе. Мајстор их је у новом дизајну користио максимално како би направио што је могуће мање додатних.
Постављао је осам прекидача за промену стања линија података / командних водова, прекидач за избор између регистара (види горе), дугме за качење, променљиви отпорник за стално подешавање контраста.
Плоча за подизање уз Мицро УСБ прикључак има погодне игле које олакшавају повезивање водича. Овдје су потребна само два: +5 В и заједничка жица. Ако немате такву плочу, а Мицро УСБ утичница однекуд лемљена делује незгодно за лемљење, можете једноставно узети кабел са УСБ конектором. У сваком случају, поновимо након господара и лемљења такву шему:
Контакти прекидача који одговарају горњем положају, индоргеек су се спојили и на њих унели плус. Исто је учинио и са контактима прекидача који одговарају доњем положају, само што им је дао минус. Повезао је покретне контакте прекидача не међусобно, већ са закључцима наредби сабирнице података / модула у складу са „тежином“ обе (Д0 - пин 7 - низак ред, Д7 - пин 14 - висок). Да мајстори у детињству нису угризли разјарене отпорнике на развлачење, он би могао да користи једноставније прекидаче - не прелазе, већ се нормално отварају.
Али исти отпорници, али у склопима потискивања контактних одскока, никада није био увређен. Овде је овај круг потребан да контролер екрана не притисне неколико тастера стробе за неколико. Остале контроле не захтевају сузбијање брбљања, јер све док стробовски импулси не буду примљени, подаци на преосталим линијама могу се мењати више пута по жељи. Главна ствар је не дирати прекидаче и прекидач притиснутим дугметом. Дакле, са отпорником од 10 кОхм, мајстор је повукао пин 6 на заједничку жицу, а са дугметом на плус магистралу. Пошто је отпор тастера много мањи, када се притисне, оно се „повлачи“. Када се ослободи, његов отпор постаје близу бесконачности, а отпорник га већ "вуче". Кондензатор од 100 уФ (није приказан на дијаграму), повезан плус са плус магистрали, и минус на отпорнику и шести излаз дисплеја, сузбија брбљање. Боље је, наравно, потиснути брбљање дугметом прекидача и РС-окидачем.
На клизном прекидачу, излази фиксних контаката су повезани на исти начин као и за склопке, а помични прекидач повезан је с излазом модула 6. Овде је програмер поново показао страх од отпорника који се подижу. Овај прекидач је потребан за избор између начина преноса команди (нула) и података (јединица).
Индооргеек је повезао излаз променљивог отпорника који одговара минималном контрасту са заједничком жицом, супротним плус магистрали, а средњи (мотор) на трећи излаз модула.
Закључци 1, 5 и 16 (респективно, минус снага, запис / читање и минус позадинско осветљење) мастер спојен на заједничку жицу, тако да је начин снимања изабран континуирано. Закључке 2 и 15 (респективно, плус снага и плус позадинско осветљење) повезао се с пет-волтним магистралом. У модулу екрана уграђен је отпорник за ограничавање струје преко ЛЕД позадинског осветљења.
Ако сте све ово сакупили, сада је нешто овако:
Затворени кров предњег панела дизајниран тако да можете учинити исто:
Можете научити наредбе контролера ХД44780 и како их контролисати датасхеет. Такође можете видети готове примере скрипти за симулатор. За почетак ћемо поновити кораке иза затвореног стакла да бисте приказали ХЕЛЛО!
Укључите уређај. Позадинско светло ће се упалити. Померите клизни прекидач у положај који одговара логичкој нули, тако да индикатор прелази у режим пријема команди. Подесите бинарни број 00001111 на командну / податковну магистралу помоћу табака и кратко притисните стробо дугме. Ова наредба значи: укључите екран, покажите показивач и трепери, што ће се и догодити. На исти начин издаћемо и наредбу 00110000, што значи: примите податке у 8-битном формату, изаберите први ред и фонт 5 по 8 пиксела. Визуелно се ништа неће десити, али негде унутар контролера екрана појавиће се потребни прекидачи. Можете пренијети податке. Пребацимо клизни прекидач у положај који одговара логичкој јединици, сада је индикаторски модул спреман да их прихвати. Подесите АСЦИИ код слова Х, тј. 01001000, укључите преклопнике на магистрали и притисните тастер стробе. На екрану се појављује одговарајуће слово, а курсор се помера за једну позицију десно. Слично томе, проследићемо слова Е, Л, Л, О и ускличник: 01000101, 01001100, 01001100, 01001111, 00100001. Ако сте то исто учинили, није важно на постољу које сте управо саставили или на симулатору, видећете натпис ХЕЛЛО ! Овако:
Овако сте схватили колико Ардуино ради да прикаже само неколико ликова. А ту су и тимови који изводе сложеније акције, савладавши које, можете добити занимљиве ефекте, дефинисати нестандардне ликове ...
Ваша екскурзија у „кухињу“ библиотеке Ардуино ЛикуидЦристал тек почиње и нека буде забавна!