Innholdsfortegnelse:

Lag en XOR -port ut av transistorer: 6 trinn
Lag en XOR -port ut av transistorer: 6 trinn

Video: Lag en XOR -port ut av transistorer: 6 trinn

Video: Lag en XOR -port ut av transistorer: 6 trinn
Video: ПОЛТЕРГЕЙСТ 5 УРОВНЯ СНОВА НЕ ДАЕТ ПОКОЯ, ЖУТКАЯ АКТИВНОСТЬ / LEVEL 5 POLTERGEIST, CREEPY ACTIVITY 2024, November
Anonim
Lag en XOR -port ut av transistorer
Lag en XOR -port ut av transistorer

ELLER porter er veldig nyttige, men de har en merkelig funksjon som kan fungere helt fint, men i visse applikasjoner kan det forårsake problemer. Det er det faktum at hvis begge inngangene er en, er utgangen også en. Hvis vi hadde et program der vi ikke ønsket dette, kanskje vi bygde en adder, ville vi brukt noe som heter Exclusive Or Gate, som er forkortet XOR eller EOR.

Trinn 1: Design

Design
Design
Design
Design
Design
Design

En måte å oppnå XOR -oppførselen på er å ta en vanlig ELLER -gate og deretter håndtere saken der begge inngangene er positive. Hvis vi knytter en OG -port til inngangene, kan vi få et signal når den saken dukker opp. Vi kan da ta det signalet, invertere det, deretter knytte det og utgangen fra ELLER -porten til en annen OG -port. Dette vil gjøre det slik at når det ikke er slik at begge inngangene er på, vil OR -porten ganske enkelt passere gjennom den andre OG -porten, men når begge inngangene går høyt, vil den første OG -porten stenge den andre OG -porten og beholde utgangen av uavhengig av tilstanden til OR -porten.

En justering jeg endte med å gjøre i den siste kretsen, er å bytte AND/NOT -kombinasjonen for en NAND -gate, som bare er en invertert AND -gate. Måten dette fungerer vil bli tydelig senere.

La oss nå skrive det samme skjematiske, men med transistorer og motstander. Transistorstypen jeg brukte er 2N2222 BJT, som er ganske vanlig (2N4401 og 2N3904 fungerer også). Jeg brukte 6 transistorer, 3 20k ohm motstander, 3 47k ohm motstander, 1 510 ohm motstand, to trykknapper og en LED. Jeg valgte disse motstandsverdiene basert på min 5v strømkilde, og 0,1mA, eller 0,0001A minimumsstrøm for 2N2222. Hvis du bruker Ohms lov til å beregne riktig motstand mot bakken for disse verdiene får du 50 000 ohm. 47k ohm er nær nok for den nedre NAND -porten, men hvorfor den lavere verdien for OR -porten, og den første inngangen til den andre OG -porten? Årsaken er fordi emitteren til transistorene som utgjør OR -porten er koblet til bunnen av en annen transistor og derfor går gjennom en andre motstand, ikke direkte til bakken. (Strømbegrensningsmotstanden til LED -en er en lav nok verdi til at den er ubetydelig i denne beregningen).

Trinn 2: Legge til transistorer, knapper og lysdioden

Legger til transistorer, knapper og LED
Legger til transistorer, knapper og LED

Trinn 3: Legge til motstander

Legge til motstander
Legge til motstander

Trinn 4: Legge til ledninger

Legge til ledninger
Legge til ledninger
Legge til ledninger
Legge til ledninger

Måten jeg driver brettet mitt på er å koble til strømskinnene til en strømforsyning for laboratoriebenker som er satt til 5v og 500mA maks strøm. Den samme typen inngang kan oppnås ved å koble strøm til en Arduinos 5V- og GND -pinner, men egentlig fungerer en 5v strømforsyning (selv om en begrenset strøm anbefales for å redusere risikoen for å sprenge komponenter).

Trinn 5: Testing og feilsøking

Nå som den er koblet til, lar jeg deg teste din egen. Hvis du trykker på den ene eller den andre av knappene, bør LED -lampen lyse. Hvis begge skyves, slås imidlertid LED -en av.

Vanlige problemer

  1. Hvis det ser ut til at en inngang ikke fungerer som den skal, og tilfellet der begge inngangene er på, fortsatt gir null, må du kontrollere spenningen ved inngangen til AND -porten som kommer fra OR -porten når den knappen trykkes inn. Hvis den er lav (<2V), reduser du motstanden til motstanden som går fra OR til AND -porten.
  2. Hvis porten fremdeles fungerer som bare en ELLER -gate, noe som betyr at når begge inngangene er på, er utgangen på, sjekk spenningen som kommer inn på inngangen til AND -porten som kommer fra NAND -porten. Hvis det er høyt når du trykker på begge knappene, må du kontrollere at transistorene i AND -porten fungerer, og sjekke motstanden derfra til bakken når du trykker på begge knappene. Hvis motstanden er høy, og/eller at spenningen er lav, bytt ut de to transistorene, eller reduser inngangenes motstand til NAND -portene.

Trinn 6: Vil du ha mer?

Hvis du likte denne Instructable, kan du gå til boken min på Amazon som heter "The Beginners Guide to Arduino." Den går over grunnleggende kretsprinsipper samt går over C ++ - koden som brukes til å programmere en Arduino.

Anbefalt: