Транзистордон XOR дарбазасын жасаңыз: 6 кадам
Транзистордон XOR дарбазасын жасаңыз: 6 кадам
Anonim
Транзистордон XOR дарбазасын жасаңыз
Транзистордон XOR дарбазасын жасаңыз

ЖЕ дарбазалар абдан пайдалуу, бирок аларда жакшы иштей турган бир кызык өзгөчөлүк бар, бирок кээ бир колдонмолордо көйгөйлөр жаралышы мүмкүн. Бул, эгерде кирүүлөрдүн экөө тең болсо, анда чыгаруу дагы бирөө. Эгер бизде каалабаган тиркеме болгондо, балким, биз кошумча куруп жаткан болсок, XOR же EOR деген кыскартылган Exclusive or Gate деген нерсени колдонмокпуз.

1 -кадам: Дизайн

Дизайн
Дизайн
Дизайн
Дизайн
Дизайн
Дизайн

XOR жүрүм -турумуна жетүүнүн бир жолу - бул кадимки ЖЕ дарбазасын алуу, андан кийин эки киргизүү тең оң болгон учурда иштөө. Эгерде биз кириштерге AND дарбазасын байлап койсок, анда бул иш көрүнгөндө сигнал ала алабыз. Андан кийин биз бул сигналды алып, тескери бура алабыз, анан аны жана OR дарбазасынын чыгарылышын башка AND дарбазасына байлай алабыз. Бул экөөнүн тең кириши жок болгон учурда, OR дарбазасы жөн эле экинчи AND дарбазасынан өтөт, бирок эки кирүү тең жогору болгондо, биринчи AND дарбазасы Экинчи ЖАНА дарбазаны жабат жана сактайт ЖЕ дарбазасынын абалына карабастан чыгуу өчүрүлөт.

Мен акыркы схемада бүтүргөн бир жөндөө AND/NOT айкалышын NAND дарбазасына которуу болуп саналат, ал жөн гана тескери жана дарбаза. Мунун кандай иштээри кийинчерээк белгилүү болот.

Эми ошол эле схеманы жазалы, бирок транзисторлор жана резисторлор менен. Мен колдонгон транзистордун түрү - бул 2N2222 BJT, ал абдан таралган (2N4401 жана 2N3904 да иштейт). Мен 6 транзистор, 3 20к Ом резистор, 3 47к Ом резистор, 1 510 Ом резистор, эки баскыч жана LED колдондум. Мен бул резистордун баалуулуктарын 5v кубат булагыма жана 0.1NA же 0.0001A 2N2222 үчүн минималдуу токко негиздеп тандадым. Эгерде сиз Ом мыйзамын жерге туура каршылыкты эсептөө үчүн колдонсоңуз, анда 50 000 Ом аласыз. 47k ohms төмөнкү NAND дарбазасы үчүн жетиштүү жакын, бирок эмне үчүн OR дарбазасынын мааниси төмөн, экинчи AND дарбазасынын биринчи кириши? Себеби, OR дарбазасын түзгөн транзисторлордун эмитенти башка транзистордун базасы аркылуу туташкандыктан, жерге түз эмес, экинчи резистор аркылуу өтөт. (Светодиоддун учурдагы чектөөчү каршылыгы - бул эсептөөдө анча мааниге ээ эмес).

2 -кадам: Транзисторлорду, баскычтарды жана LEDди кошуу

Транзисторлорду, баскычтарды жана LEDди кошуу
Транзисторлорду, баскычтарды жана LEDди кошуу

3 -кадам: Резисторлорду кошуу

Резисторлорду кошуу
Резисторлорду кошуу

4 -кадам: Зымдарды кошуу

Зымдарды кошуу
Зымдарды кошуу
Зымдарды кошуу
Зымдарды кошуу

Менин тактайымды кубаттап жатканым, электр рельстерин 5v жана 500mA максималдуу токко орнотулган лабораториялык отургуч электр менен камсыздоо. Ушундай эле түргө Arduino 5V жана GND казыктарына электр энергиясын туташтыруу аркылуу жетүүгө болот, бирок чындыгында 5v электр менен камсыздоо иштейт (бирок учурдагы чектелген компоненттердин жарылуу коркунучун азайтуу үчүн сунушталат).

5 -кадам: Тестирлөө жана Мүчүлүштүктөрдү Оңдоо

Эми ал туташтырылгандыктан, мен өзүңдү сынап көрүүгө уруксат берем. Эгерде тигил же бул баскычтар басылса, анда LED жанышы керек. Эгерде экөө тең түртүлсө, анда LED өчөт.

Жалпы көйгөйлөр

  1. Эгерде бир кирүү иштебей жаткандай сезилсе жана эки кирүү күйгүзүлө турган болсо дагы нөлгө барабар болсо, баскыч басылганда ЖЕ дарбазасынан келген AND дарбазасынын киришиндеги чыңалууну текшериңиз. Эгерде ал төмөн болсо (<2V), ORдан AND дарбазасына чейинки резистордун каршылыгын азайтыңыз.
  2. Эгерде дарбаза дагы эле ЖЕ дарбазасы катары иштесе, демек, эки кирүү тең чыкканда, NAND дарбазасынан келген AND дарбазасынын киришине келген чыңалууну текшериңиз. Эгерде бул эки баскыч басылганда жогору болсо, AND дарбазасындагы транзисторлоруңуздун иштеп жатканын текшериңиз жана эки баскыч басылганда ал жерден жерге каршылыкты текшериңиз. Эгерде бул каршылык жогору жана/же бул чыңалуу төмөн болсо, анда бул эки транзисторду алмаштырыңыз же NAND дарбазасына кириштердин каршылыгын азайтыңыз.

6 -кадам: Көбүрөөк келеби?

Эгерде сизге ушул Нускамалык нерсе жакса, анда Амазонкадан "Arduinoго жаңы баштагандарга көрсөтмө" аттуу китебимди карап көрүңүз. Бул схеманын негизги принциптерин, ошондой эле Arduino программасы үчүн колдонулган C ++ кодун карап чыгат.

Сунушталууда: