🔀 گیت منطقی OR (OR Gate (74HC32))

اسم انگلیسیOR Gate (74HC32)
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته🔀 گیت‌های منطقی
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

گیت منطقی OR (OR Gate) خروجی‌اش ۱ می‌شود اگر دست‌کم یکی از ورودی‌ها ۱ باشد، و فقط وقتی همه صفرند صفر می‌دهد. آی‌سی 74HC32 چهار گیت OR دوورودی دارد و پایه‌هایش درست مثل 74HC08 چیده شده‌اند. کاربرد کلاسیکش «چند دکمه برای یک زنگ» است: زنگ در جلو یا زنگ در پشت، فرقی نمی‌کند. کنار آردوینو هم یک کاربرد خیلی عملی دارد: چند سنسور را روی یک پین وقفه جمع می‌کند.

گیت OR در ووکوی (Wokwi)

ووکوی در بخش منطق (Logic) گیت OR ساده را دارد و می‌توانی آن را بین دکمه‌ها و آردوینو بگذاری. ولی تا جایی که می‌دانیم ووکوی نسخه‌ی آماده‌ی این قطعه را به شکل آی‌سی 74HC32 با پایه‌شماری واقعی ندارد. اگر فقط منطق را می‌خواهی، OR را در کد هم می‌شود ساخت: digitalRead(5) || digitalRead(6).

در تینکرکد فارسی گیت OR در هر دو مود رایگان است؛ مدار گیت OR با دو دکمه و درس گیت OR را ببین. مدار مدار OR (یا این یا اون) هم همین منطق را فقط با دو کلید موازی و بدون آی‌سی نشان می‌دهد.

سیم‌کشی با آردوینو

اونو فقط دو پین وقفه‌ی خارجی دارد (2 و 3). اگر چند سنسور داری که هر کدام باید فوراً آردوینو را خبر کنند، خروجی‌هایشان را با OR یکی کن و به پین 2 بده؛ بعد در کد ببین کدام بوده.

پایه‌ی قطعهوصل به
پایه‌ی ۱ (1A)دکمه‌ی A به 5V، مقاومت ۱۰ کیلو به GND، و پین 5
پایه‌ی ۲ (1B)دکمه‌ی B به 5V، مقاومت ۱۰ کیلو به GND، و پین 6
پایه‌ی ۳ (1Y)پین 2 (وقفه)
پایه‌ی ۱۴ (VCC) و پایه‌ی ۷ (GND)5V و GND
ورودی‌های بی‌استفاده (۴، ۵، ۹، ۱۰، ۱۲، ۱۳)GND
بازر یا پیزو (+ و −)پین 8 و GND

مقاومت‌های ۱۰ کیلو پول‌داون (Pull-down) هستند: وقتی دکمه رها است، ورودی گیت را صفر نگه می‌دارند.

کد نمونه

وقفه فقط یک پرچم را بالا می‌برد. حلقه وقتی پرچم را دید، پین‌های 5 و 6 را می‌خواند تا بفهمد کدام دکمه زده شده، یک بوق کوتاه می‌زند و برای پوشاندن پرش دکمه کمی صبر می‌کند.

// 74HC32 joins two buttons onto interrupt pin 2; pins 5 and 6 say which one.
const int PIN_ANY = 2;          // gate output 1Y
const int PIN_A = 5;            // button A (also on gate input 1A)
const int PIN_B = 6;            // button B (also on gate input 1B)
const int BUZZER_PIN = 8;

volatile bool triggered = false;

void onAny() {
  triggered = true;             // just raise a flag
}

void setup() {
  Serial.begin(9600);
  pinMode(PIN_ANY, INPUT);
  pinMode(PIN_A, INPUT);
  pinMode(PIN_B, INPUT);
  attachInterrupt(digitalPinToInterrupt(PIN_ANY), onAny, RISING);
}

void loop() {
  if (!triggered) return;
  delay(5);                                  // let the inputs settle
  Serial.print("Ring from:");
  if (digitalRead(PIN_A) == HIGH) Serial.print(" A");
  if (digitalRead(PIN_B) == HIGH) Serial.print(" B");
  Serial.println();
  tone(BUZZER_PIN, 1200, 150);
  delay(250);                                // ignore the button bounce
  triggered = false;
}

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

گیت OR چه کاربردی کنار آردوینو دارد؟

می‌تواند چند سنسور یا دکمه را روی یک پین وقفه جمع کند. آردوینو اونو فقط دو پین وقفه‌ی خارجی دارد؛ با OR هر کدام از ورودی‌ها که فعال شود، آردوینو فوراً خبردار می‌شود.

چرا دو خروجی را مستقیم به هم وصل نکنم؟

اگر یکی HIGH و دیگری LOW باشد، بین ۵ ولت و زمین اتصال کوتاه درست می‌شود و خروجی‌ها آسیب می‌بینند. برای OR از گیت یا دو دیود استفاده کن.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: گیت منطقی OR آمده است.

قطعه‌های دیگرِ گیت‌های منطقی

🔄

گیت منطقی NOT (معکوس‌کننده)

NOT Gate / Inverter (74HC04)

💡

گیت منطقی XOR

XOR Gate (74HC86)

🔗

گیت منطقی AND

AND Gate (74HC08)

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

گیت منطقی OR را در شبیه‌ساز امتحان کن 🚀