¿Cómo controlar una pantalla con solo dos cables (I2C)?

Nûvekirina dawî: 12/10/2023

Di zanistiya kompîturê û elektronîkê de, protokolek ragihandinê ya bi navê I2C an Circuit Inter-Integrated heye ku destûrê dide veguheztina agahdariya di navbera cîhazên cuda entegre, heta bi bikaranîna tenê du kabloyên. I2C, bê şik, amûrek hêzdar û girîng e ku meriv dîmenek tenê bi du kabloyan kontrol bike. Ev teknolojî di cûrbecûr amûran de tê bikar anîn û, ji ber vê yekê, nirxê bêhejmar proje û sepanên di warê elektronîk û komputerê de zêde dike.

Yek ji aliyên herî girîng ên I2C ev e ku ew tenê du xetên girêdana laşî hewce dike. Van her du rêzan wekî SDA (Daneyên) û SCL (Saet) têne zanîn. Feydeya sereke ya vê otobusê daneyê jêhatîbûna wê ya xebitandinê ye jî dema ku dûrahiya di navbera cîhazan de mezin be jî, ku ew ji bo yekbûna pêkhateyan di pergalên elektronîkî de çareseriyek îdeal dike.

Ev gotar dê bi hûrgulî nîqaş bike ka ew çawa dixebite. el protocolo I2C, ku ne taybetmendiyên wê bingehîn û çawa ew dikare were bikar anîn da ku dîmenek tenê bi du kabloyan kontrol bike. Ev zanîn bê guman dê ji her kesê ku bi sêwirandin û berhevkirina pêkhateyên elektronîkî û pergalên dîjîtal re eleqedar dibe kêrhatî be.

Di dawiyê de, heke hûn dixwazin di derheqê xebitandin û sepanên teknolojiyên girêdanê û protokolên ragihandinê de bêtir fêr bibin, em we vedixwînin ku hûn li ser gotara me şêwir bikin. protokola UART çawa dixebite, rêbazek din a veguhastina daneyê ku pir caran di cîhazên elektronîkî de tê bikar anîn.

Têgihîştina pêwendiya I2C: Ew çi ye û çawa dixebite?

The interfaces I2C (Inter-Integrated Circuit) son fundamentales li cîhanê bernameya elektronîk û mîkrokontroller. Ev protokola ragihandinê ya serial ji hêla Philips Semiconductors ve hatî sêwirandin da ku rê bide danûstendina hêsan a di navbera pêkhateyên ku li ser heman panelê de cîh digirin. I2C tenê du kabloyên dualî bikar tîne, ku bi navê SDA (xeta daneyê) û SCL (xêza demjimêrê) têne zanîn, ew ji bo kêmkirina hejmara kabloyan û pinên ku hewce ne dema girêdana cîhazên dorhêl ên mîna dîmenderan. LED an LCD vebijarkek hêja dike.

Naveroka taybetî - Li vir bikirtînin  Meriv çawa CD-yek li ser Asus Zenbook-ek temaşe dike?

Yek ji taybetmendiyên herî berbiçav ên I2C ev e ku ew destûrê dide girêdana heya 128 alavên cihêreng tenê du xetên otobusê bikar tînin. Her amûrek I2C navnîşana xweya yekta heye da ku di dema ragihandinê de nakokiyan dûr bixe. Dema ku amûrek sereke hewce dike ku bi amûrek xulamê re têkilî daynin, ew tenê bi navnîşana cîhaza xulamê peyamek dişîne û dûv re daneyên têkildar dişîne an jî daxwaz dike.

Dema ku pêwendiya I2C bikar bînin, divê were hesibandin ku leza veguheztinê li gorî protokolên din bi gelemperî kêm e, bi gelemperî di navbera 100 Kb / s û 400 Kb / s de ye, her çend guhertoyên dawî ev leza 3.4 Mb / s zêde kirine. . Tevî vê sînorkirina lezê, I2C hîn jî pir bikêr e di serîlêdanên ku veguheztina daneya bilind ne hewce ye, ji ber pilana wê ya têlhevkirinê ya hêsan û nermbûna girêdana gelek cîhazan. Ji bo kesên ku dixwazin di serweriya protokolên ragihandinê yên din de kûrtir bigerin, tê pêşniyar kirin ku gotara li ser bixwînin. çawa navrûya SPI dixebite.

Pêvajoya Veavakirina I2C li ser ekranek: Gavên taybetî

Pêvajoya veavakirina I2C Ew bi naskirina Pînên SDA (Daneyên) û SCL (Saet) li ser cîhazê dest pê dike. Van pin dê bi rêzdarî ji bo veguheztina daneyê û kontrolkirina demê berpirsiyar bin. Bi gelemperî, ew di bendera berfirehkirina GPIO (General Purpose Input Output) ya mîkrokontrolerê de ne. Bi piştrastkirina rast girêdana van pinan di navbera kontrolker û ekranê de em dikarin pêwendiya I2C ya rast piştrast bikin.

Pirtûkxaneya Wire bi gelemperî dê bibe ya ku ji bo bernamekirina li ser mîkrokontrolerê tê bikar anîn. Ev pirtûkxane bi peydakirina fonksiyonan ji bo destpêkirina ragihandinê, nivîsandin û xwendina daneyê bernamekirinê hêsan dike. Pelê sernavê Têl.h divê di kodê de, li dûv wê navnîşana cîhaza I2C di forma hexadecimal de were girtin. Têl.destpêk() Ferman dê têkilî di navbera mîkrokontroller û ekranê de dest pê bike. Daneyên dê bi karanîna fermana Wire.write() werin şandin dema ku Wire.read() dê daneyên wergirtî bixwîne.

Naveroka taybetî - Li vir bikirtînin  Xiaomi XRING 01: Çîpseta taybet a yekem a Xiaomi ji bo telefonên desta, her tiştê ku em dizanin

Di dawiyê de, ji bo nivîsandin û xwendina daneyan ji ekranê, rêz dê bi fermana Wire.beginTransmission() dest pê bike û bi Wire.endTransmission() bi dawî bibe. Girîng e ku meriv nirxên ku ji hêla vê fonksiyona paşîn ve hatî vegerandin verast bike. Nirxa sifir dê nîşan bide ku dane rast hatine şandin. Ger pirsgirêkek were dîtin, dê nirxên 2, 3, an 4 bi rêzê ve werin vegerandin ku xeletiyek di navnîşan, daneyên hatî wergirtin an de destnîşan dikin. amûrek din bersiv neda. Ji bo hûrguliyek kûr li ser xeletiyên I2C û çareseriya wan, hûn dikarin li ser gotara me şêwir bikin Pirsgirêkên I2C.

Çewtiyên hevpar û çareseriyên ji bo kontrolkirina dîmenan bi riya I2C

Kêmbûna zanînê di derbarê pêkanîna rast de Protokola I2C Ev bi gelemperî sedema sereke ya xeletiyan e dema ku hewl didin ku ekranek bi du kabloyan kontrol bikin. Çewtiyên herî gelemperî ji têgihîştina bi tevahî têgihîştin ka ev protokol çawa dixebite, nemaze ku meriv bifikire ku ew rê dide girêdana pir amûran bi heman xeta ragihandinê re. Di heman demê de, guheztina pin-ê ji bo çêkirina girêdana SDA (Daneyên), SCL (Saet) di mîkrokontroller de an jî hewcedariya berxwedêrên vekişandinê carinan têne paşguh kirin.

Pêngava yekem ji bo çareserkirina her pirsgirêkek ku hûn bi kontrolê re rû bi rû dimînin ji ekranê bi rêya I2C ye girêdan kontrol bikin. Di vê yekê de pejirandina yekbûna kabloyan, û her weha girêdana wan a rast bi pinên SDA û SCL-ê yên li ser cîhazê re vedihewîne. Bînin bîra xwe ku pin SDA ji bo veguheztina daneyê û SCL ji bo çêkirina demjimêra hevdemkirinê berpirsiyar e. Di rêberê me de li ser meriv çawa girêdanên I2C çêbike, hûn ê agahdariya berfirehtir bibînin.

Di dawiyê de, pir girîng e ku meriv vê yekê bîr bîne Têkiliya I2C pir bi nermalavê ve girêdayî ye. Ev tê vê wateyê ku hûn hewce ne ku pê ewle bin ku hûn pirtûkxaneya ajokera I2C ya rast ji bo dîmendera ku hûn hewl didin bikar bînin bikar tînin û ku hemî veavakirina nermalavê bi rêkûpêk hatî bicîh kirin. Kodên we ji bo serdestkirina I2C girîng in, ji ber vê yekê bi wê re pratîk bikin. Bi kurtasî, pêşniyara me ev e ku hûn protokolê baş fam bikin, girêdanên rast ên ku bi standardan ve girêdayî ne û mîheng bikin. nivîsbariyê rast ji bo kontrolkirina ekranê.

Naveroka taybetî - Li vir bikirtînin  Meriv çawa TV-yek Smart saz dike?

Bi navgîniya I2C-ê re karbidestiya pêşandan zêde kirin: Pêşniyarên pratîkî

Ji bo ku em di kontrolkirina dîmenderek bi karanîna navgîniya I2C de herî zêde karîgeriyê bi dest bixin, em ê tenê du kabloyan hewce bikin: SDA (dane) û SCL (saet). Di rastiyê de, ev her du yekane yên ku ji bo veguheztina agahdariyê hewce ne. Bi pêkanîna rast a van kabloyan, em ê karibin ekranek kontrol bikin bi bandor û bêyî hewcedariya hejmareke mezin a girêdanan. Ya sereke xweşbînkirin û hêsankirina pêvajoyê ye.

Yek ji feydeyên sereke yên karanîna pêwendiya I2C ev e ku ew rê dide me ku em bi wan du kabloyên ku hatine behs kirin pir cîhazan kontrol bikin. Digel vê yekê, bijartinek rast di berxwedana bidawîbûnê de dikare me rê bide ku destwerdanê kêm bikin û, ji ber vê yekê, kalîteya nîşanê baştir bikin. Têkiliya I2C destûrê dide kontrolkirina bi bandor û hêsan, nirxê karîgeriyê zêde dike û sêwirana pergalên me hêsan dike.

Ji bo ku hûn di derheqê pêkanîn û karanîna wê de bêtir fêr bibin, pêşniyarek pratîkî ev e ku hûn serî li belge û çavkaniyên fermî yên wekî dersan an forumên serhêl ên pispor bidin. Sûdgirtina ji çavkaniyên berdest dê bihêle ku em bi navgîniya navgîniya I2C ve bikar anîn û karbidestiya ekranên xwe xweştir bikin. Bi heman awayî, ji bo ku bi tevahî bikaranîn û feydeyên vê celebê navbeynkariyê fam bikin, kêrhatî ye ku hûn xwe bi hin têgînên teknîkî yên têkildar re nas bikin, wek mînak, ew çi ye û meriv çawa Otobusa I2C bikar tîne. Ketina cîhana I2C dibe ku di destpêkê de tevlihev xuya bike, lê destwerdana wê ji ya ku xuya dike hêsantir e û feydeyên wê diyar in. Fêmkirina ka ew çawa dixebite ji bo zêdekirina karîgeriyê û xweşbînkirina projeyên me pir girîng e.