Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
VÕI väravad on väga kasulikud, kuid neil on üks kummaline funktsioon, mis võib töötada suurepäraselt, kuid võib teatud rakendustes probleeme tekitada. See on asjaolu, et kui mõlemad sisendid on ühed, siis on ka väljund üks. Kui meil oleks rakendus, kus me seda ei soovinud, näiteks ehitaksime lisamise, kasutaksime midagi nimega Exclusive Or Gate, mis on lühend XOR või EOR.
Samm: kujundage
Üks võimalus XOR -käitumise saavutamiseks on võtta tavaline VÕI värav, seejärel käsitleda juhtumit, kus mõlemad sisendid on positiivsed. Kui me seostame sisenditega JA värava, saame selle juhtumi ilmumisel signaali. Seejärel saame selle signaali võtta, ümber pöörata, seejärel siduda see ja VÕI värava väljund teise JA väravaga. See teeb nii, et alati, kui mõlemad sisendid pole sisse lülitatud, läbib VÕI värav lihtsalt teise JA värava, kuid kui mõlemad sisendid lähevad kõrgele, lülitab esimene JA värav teise JA värava välja ja hoiab väljund välja, olenemata OR -värava olekust.
Üks korrigeerimine, mille ma lõpuks ahelas tegin, on AND/NOT kombinatsiooni vahetamine NAND -värava jaoks, mis on lihtsalt tagurpidi AND -värav. See, kuidas see toimib, selgub hiljem.
Nüüd kirjutame sama skeemi, kuid transistoride ja takistitega. Minu kasutatav transistori tüüp on 2N2222 BJT, mis on üsna tavaline (2N4401 ja 2N3904 töötavad ka). Kasutasin 6 transistorit, 3 20 kΩ takistit, 3 47 kΩ takistit, 1 510 oomi takisti, kahte nuppu ja LED -i. Valisin need takisti väärtused oma 5v toiteallika ja 2N2222 minimaalse voolu 0,1mA või 0,0001A põhjal. kui kasutate Ohmi seadust, et arvutada nende väärtuste õige maapinna takistus, saate 50 000 oomi. 47 kΩ on alumise NAND -värava jaoks piisavalt lähedal, kuid miks madalam väärtus OR -värava jaoks ja teise AND -värava esimene sisend? Põhjus on selles, et OR -värava moodustavate transistoride emitter on ühendatud teise transistori aluse kaudu, mis kulgeb läbi teise takisti, mitte otse maapinnale. (LED -i voolu piirav takisti on piisavalt madal väärtus, mis on selles arvutuses ebaoluline).
Samm: transistoride, nuppude ja LED -i lisamine
3. samm: takistite lisamine
Samm: juhtmete lisamine
See, kuidas ma oma plaati toidan, ühendab toitepiirded laboratooriumi toiteallikaga, mille toitepinge on 5 ja 500 mA. Sama tüüpi sisendit saab saavutada, ühendades toite Arduino 5V ja ja GND kontaktidega, kuid tõepoolest 5v toiteallikas töötab (kuigi komponentide õhkimise ohu vähendamiseks on soovitatav kasutada praegust piiratud voolutugevust).
Samm: testimine ja tõrkeotsing
Nüüd, kui see on ühendatud, lasen teil endal katsetada. Kui ühte või teist nuppu vajutatakse, peaks LED -tuli põlema. Kui aga mõlemat vajutada, siis LED kustub.
Tavalised probleemid
- Kui tundub, et üks sisend ei tööta nii nagu peaks ja kui mõlemad sisendid on sisse lülitatud, annab see siiski nulli, kontrollige selle nupu vajutamisel JA värava sisendis olevat pinget. Kui see on madal (<2V), vähendage takisti, mis läheb OR -st JA -väravasse.
- Kui värav toimib endiselt nagu VÕI värav, mis tähendab, et kui mõlemad sisendid on väljundis sisse lülitatud, kontrollige NAND -väravast tuleva JA -värava sisendisse tulevat pinget. Kui see on mõlema nupu vajutamisel kõrge, veenduge, et AND -värava transistorid töötavad, ja kontrollige mõlema nupu vajutamisel seeläbi maapinna takistust. Kui see takistus on kõrge ja/või pinge on madal, asendage need kaks transistorit või vähendage NAND -väravate sisendite takistust.
6. samm: kas soovite rohkem?
Kui teile see Instructable meeldis, minge edasi ja vaadake minu Amazoni raamatut "Arduino algajate juhend". See ületab ahela põhiprintsiibid ja Arduino programmeerimiseks kasutatava C ++ koodi.