» Electronics »Bench para sa pag-aaral ng HD44780 sa isang mababang antas

Mababang Antas ng HD44780 Study Bench



Sumulat ka sa programa para sa Arduino tulad ng:

lcd.print ("Kumusta, Mundo!")


Ang lupon ay masunurin na isinagawa ang utos, at lumitaw ang teksto sa pagpapakita. Ngunit paano "sinabi" ng isang aparato ang isang bagay, at ang pangalawang "pakinggan" at "nauunawaan"? Ito ay tulad ng pagtatanong sa artist na gawin ang iyong larawan, ngunit hindi makita kung paano siya gumagana dito. Ang may-akda ng Instructsbles sa ilalim ng palayaw indoorgeek ay may isang paninindigan na makakatulong sa pakiramdam mo sa sapatos ng "buhay na Arduino" at patnubapan ang HD44780 sa isang mababang antas. Sa isa sa mga paligsahan, ito gawang bahay nanalo ng unang gantimpala.

Kailangan nito ng isang maliit na detalye: anumang module (LCD, VLI o PMOLED) sa HD44780 magsusupil o katugma, walong toggle switch, isang non-latching button, isang slide switch, isang 1 kΩ variable na risistor, isang board na may isang Micro USB socket at isang kaso.








Mula sa hindi ipinapakita sa larawan, kailangan namin: isang risistor ng 10 kOhm at isang kapasitor ng 100 μF at hindi bababa sa 6.3 V.

Si Indoorgeek mismo ay kumuha ng isang module ng pinaka-karaniwang uri: LCD, 16 character bawat linya, dalawang linya. Ngunit para sa iba pang mga module, ang prinsipyo ng control ay pareho, tanging ang pinout ay maaaring magkakaiba nang kaunti, kaya huwag masyadong tamad upang tumingin sa datasheet.

Sa lahat ng mga kaso, ang koneksyon sa karaniwang kawad ay tumutugma sa lohikal na zero, at ang koneksyon sa +5 bol power bus ay tumutugma sa pagkakaisa.

Ang mga pin 1 at 2 ay para sa kapangyarihan ng modyul. Ang una sa kanila ay palaging konektado sa isang karaniwang kawad, at ang pangalawa ay palaging may isang power bus.

Ang Pin 3 ay para sa pag-aayos ng kaibahan. Kapag ang isang boltahe ng 0 hanggang 5 volts ay inilalapat sa kaugnay nito sa karaniwang kawad, nagbabago ang kaibahan mula sa zero hanggang maximum.

Pinapayagan ka ng Pin 4 na pumili sa pagitan ng isang rehistro ng data at isang rehistro ng pagtuturo. Nagbibigay kami ng isang lohikal na zero - ang rehistro ng mga tagubilin (sa ibang salita, mga utos) ay napili, ang yunit ay ang rehistro ng data.

Ang mga tagubilin ay maaaring, halimbawa, ang sumusunod: simulan ang controller, i-clear ang screen, atbp, at ang data ay may kasamang mga palatandaan na ipapakita mo sa tagapagpahiwatig.

Maaari mong, sa kabilang banda, basahin ang data mula sa ilang rehistro. Upang gawin ito, kailangan mong mag-aplay ng isang mataas na antas upang i-pin 5, at ang display ay pupunta sa mode ng output ng impormasyon pabalik sa iyong microcontroller. Upang simulan ang pagsulat ng data mula sa iyong microcontroller sa display Controller muli, kailangan mong magpadala ng mababang antas 5 hanggang pin 5. Medyo madalas, ang mode ng pagbabasa ay hindi ginagamit sa lahat, tulad ng, halimbawa, sa produktong homemade na ito.

Ayon sa mga pin 7 hanggang 14, ang pagpapakita ay maaaring makipagpalitan ng mga utos at data sa 8-bit na pag-encode. Ang pinakamababang antas ay tumutugma sa pin 7, ang pinakamataas - 14.

Kinakailangan ang Pin 6 para sa gating.Dahan-dahang iyong inilalagay ang data sa mga pin 7 hanggang 14, ngunit habang ang pin 6 ay isang lohikal na zero, ang module ay hindi tumugon sa lahat. Pagkatapos, nang hindi binabago ang estado ng mga pin 7 hanggang 14, nagpapadala ka ng isang mataas na antas ng panandaliang pulso sa pin 7 - at ang data ay ipinadala.

Konklusyon 15 at 16 - nutrisyon ng backlight, kung mayroon man. 15 - kasama, 16 - minus.

Magagamit na sa indorgeek, ang kaso ay naging 200x150x40 milimetro ang laki. Ang kasong ito ay kinuha mula sa isa pa, na-disassembled na gawa sa bahay, at mayroon nang mga butas sa loob nito. Ginamit ng master ang mga ito sa bagong disenyo hanggang sa maximum upang magawa nang kaunti hangga't maaari ng karagdagang mga bago.



Nagtakda siya ng walong mga switch ng toggle para sa pagbabago ng estado ng mga linya ng data / utos, isang switch para sa pagpili sa pagitan ng mga rehistro (tingnan sa itaas), isang pindutan para sa gating, isang variable na risistor para sa patuloy na pag-aayos ng kaibahan.

Ang riser board na may isang Micro USB jack ay may maginhawang mga pin na ginagawang madali upang kumonekta ang mga lead. Dalawa sa kanila ang kinakailangan dito: +5 V at isang karaniwang kawad. Kung wala kang ganoong lupon, at ang isang Micro USB socket na ibinebenta mula sa isang lugar ay tila hindi kanais-nais para sa paghihinang, maaari ka lamang kumuha ng isang kurdon gamit ang isang USB connector. Sa anumang kaso, ulitin natin pagkatapos ng master at solder tulad ng isang pamamaraan:



Ang mga contact ng mga switch ng toggle na naaayon sa itaas na posisyon, magkakaugnay na konektado nang magkasama at nagsampa ng isang plus sa kanila. Ganoon din ang ginawa niya sa mga contact ng toggle switch na naaayon sa mas mababang posisyon, binigyan lamang niya sila ng isang minus. Ikinonekta niya ang maililipat na mga contact ng toggle switch hindi sa bawat isa, ngunit sa mga konklusyon ng mga data bus / module na utos alinsunod sa "bigat" sa kanilang dalawa (D0 - pin 7 - ang hindi bababa sa makabuluhang bit, D7 - pin 14 - ang pinakamataas). Kung ang mga panginoon ay hindi nakagat ng galit na mga pull-up na resistors sa pagkabata, magagamit niya ang mas simpleng mga switch ng toggle - hindi lumilipat, ngunit normal na bukas.

Ngunit ang parehong mga resistors, ngunit sa mga circuit ng pagsugpo ng contact bounce, hindi siya kailanman nasaktan. Dito, kinakailangan ang circuit na ito upang ang Controller ng display ay hindi kukuha ng isang pindutin ng pindutan ng strobe para sa marami. Ang iba pang mga kontrol ay hindi nangangailangan ng pagsugpo sa chatter, dahil hangga't hindi natanggap ang mga strobe pulses, ang data sa natitirang mga linya ay maaaring magbago nang maraming beses hangga't nais. Ang pangunahing bagay ay hindi hawakan ang mga switch ng toggle at ang switch na pinindot ang pindutan. Kaya, sa isang risistor ng 10 kOhm, hinila ng master ang pin 6 sa karaniwang wire, at may pindutan sa plus bus. Dahil ang paglaban ng pindutan ay mas mababa, kapag pinindot, "nag-drag" ito. Kapag pinalaya, ang pagtutol nito ay nagiging malapit sa kawalang-hanggan, at ang risistor ay "hinila" ito. Ang isang 100 uF capacitor (hindi ipinapakita sa diagram), na konektado sa pamamagitan ng isang plus sa plus bus, at sa pamamagitan ng isang minus sa risistor at ang ikaanim na output ng pagpapakita, pinipigilan ang chatter. Ito ay mas mahusay, siyempre, upang sugpuin ang chatter na may pindutan ng switch at RS-trigger.

Sa slide switch, ang mga output ng mga nakapirming contact ay konektado sa parehong paraan tulad ng para sa mga toggle switch, at ang palipat-lipat na switch ay konektado sa output ng module 6. Dito, nagpakita muli ang developer ng isang takot sa mga pull-up resistors. Ang switch na ito ay kinakailangan upang pumili sa pagitan ng mga mode ng paghahatid ng mga utos (zero) at data (unit).

Ikinonekta ni Indoorgeek ang output ng variable risistor na naaayon sa minimum na kaibahan sa karaniwang wire, kabaligtaran sa plus bus, at gitna (engine) sa ikatlong output ng module.

Konklusyon 1, 5 at 16 (ayon sa pagkakabanggit, minus na kapangyarihan, isulat / basahin at minus backlight) ang master na konektado sa isang karaniwang kawad, sa gayon, ang mode ng pag-record ay palaging pinili. Ang mga konklusyon 2 at 15 (ayon sa pagkakabanggit, kasama ang lakas at plus backlight), nakakonekta siya sa five-volt na bus. Ang isang kasalukuyang naglilimita risistor sa pamamagitan ng mga backlight LEDs ay isinama sa module ng pagpapakita.

Kung nakolekta mo ang lahat ng ito, sa harap mo ngayon - isang katulad nito:



Ang front panel indoorgeek na dinisenyo upang magagawa mo ang parehong:



Maaari mong malaman ang mga utos ng controller ng HD44780 at kung paano makontrol ang mga ito datasheet. Maaari mo ring makita ang mga handa na mga halimbawa ng script para sa simulator. Para sa mga nagsisimula, ulitin namin ang mga hakbang sa likod ng indoorgeek upang ipakita ang HELLO!

I-on ang aparato. Ang ilaw ng ilaw ay magaan. Ilipat ang slide switch sa posisyon na naaayon sa lohikal na zero, upang ang tagapagpahiwatig ay lumipat sa mode ng pagtanggap ng mga utos. Itakda ang binary number 00001111 sa command / data bus na may toggle switch at pindutin ang pindutan ng strobe. Ang utos na ito ay nangangahulugang: i-on ang display, gawing nakikita at kumikislap ang cursor, na mangyayari. Sa parehong paraan, maglalabas kami ng utos ng 00110000, na nangangahulugang: makatanggap ng data sa format na 8-bit, piliin ang unang linya at font 5 ng 8 mga piksel. Biswal, walang mangyayari, ngunit sa isang lugar sa loob ng display Controller ang kinakailangang switch ay magaganap. Maaari kang maglipat ng data. Isinalin namin ang slide switch sa posisyon na naaayon sa lohikal na yunit, ngayon ang module ng tagapagpahiwatig ay handa na tanggapin ang mga ito. Itakda ang code ng ASCII ng titik H, i.e., 01001000, i-toggle ang toggle switch sa bus at pindutin ang pindutan ng strobe. Ang kaukulang titik ay lilitaw sa screen, at ang cursor ay gumagalaw sa isang posisyon sa kanan. Katulad nito, ipapasa namin ang mga titik na E, L, L, O at isang punto ng bulalas: 01000101, 01001100, 01001100, 01001111, 00100001. Kung ginawa mo ang parehong bagay, hindi mahalaga sa paninindigan mo na lang o sa simulator, makikita mo ang inskripsyon ng HELLO ! Tulad nito:



Ito ay kung paano mo naunawaan kung magkano ang ginagawa ni Arduino upang maipakita lamang ang ilang mga character. At mayroong mga koponan upang maisagawa ang mas kumplikadong mga aksyon, pagkakaroon ng pinagkadalubhasaan kung saan, makakakuha ka ng mga kawili-wiling epekto, tukuyin ang mga hindi pamantayang character ...

Ang iyong paglalakbay sa "kusina" ng library ng Arduino na LiquidCrystal ay nagsisimula pa lamang, at hayaan itong maging masaya!
7.5
7.5
7.5

Magdagdag ng isang puna

    • ngitinakangitixaxaok langhindi alamyahoonea
      bosskumamottangaoooo-ooagresibolihim
      sorrysayawsayaw2sayaw3kapatawarantumulonginumin
      humintomga kaibiganmabutigoodgoodsipolswoondila
      usokpumapalakpakkrayolaipahayagnakakainisdon-t_mentionpag-download
      initnakakainistumawa1mdapagpupulongnakikipag-usapnegatibo
      hindi_ipopcornparusahanbasahintakottakotpaghahanap
      panunuyasalamat_youitoto_clueumniktalamaksumang-ayon
      masamabeeeblack_eyeblum3namulamagyabanginip
      censoredkaaya-ayalihim2nagbabantatagumpayyusun_bespectacled
      shokrespektlolnagustuhanmaligayang pagdatingkrutoyya_za
      ya_dobryikatulongne_huliganne_othodimapusokpagbabawalmalapit

Pinapayuhan ka naming basahin:

Ipasa ito para sa smartphone ...