Ilphléacsálaí: gach rud atá uait

sliseanna ilphléacsóra

Un ilphléacsóir is ciorcad comhcheangail é a bhfuil roinnt ionchur agus aschur sonraí amháin aige. Leis seo, is féidir pasáiste ach ceann amháin dá bhealaí isteach a roghnú chun é a threorú chuig a bhealach amach. Is é sin, d’fhéadfá a roghnú cén t-ionchur chun na sonraí nó an giotán atá ag an ionchur a thógáil agus neamhaird a dhéanamh ar an gcuid eile de na hionchuir. Tá sé seo an-choitianta i leictreonaic nuair is gá do roinnt nasc líne nó bus amháin a roinnt.

Is é sin, tríd an ilphléacsóir is féidir leat a rialú roghnaigh an t-ionchur cuí i gcónaí. Rud a fhágann gur féidir, ainneoin nasc amháin a bheith agat, gur féidir leat a bheith ag obair le ilghléasanna ionchuir ag an am céanna gan cur isteach ar a chéile. Chomh maith leis sin, ba chóir go mbeadh a fhios agat go n-úsáidtear demultiplexer go ginearálta i gcomhar leis an ilphléacsóir i go leor tionscadal ...

Cad is ilphléacsóir ann?

ilphléacsóir

Glaodh na seirbhísí comhcheangailte seo ilphléacsóirí de ghnáth ní bhíonn siad casta. Tá siad comhdhéanta de chúpla geata loighic ag brath ar mhéid a n-ionchur sonraí agus d’fhéadfadh rialú cur leis an gcastacht. Cuimsíonn siad de ghnáth 2n ionchuir agus aschur aonair, chomh maith le línte rialaithe. Agus is féidir leat roinnt acu a úsáid i dteannta a chéile chun líon na dticéad atá ar fáil a mhéadú.

Is féidir é a thuiscint mar roghnóir. Mar shampla, samhlaigh go bhfuil ceann an-simplí agat le dhá ionchur, an ceann is simplí is féidir a thógáil. Beidh ionchur agus aschur rialaithe amháin ag an gciorcad sin. Más A agus B na hionchuir, agus an t-ionchur rialaithe is féidir a rialú más é A a aistríonn a luach chuig an aschur S nó más é B a dhéanann é. Chun seo a dhéanamh, ní gá duit ach luach na líne rialaithe C. a athrú. Mar shampla, más C = 0 a bheidh ann A agus más C = 1 is B. a bheidh ann.

Mar a thuigfidh tú, má tá níos mó ionchur ann, beidh níos mó ag teastáil ionchuir rialaithe le roghnú. Déanta na fírinne, is cineál speisialta díchódóra é an ilphléacsóir, le comhartha cumasúcháin do gach geata AND san áireamh agus geata NÓ idir an t-aschur agus na geataí AND. Sa chaoi sin is féidir é a roghnú go héasca.

Maidir lena fheidhmchláir, is féidir leat é a úsáid le haghaidh an iliomad rudaí:

  • Roghnóir ionchuir chun bus nó líne aonair a roinnt nuair a bhíonn iliomad ionchur agat.
  • Sraithuimhir ionas go dtógfaidh sé luach gach ceann dá ionchuir in ord.
  • Le haghaidh tarchur ilphléacsáilte ag baint úsáide as na línte ceangail céanna le haghaidh sonraí éagsúla ó ghléasanna éagsúla. Mar shampla, samhlaigh gur mhaith leat an bioráin sonraí céanna de mhicrea-rialaitheoir a úsáid chun roinnt aschur feiste a nascadh, ach nach féidir leis faisnéis a sheoladh ach ceann amháin ag an am ...
  • Feidhmeanna loighciúla a chomhlíonadh, srl.

Cineálacha ilphléacsóra

Ag brath ar an mbealach a roinntear an tarchur, tá cineálacha éagsúla ilphléacsóirí nó ilphléacsáil:

  • De réir roinnte minicíochta
  • De réir roinnte ama
  • De réir roinnte cód
  • De réir roinnte ar tonnfhad

Mar is féidir leat a shamhlú, déantar iad a rialú de réir minicíochta, de réir ama le clog, de réir cód dénártha, agus de réir tonnfhaid. Ach anseo níl suim agam ach sa ghnás traidisiúnta ...

Chomh maith leis na cineálacha, mar atá leis an demultiplexer, is féidir leat é a fháil leis níos mó nó níos lú bealaí 2, 4, 8, 16, srl., Ag brath ar a bhfuil uait do do thionscadail DIY.

Difríochtaí le déimeagrafaic

demultiplexer

Sa leictreonaic dhigiteach tá demultiplexer, ciorcad comhcheangailte arb é antagonist an ilphléacsóra é. Sa chás seo ní bheidh ach ionchur faisnéise amháin ann, ach is féidir é a tharchur trína aschuir éagsúla. Is é sin le rá, sa chás seo, cinnfear é trí na comharthaí rialaithe a n-aistrítear na sonraí ionchuir chucu.

Si nascann tú demultiplexer le haschur ilphléacsóra, is féidir leat córas an-úsáideach a bheith agat chun foghlaim conas a oibríonn an dá fheiste.

Cá háit le ceannach?

demultiplexer ilphléacsóra

De ghnáth cuirtear na gairis seo i bhfeidhm i snámh sceallóga an-simplí. Is féidir leat iad a fháil i réimse leathan brandaí agus le roinnt ionchur nó aschur i gcás a bheith ina déimeagrafaic. Ina theannta sin, tá siad le fáil go héasca i siopaí speisialaithe meán nó ar líne. Má tá suim agat ceann a cheannach ar phraghas maith, is samplaí maithe iad seo le tosú le do thionscadail:

Molaim duit léamh na bileoga sonraí óna gcuid déantúsóirí chun tuairim shoiléir a fháil faoina pinout, de réir mar a d’fhéadfadh siad a bheith éagsúil ag brath ar an monaróir nó an cineál a cheannaigh tú.

cd74hc4067

Ina theannta sin, mar a fheiceann tú, tá modúil an-mhaith ann freisin a ligeann duit an dá fheiste a bheith agat i gceann amháin. Is cás le CD74HC4067 ar a dtugtar, modúl beag le teicneolaíocht TTL a chabhróidh leat oibriú lena 16 banal ar bhealach déthaobhach, trí MUX / DEMUX a bheith agat. Is é sin, is féidir leat é a úsáid mar chineál lasc cliste.

Mar sin, is féidir le do Arduino suas le 1 a léamh agus a scríobh6 bhfeiste éagsúla gan ach 5 phionna ann, 4 cinn acu in úsáid le haghaidh rialaithe agus ceann breise chun an comhartha a bhfuil sé beartaithe é a léamh nó a scríobh de réir an chainéil roghnaithe a bhailiú.

Is é an rud maith faoin sliseanna seo oibríonn sé le comharthaí digiteacha agus aschur, mar sin tá sé comhoiriúnach le go leor braiteoirí a oibríonn ar sceallóga analógacha agus digiteacha eile, chomh maith leis an iliomad eilimintí leictreonacha éagsúla. Tugann sé solúbthacht iontach. Sin é an fáth ar a dtugtar méadaitheoirí I / O nó aimplitheoirí ionchuir agus aschuir freisin ...

D’fhéadfá fiú é a úsáid le haghaidh cumarsáid tríd an bport sraitheach, an bus I2C nó an SPI, ar labhair muid cheana faoi uaireanta eile.

Ar ndóigh, sula n-oibríonn tú leis, ní mór duit a chinntiú go freastal ar na voltais agus na sruthanna a admhaíonn an ciorcad seo ionas nach ndéanfaidh sé damáiste dó. Mar shampla, sa chás seo féadfaidh sé suas le 20 mA a sholáthar, chomh maith le voltas 2 go 6v. Mar sin féin, más mian leat oibriú le sruthanna níos airde d’fhéadfá sealaíocht a úsáid nó trí thrasraitheoir.

Comhtháthú le Arduino

Arduino le Bluetooth

Bealach amháin níos mó ionchuir a bheith agat ar do bhord Arduino nó níos mó aschur, is é seo na ilphléacsóirí agus na déimeagrafaic a úsáid. In éineacht leo seachnóidh tú bord ar phraghas níos airde a cheannach a mbeidh níos mó bioráin air, nó a chaithfidh cleasanna eile a úsáid chun gach rud a theastaíonn uait a nascadh.

Mar shampla, is féidir leat a Modúl MUX agus DEMUX a bheith in ann an dá ghné amháin a bheith agat, agus ansin é a chomhtháthú go héasca le do thionscadal le Arduino. Leis an CD74HC4067 is féidir leat é a nascadh go héasca, mar sin ní mór duit na rialacha seo a leanúint:

  • Vcc den sliseanna MUX / DEMUX caithfidh tú é a nascadh le Vcc de Arduino nó 5V.
  • GND, an talamh, ní mór duit é a nascadh le GND an Arduino.
  • Is iad na bioráin marcáilte S0, S1, S2, S3 na cinn a rialaíonn an cainéal gníomhach, le ceithre Arduino digiteach I / O, mar shampla D8, D9, D10 agus D11.
  • Tá an EN á chumasú freisin, ionas go n-oibreoidh sé mar ilphléacsóir is féidir leat é a nascadh le GND Arduino.
  • Agus is é SIG an comhartha aschuir a shocróidh an cainéal roghnaithe. Is féidir é a nascadh le Arduino nó le haon ghaireas a chaithfidh an t-aschur a léamh. Sa chás seo tá nasc agam le A0 chun na luachanna a fháil ón Arduino féin.
  • Ag ceann eile an mhodúil beidh na hionchuir agat sa chás seo, is iad sin C0-C10 ar féidir leat a nascadh le do ghléasanna.

Nuair a bheidh sé ceangailte, is féidir an cód Arduino a bheith simplí. Tá an Sceitse Arduino IDE mar ilphléacsóir Is féidir é a bheith mar seo a leanas (ní chasfaidh an cód seo ach agus ar a gcainéil faoi seach, ach is féidir leat é a mhodhnú chun an tionscadal a theastaíonn uait a dhéanamh):

const int muxSIG = A0;
const int muxS0 = 8;
const int muxS1 = 9;
const int muxS2 = 10;
const int muxS3 = 11;
 
int SetMuxChannel(byte channel)
{
   digitalWrite(muxS0, bitRead(channel, 0));
   digitalWrite(muxS1, bitRead(channel, 1));
   digitalWrite(muxS2, bitRead(channel, 2));
   digitalWrite(muxS3, bitRead(channel, 3));
}
 
void setup()
{
   pinMode(muxSIG, OUTPUT);
   pinMode(muxS0, OUTPUT);
   pinMode(muxS1, OUTPUT);
   pinMode(muxS2, OUTPUT);
   pinMode(muxS3, OUTPUT);
}
 
void loop()
{
   for (byte i = 0; i < 16; i++)
   {
      SetMuxChannel(i);
      digitalWrite(muxSIG, HIGH);
      delay(200);
      digitalWrite(muxSIG, LOW);
      delay(200);
   }
}

Más mian leat é a úsáid mar DEMUX, níor cheart duit a mheas ach gurb é C0-C10 na haschuir agus SIG a bheadh ​​mar ionchur. I gcás gur mian leat é a úsáid mar demultiplexer, athródh an cód mar seo:

onst int muxSIG = A0;
const int muxS0 = 8;
const int muxS1 = 9;
const int muxS2 = 10;
const int muxS3 = 11;
 
int SetMuxChannel(byte channel)
{
   digitalWrite(muxS0, bitRead(channel, 0));
   digitalWrite(muxS1, bitRead(channel, 1));
   digitalWrite(muxS2, bitRead(channel, 2));
   digitalWrite(muxS3, bitRead(channel, 3));
}
 
void setup()
{
   Serial.begin(9600);
   pinMode(muxS0, OUTPUT);
   pinMode(muxS1, OUTPUT);
   pinMode(muxS2, OUTPUT);
   pinMode(muxS3, OUTPUT);
}
 
void loop()
{
   for (byte i = 0; i < 16; i++)
   {
      SetMuxChannel(i);
      byte muxValue = analogRead(muxSIG);
 
      Serial.print(muxValue);
      Serial.print("\t");
   }
   Serial.println();
   delay(1000);
}

Cuimhnigh gur féidir leat tuilleadh faisnéise a fháil le cabhair ónár cúrsa cláraithe Arduino saor in aisce.


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

A comment, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   Xavier Ortiz a dúirt

    Dia duit, tá tionscadal á dhéanamh agam, an rud mar a dhéanaim chun an 74hc4067 a úsáid le haghaidh ionchuir de 16 braiteoir constaic infridhearg, agus go ndéanann gach braiteoir aschur difriúil dom. Bhuel, dá bhféadfainn é a dhéanamh leis an mega arduino ach is gá dom 50 braiteoir infridhearg a úsáid agus go n-iompaíonn gach ceann aschur, is é sin, 50 aschur, táim ag smaoineamh ar roinnt 744067 a úsáid le haghaidh ionchuir braiteoirí agus an tlc5940 le haghaidh aschur, ach cad é an cód cláraithe táim caillte beagáinín, buíochas roimh ré as do chuidiú.