Kazalo:

Naredite vrata XOR iz tranzistorjev: 6 korakov
Naredite vrata XOR iz tranzistorjev: 6 korakov

Video: Naredite vrata XOR iz tranzistorjev: 6 korakov

Video: Naredite vrata XOR iz tranzistorjev: 6 korakov
Video: Поставьте стакан воды у двери, и увидите, что будет. Выгоните любое зло, сглаз и порчу 2024, November
Anonim
Naredite vrata XOR iz tranzistorjev
Naredite vrata XOR iz tranzistorjev

ALI vrata so zelo uporabna, vendar imajo eno nenavadno funkcijo, ki lahko dobro deluje, vendar lahko v nekaterih aplikacijah povzroči težave. To je dejstvo, da če sta oba vhoda ena, je izhod tudi en. Če bi imeli aplikacijo, kjer tega ne želimo, bi morda gradili seštevalec, bi uporabili nekaj, kar se imenuje Exclusive Or Gate, kar je skrajšano XOR ali EOR.

1. korak: Oblikovanje

Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje
Oblikovanje

Eden od načinov za dosego vedenja XOR je, da vzamete običajna vrata OR, nato pa obravnavate primer, ko sta oba vhoda pozitivna. Če vrata IN povežemo z vhodi, lahko dobimo signal, ko se prikaže ta primer. Ta signal lahko nato vzamemo, obrnemo, nato pa to in izhod vrat OR povežemo z drugimi vrati AND. To bo omogočilo, da kadar koli ni vklopljen oba vhoda, vrata OR preprosto preidejo skozi druga vrata AND, ko pa gresta oba vhoda visoko, bodo prva vrata AND zaprla druga vrata AND in izhod ne glede na stanje vrat OR.

Ena prilagoditev, ki sem jo naredil v zadnjem krogu, je preklop kombinacije AND/NOT za vrata NAND, ki so le obrnjena vrata AND. Način delovanja bo viden kasneje.

Zdaj pa zapišemo isto shemo, vendar s tranzistorji in upori. Vrsta tranzistorja, ki sem ga uporabil, je 2N2222 BJT, ki je precej pogost (tudi 2N4401 in 2N3904 delujeta). Uporabil sem 6 tranzistorjev, 3 20k ohmske upore, 3 47k ohmske upore, 1 510 ohmski upor, dva gumba in LED. Te vrednosti upora sem izbral glede na vir napajanja 5v in minimalni tok 0,1 mA ali 0,0001A za 2N2222. če uporabite Ohmov zakon za izračun pravilne odpornosti proti zemlji za te vrednosti, dobite 50 000 ohmov. 47k ohmov je dovolj blizu za spodnja vrata NAND, zakaj pa nižja vrednost za vrata OR in prvi vhod drugih vrat AND? Razlog je v tem, da se oddajnik tranzistorjev, ki sestavljajo vrata OR, priklopi skozi osnovo drugega tranzistorja, zato teče skozi drugi upor, ne neposredno na ozemljitev. (Trenutni omejevalni upor LED je dovolj nizka vrednost, da je pri tem izračunu nepomemben).

2. korak: Dodajanje tranzistorjev, gumbov in LED

Dodajanje tranzistorjev, gumbov in LED
Dodajanje tranzistorjev, gumbov in LED

3. korak: Dodajanje uporov

Dodajanje uporov
Dodajanje uporov

4. korak: Dodajanje žic

Dodajanje žic
Dodajanje žic
Dodajanje žic
Dodajanje žic

Način napajanja moje plošče je priklop napajalnih tirnic na napajanje laboratorijske mize, nastavljeno na največji tok 5v in 500mA. Enako vrsto vhoda je mogoče doseči s priključitvijo napajanja na nožice 5V in in GND Arduino, vendar v resnici deluje 5 -voltni napajalnik (čeprav je za zmanjšanje tveganja razstreljevanja komponent priporočljivo, da je omejen na trenutno).

5. korak: Preizkušanje in odpravljanje težav

Zdaj, ko je priklopljen, vam bom dovolil, da preizkusite svojega. Če pritisnete enega ali drugega gumba, mora zasvetiti LED. Če pritisnete oba, se bo LED ugasnila.

Pogoste težave

  1. Če se zdi, da en vhod ne deluje, kot bi moral, in če sta oba vhoda še vedno vklopljena, je nič, preverite napetost na vhodu vrat AND, ki prihaja iz vrat OR, ko pritisnete ta gumb. Če je nizek (<2V), zmanjšajte upor upora, ki vodi od OR do vrat AND.
  2. Če vrata še vedno delujejo samo kot vrata OR, kar pomeni, da ko sta oba vhoda na izhodu vklopljena, preverite napetost, ki prihaja na vhod vrat IN, ki prihaja iz vrat NAND. Če je pri pritisku na oba gumba to visoko, preverite, ali tranzistorji v vratih AND delujejo, in preverite upor od tam do tal, ko pritisnete oba gumba. Če je ta upor velik in/ali je napetost nizka, zamenjajte ta dva tranzistorja ali zmanjšajte upor vhodov na vrata NAND.

6. korak: Želite več?

Če vam je bil ta Instructable všeč, si oglejte mojo knjigo na Amazonu, imenovano "Vodnik za začetnike v Arduinu." Gre za osnovna načela vezja in za kodo C ++, ki se uporablja za programiranje Arduina.

Priporočena: