
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

ประตู OR มีประโยชน์มาก แต่มีคุณสมบัติแปลก ๆ ที่ทำงานได้ดี แต่ในบางแอปพลิเคชันอาจทำให้เกิดปัญหาได้ นั่นคือข้อเท็จจริงที่ว่าหากอินพุตทั้งสองเป็นหนึ่ง เอาต์พุตก็จะเป็นหนึ่งเช่นกัน ถ้าเรามีแอปพลิเคชันที่เราไม่ต้องการสิ่งนี้ บางทีเรากำลังสร้างแอดเดอร์ เราจะใช้สิ่งที่เรียกว่า Exclusive Or Gate ซึ่งย่อมาจาก XOR หรือ EOR
ขั้นตอนที่ 1: ออกแบบ



วิธีหนึ่งในการบรรลุพฤติกรรม XOR คือการใช้เกท OR ปกติ จากนั้นจัดการกับกรณีที่อินพุตทั้งสองเป็นค่าบวก ถ้าเราผูกเกท AND เข้ากับอินพุต เราสามารถรับสัญญาณได้เมื่อกรณีนั้นปรากฏขึ้น จากนั้นเราสามารถนำสัญญาณนั้น กลับด้าน จากนั้นผูกสัญญาณนั้นกับเอาต์พุตของเกท OR ไปยังเกทอื่นและ สิ่งนี้จะทำให้เมื่อใดก็ตามที่อินพุตไม่ได้เปิดอยู่ ประตู OR จะผ่านเกตที่สองและเกท แต่เมื่ออินพุตทั้งสองสูงขึ้น ประตูแรกและเกตจะปิดประตูที่สองและเก็บไว้ เอาต์พุตปิดโดยไม่คำนึงถึงสถานะของเกต OR
การปรับอย่างหนึ่งที่ฉันได้ทำในวงจรสุดท้ายคือการสลับการรวมกันของ AND/NOT สำหรับเกท NAND ซึ่งเป็นเกท AND กลับด้าน แนวทางการทำงานนี้จะปรากฏให้เห็นในภายหลัง
ทีนี้มาเขียนแผนผังเดียวกันกัน แต่มีทรานซิสเตอร์และตัวต้านทาน ประเภทของทรานซิสเตอร์ที่ฉันใช้คือ 2N2222 BJT ซึ่งค่อนข้างธรรมดา (2N4401 และ 2N3904 ก็ใช้งานได้) ฉันใช้ทรานซิสเตอร์ 6 ตัว, ตัวต้านทาน 20k 3 ตัว, ตัวต้านทาน 3 47k โอห์ม 3 ตัว, ตัวต้านทาน 1 510 โอห์ม, ปุ่มกดสองตัวและ LED ฉันเลือกค่าตัวต้านทานเหล่านี้ตามแหล่งพลังงาน 5v ของฉัน และกระแสขั้นต่ำ 0.1mA หรือ 0.0001A สำหรับ 2N2222 ถ้าคุณใช้กฎของโอห์มในการคำนวณความต้านทานที่ถูกต้องต่อกราวด์สำหรับค่าเหล่านั้น คุณจะได้ 50,000 โอห์ม 47k ohms ใกล้พอสำหรับเกต NAND ล่าง แต่ทำไมค่าที่ต่ำกว่าสำหรับเกท OR และอินพุตแรกของเกท AND ที่สอง เหตุผลก็เพราะอีซีแอลของทรานซิสเตอร์ที่ประกอบเป็นเกท OR เชื่อมต่อผ่านฐานของทรานซิสเตอร์อีกตัวหนึ่ง ดังนั้นจึงวิ่งผ่านตัวต้านทานตัวที่สอง ไม่ใช่ลงกราวด์โดยตรง (ตัวต้านทานจำกัดกระแสของ LED มีค่าต่ำพอที่จะไม่มีนัยสำคัญในการคำนวณนี้)
ขั้นตอนที่ 2: การเพิ่มทรานซิสเตอร์ ปุ่ม และ LED

ขั้นตอนที่ 3: การเพิ่มตัวต้านทาน

ขั้นตอนที่ 4: การเพิ่มสาย


วิธีที่ฉันจ่ายไฟให้บอร์ดของฉันคือการต่อรางจ่ายไฟเข้ากับแหล่งจ่ายไฟสำหรับห้องปฏิบัติการที่ตั้งค่ากระแสไฟสูงสุด 5v และ 500mA อินพุตแบบเดียวกันสามารถทำได้โดยต่อไฟเข้ากับพิน 5V และ GND ของ Arduino แต่แหล่งจ่ายไฟ 5v ใช้งานได้จริง (แม้ว่าขอแนะนำให้ใช้อันที่ จำกัด ในปัจจุบันเพื่อลดความเสี่ยงที่ส่วนประกอบจะระเบิด)
ขั้นตอนที่ 5: การทดสอบและการแก้ไขปัญหา
เมื่อเชื่อมต่อแล้ว ฉันจะให้คุณทดสอบด้วยตัวเอง หากกดปุ่มใดปุ่มหนึ่ง ไฟ LED จะสว่างขึ้น อย่างไรก็ตาม หากผลักทั้งคู่ ไฟ LED จะดับลง
ปัญหาทั่วไป
- หากดูเหมือนว่าอินพุตหนึ่งไม่ทำงานอย่างที่ควรจะเป็น และกรณีที่อินพุตทั้งสองเปิดอยู่ยังคงเป็นศูนย์ ให้ตรวจสอบแรงดันไฟฟ้าที่อินพุตของเกท AND ที่มาจากเกท OR เมื่อกดปุ่มนั้น ถ้ามันต่ำ (< 2V) ให้ลดความต้านทานของตัวต้านทานที่ไปจาก OR ไปยังเกท AND
- หากเกตยังคงทำหน้าที่เป็นเกท OR ซึ่งหมายความว่าเมื่ออินพุททั้งสองอยู่บนเอาต์พุตเปิดอยู่ ให้ตรวจสอบแรงดันไฟฟ้าที่เข้ามาในอินพุทของเกท AND ที่มาจากเกท NAND หากค่านั้นสูงเมื่อกดปุ่มทั้งสอง ตรวจสอบให้แน่ใจว่าทรานซิสเตอร์ในเกท AND ทำงาน และตรวจสอบความต้านทานจากที่นั่นถึงกราวด์เมื่อกดปุ่มทั้งสอง หากความต้านทานนั้นสูงและ/หรือแรงดันไฟฟ้าต่ำ ให้เปลี่ยนทรานซิสเตอร์สองตัวนั้น หรือลดความต้านทานของอินพุตไปที่เกท NAND
ขั้นตอนที่ 6: ต้องการเพิ่มเติมหรือไม่
หากคุณชอบคำแนะนำนี้ ให้ลองดูหนังสือของฉันใน Amazon ที่ชื่อว่า "The Beginners Guide to Arduino" มันใช้หลักการพื้นฐานของวงจรเช่นเดียวกับการใช้รหัส C ++ ที่ใช้ในการเขียนโปรแกรม Arduino
แนะนำ:
สร้าง Arduino MIDI Controller: 5 ขั้นตอน (พร้อมรูปภาพ)

สร้าง Arduino MIDI Controller: สวัสดีทุกคน! ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างคอนโทรลเลอร์ MIDI ที่ขับเคลื่อนด้วย Arduino ของคุณเอง MIDI ย่อมาจาก Musical Instrument Digital Interface และเป็นโปรโตคอลที่ช่วยให้คอมพิวเตอร์ เครื่องดนตรี และฮาร์ดแวร์อื่นๆ สามารถสื่อสาร
สร้าง Macintosh Plus ROMs: 3 ขั้นตอน (พร้อมรูปภาพ)

สร้าง Macintosh Plus ROMs: คำแนะนำนี้จะแนะนำคุณตลอดกระบวนการ "ริป" ภาพ EPROM จากชิป Macintosh Plus ROM ของคุณและ (หรือ) "การเผาไหม้" ภาพไปยังชิปใหม่ กระบวนการโดยทั่วไปจะดำเนินการสองครั้งเพื่อสร้างทั้ง "
สร้าง Proximity Sensor ด้วย Magicbit [Magicblocks]: 6 ขั้นตอน
![สร้าง Proximity Sensor ด้วย Magicbit [Magicblocks]: 6 ขั้นตอน สร้าง Proximity Sensor ด้วย Magicbit [Magicblocks]: 6 ขั้นตอน](https://i.howwhatproduce.com/images/002/image-3505-j.webp)
สร้าง Proximity Sensor ด้วย Magicbit [Magicblocks]: บทช่วยสอนนี้จะสอนให้คุณใช้ Proximity Sensor กับ Magicbit โดยใช้ Magicblocks เราใช้ magicbit เป็นบอร์ดพัฒนาในโปรเจ็กต์นี้ ซึ่งใช้ ESP32 ดังนั้นสามารถใช้บอร์ดพัฒนา ESP32 ในโครงการนี้ได้
WebApp Controlled Gate Operator Add-on (IoT): 20 ขั้นตอน (พร้อมรูปภาพ)

WebApp Controlled Gate Operator Add-on (IoT): ฉันมีลูกค้าที่มีพื้นที่รั้วรอบขอบชิดที่คนจำนวนมากต้องเข้ามาและจากไป พวกเขาไม่ต้องการใช้แผงปุ่มกดด้านนอกและมีเครื่องส่งสัญญาณปุ่มกดจำนวนจำกัด การหาแหล่งข้อมูลเพิ่มเติมสำหรับ keyfobs เพิ่มเติมนั้นทำได้ยาก ผม
Gate Mate: 10 ขั้นตอน (พร้อมรูปภาพ)

Gate Mate: Gate Mate สามารถควบคุมประตูหรือโรงรถของคุณโดยใช้คำสั่งเสียงหรือโดยอัตโนมัติด้วย geofencing หรือเพียงกดปุ่ม Gate Mate ประกอบด้วยสององค์ประกอบหลัก ได้แก่ แอปและฮาร์ดแวร์ ฮาร์ดแวร์คือตัวควบคุมไมโคร ESP8266 สองตัวและ