I-Multiplexer: konke odinga ukukwazi

i-chip ye-multiplexer

Un ukulele isekethe elihlanganayo elinokufakwayo okuningana futhi okukhipha idatha okukodwa. Ngalokhu, kungenzeka ukhethe ukudlula komunye weminyango yayo ukuyihambisa ekuphumeni kwayo. Lokho wukuthi, ungakhetha ukuthi ikuphi okokufaka ongakuthatha khona idatha noma i-bit esekufakeni bese ungakunaki konke okunye okufakwayo. Lokhu kuvame kakhulu ku-elekthronikhi lapho ukuxhumana okuningana kudinga ukwaba ulayini owodwa noma ibhasi.

Lokho wukuthi, ngokulawula i-multiplexer ongayenza khetha okokufaka okufanele ngaso sonke isikhathi. Yini eyenza kube nokwenzeka ukuthi ngaphandle kokuxhumeka okukodwa kuphela, ungasebenza ngamadivayisi wokufaka amaningi ngasikhathi sinye ngaphandle kokuthi aphazamisane. Futhi, kufanele wazi ukuthi i-demultiplexer ivame ukusetshenziswa ngokuhlangana ne-multiplexer kumaphrojekthi amaningi ...

Yini i-multiplexer?

ukulele

Lezi zinsizakalo zokuhlangana ezibiziwe abaphindaphindayo awavamile ukuba yinkimbinkimbi. Akhiwe ngamasango ambalwa enengqondo ngokuya ngenani lokufakwa kwedatha nokulawula kungakhulisa ubunzima. Imvamisa zifaka phakathi 2n okokufaka nokukhipha okukodwa, kanye nolayini bokulawula. Futhi eziningana zazo zingasetshenziswa ngokuhlangana ukukhulisa lelo nani lamathikithi atholakalayo.

Kungazwisiseka njenge isikhethi. Isibonelo, cabanga ukuthi unendlela elula kakhulu yokufaka okubili, okulula kakhulu okungakhiwa. Leso sifunda sizoba nokufaka okukodwa kokulawula nokuphumayo. Uma okokufaka kungu-A no-B, ngokufaka kokulawula kungenzeka ukulawula uma kungu-A odlulisa inani lalo kokukhiphayo S noma uma kungu-B okwenzayo. Ukuze wenze lokhu, kuzofanela uguqule inani lentambo yokulawula C. Isibonelo, uma u-C = 0 kuzoba ngu-A futhi uma u-C = 1 kuzoba ngu-B.

Njengoba uzoqonda, uma kukhona okokufaka okuningi, kuzodingeka okuningi lawula okokufaka ngokukhethwa. Eqinisweni, i-multiplexer wuhlobo olukhethekile lwe-decoder, enesiginali yokuvumela ngakunye okufakiwe KANYE nesango kanye nesango le-OR phakathi kokukhiphayo namasango KANYE. Ngaleyo ndlela ingakhethwa kalula.

Ngokuqondene nezicelo zayo, ungayisebenzisa ngobuningi bezinto:

  • Isikhethi sokufaka ukuze sabelane ngebhasi elilodwa noma ulayini uma unokokufaka okuningi.
  • I-serializer ukuze ithathe inani lokufakwayo ngakunye ngokulandelana.
  • Ngokudluliswa okuphindaphindwayo kusetshenziswa imigqa efanayo yokuxhuma yedatha ehlukahlukene evela kumadivayisi ahlukahlukene. Isibonelo, cabanga ukuthi ufuna ukusebenzisa iphinikhodi yedatha efanayo ye-microcontroller ukuxhuma imiphumela eminingi yedivayisi, kepha ukuthi ingathumela kuphela imininingwane eyodwa ngasikhathi ...
  • Yenza imisebenzi enengqondo, njll.

Izinhlobo ze-Multiplexer

Ngokuya ngendlela ukudluliswa okuhlukaniswe ngayo, kukhona izinhlobo ezahlukahlukene ama-multiplexers noma ama-multiplexing:

  • Ngokuhlukaniswa kwemvamisa
  • Ngokuhlukaniswa kwesikhathi
  • Ngokuhlukaniswa kwekhodi
  • Ngokuhlukaniswa kwe- ubude bamaza

Njengoba ungacabanga, zilawulwa yimvamisa, ngesikhathi yiwashi, ngekhodi kanambambili, nangebanga lobude. Kepha lapha nginentshisekelo kuphela kokujwayelekile ...

Ngaphezu kwezinhlobo, njengakwi-demultiplexer, ungayithola nge iziteshi eziningi noma ezingaphansi 2, 4, 8, 16, njll., Kuye ngokuthi yini oyidingayo kumaphrojekthi wakho we-DIY.

Umehluko nge-demultiplexer

umabhebhana

Ku-elekthronikhi yedijithali kukhona umabhebhana, isekethe elihlanganayo eliphikisana ne-multiplexer. Kulokhu kuzoba nokufaka okulodwa kuphela, kepha kungadluliselwa ngemiphumela yayo ehlukahlukene. Ngamanye amagama, kuleli cala, kuzonqunywa ngokusebenzisa amasiginali wokulawula okukhishelwa kuwo idatha yokufaka.

Si uxhuma i-demultiplexer kokukhipha kwe-multiplexer, ungaba nohlelo oluwusizo kakhulu lokufunda ukuthi womabili amadivayisi asebenza kanjani.

Ungathenga kuphi?

i-multiplexer demultiplexer

Lawa madivayisi avame ukusetshenziswa ku- cwilisa ama-chips silula. Ungabathola ezinhlotsheni ezahlukahlukene zomkhiqizo nangokokufaka okuningi noma okuphumayo uma kungenzeka ube yi-demultiplexer. Ngaphezu kwalokho, zitholakala kalula kwimidiya ehlukahlukene ekhethekile noma ezitolo eziku-inthanethi. Uma unentshisekelo yokuyithenga ngentengo enhle, lezi kungaba yizibonelo ezinhle zokuqala ngamaphrojekthi akho:

Ngikweluleka ukuthi ufunde ama-datasheet kubakhiqizi babo ukuthola umbono ocacile wabo ukukhipha, njengoba zingahluka ngokuya ngomkhiqizi noma uhlobo olithengile.

cd74hc4067

Ngaphezu kwalokho, njengoba ubona, kunamamojula amahle kakhulu akuvumela ukuthi ube namadivayisi womabili koyedwa. Kuyindaba ye- CD74HC4067 eyaziwa, imodyuli encane enobuchwepheshe be-TTL engakusiza ukuthi usebenze namabhanela ayo ayi-16 ngendlela eya kumabhidi amabili, ngokuba ne-MUX / DEMUX. Okusho ukuthi, ungayisebenzisa njengohlobo lwenkinobho ehlakaniphile.

Ngakho-ke, i-Arduino yakho ingafunda futhi ibhale kuze kufike ku-16 imishini ehlukahlukene ngezikhonkwane ezi-5 kuphela, ezi-4 zazo ezisetshenziselwe ukulawula nenye ezengeziwe ukuqoqa isignali okuhloswe ukuthi ifundwe noma ibhalwe ngokuya ngesiteshi esikhethiwe.

Into enhle ngale chip ukuthi isebenza ngazo zombili izimpawu ezidijithali neze-analog, ngakho-ke iyahambisana nezinzwa eziningi ezisebenza kuma-analog namanye ama-chip digital, kanye nenqwaba yezinto ezihlukile zikagesi. Inikeza ukuguquguquka okukhulu. Kungakho aziwa nangokuthi izikhulisi ze-I / O noma izikhulisi zokufaka nezokukhipha ...

Ungayisebenzisela i- ukuxhumana nge-port serial, ibhasi le-I2C noma i-SPI, esikhulume ngayo kwezinye izikhathi.

Vele, ngaphambi kokusebenza naye, kufanele uqiniseke ukuthi ukuhlangabezana voltages kanye nemisinga evuma lesi sifunda ukuze singasilimazi. Isibonelo, kulokhu kunganikeza kufika ku-20 mA, kanye ne-voltage ka-2 kuye ku-6v. Kodwa-ke, uma ufuna ukusebenza ngemisinga ephakeme ungasebenzisa i-relay noma nge-transistor.

Ukuhlanganiswa ne-Arduino

I-Arduino ene-Bluetooth

Uhlobo lwe ube nokufaka okuningi ebhodini lakho le-Arduino noma imiphumela ethe xaxa, ukusebenzisa la ma-multiplexers nama-demultiplexers. Ngabo uzokugwema ukuthenga ibhodi enentengo ephezulu enezikhonkwane eziningi, noma ukusebenzisa amanye amaqhinga ukuxhuma konke okudingayo.

Isibonelo, ungasebenzisa ifayela le- Imodyuli ye-MUX ne-DEMUX ukwazi ukuba nakho kokubili entweni eyodwa, bese uyihlanganisa kalula kuphrojekthi yakho ne-Arduino. Nge-CD74HC4067 ungayixhuma kalula, ngakho-ke kufanele ulandele le mithetho:

  • I-Vcc ye-chip ye-MUX / DEMUX kufanele uyixhume ku-Vcc ye-Arduino noma i-5V.
  • I-GND, umhlabathi, kufanele uyixhume ne-GND ye-Arduino.
  • Izikhonkwane ezibhalwe u-S0, S1, S2, S3 yizona ezilawula isiteshi esisebenzayo, ezine-Arduino digital I / O, njenge-D8, D9, D10 ne-D11.
  • I-EN nayo inika amandla, ukuze isebenze njenge-multiplexer ungayixhuma kwi-GND ye-Arduino.
  • Futhi i-SIG yisiginali yokukhipha ezonquma isiteshi esikhethiwe. Ingaxhunyaniswa ne-Arduino noma kunoma iyiphi idivayisi edinga ukufunda okukhiphayo. Kulokhu ngiyixhume ku-A0 ukuthola amanani avela ku-Arduino uqobo.
  • Ngakolunye uhlangothi lwemodyuli uzoba nokufaka kulokhu, okuyi-C0-C10 ongayixhuma kumadivayisi akho.

Uma ixhumekile, ikhodi ye-Arduino ingaba lula. I- Umdwebo we-Arduino IDE njenge-multiplexer Kungaba okulandelayo (le khodi izocisha kuphela neziteshi zabo ngokulandelana, kepha ungayiguqula ukwenza iphrojekthi oyifunayo):

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);
   }
}

Uma ufuna ukuyisebenzisa njenge-DEMUX, kufanele ubheke kuphela ukuthi i-C0-C10 kuzoba yimiphumela futhi i-SIG kungaba okokufaka. Uma kwenzeka ufuna yisebenzise njenge-demultiplexer, ikhodi izoshintsha kanjena:

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);
}

Khumbula ukuthi ungathola eminye imininingwane ngosizo lwe- inkambo yokuhlela yamahhala ye-Arduino.


Amazwana, shiya okwakho

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.

  1.   U-Xavier Ortiz kusho

    Sawubona, ngenza iphrojekthi, into engiyenzayo ukusebenzisa i-74hc4067 yokufaka okokuzwa kwezithiyo eziyisi-16 ze-infrared, nokuthi inzwa ngayinye ingiphendulela kokuhlukile. Yebo, uma bengingakwenza nge-mega ye-arduino kepha ngidinga ukusebenzisa izinzwa ze-infrared ezingama-50 nokuthi ngayinye ivule umphumela, okungukuthi, okukhishwayo okungu-50, ngicabanga ukusebenzisa ama-744067 amaningana okokufaka inzwa kanye ne-tlc5940 kokukhishwayo, kepha ikuphi ikhodi yohlelo ngilahlekile kancane, ngiyabonga kusengaphambili ngosizo lwakho.