🔄 گیت منطقی NOT (معکوسکننده) (NOT Gate / Inverter (74HC04))
| اسم انگلیسی | NOT Gate / Inverter (74HC04) |
|---|---|
| در ووکوی (Wokwi) | نسخهی آمادهای سراغ نداریم |
| دسته | 🔀 گیتهای منطقی |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
گیت منطقی NOT یا معکوسکننده (NOT Gate / Inverter) سادهترین گیت است: یک ورودی دارد و خروجیاش همیشه برعکس آن است؛ ۱ بدهی ۰ میگیری و ۰ بدهی ۱. آیسی 74HC04 شش معکوسکنندهی مستقل در یک بدنهی ۱۴ پایه دارد. در مدار واقعی NOT برای «برعکس کردن منطق» یک سیگنال به کار میرود: دکمهای را که با فشار LOW میدهد به سیگنالی تبدیل میکند که با فشار HIGH شود، یا خروجی سنسور نور را طوری برمیگرداند که چراغ در تاریکی روشن شود.
گیت NOT در ووکوی (Wokwi)
ووکوی در بخش منطق (Logic) معکوسکنندهی ساده دارد. ولی تا جایی که میدانیم ووکوی نسخهی آمادهی این قطعه را به شکل آیسی ششتایی 74HC04 ندارد. در کد آردوینو هم NOT فقط یک علامت است: !digitalRead(2).
در تینکرکد فارسی گیت NOT در هر دو مود رایگان است؛ مدار گیت NOT و مدار دو گیت پشت سر هم (AND و NOT) را ببین که در عمل یک گیت NAND میسازد، یا درس گیت NOT را برو.
سیمکشی با آردوینو
یک دکمه با مقاومت پولآپ به ورودی اولین معکوسکننده وصل است: رها یعنی HIGH و فشرده یعنی LOW. معکوسکننده آن را برعکس میکند، پس آردوینو و LED با فشار دادن HIGH میبینند.
| پایهی قطعه | وصل به |
|---|---|
| پایهی ۱ (1A) | دکمه به GND، و مقاومت ۱۰ کیلو به 5V |
| پایهی ۲ (1Y) | پین 2، و از راه ۲۲۰ اهم به آند LED (کاتد به GND) |
| پایهی ۱۴ (VCC) و پایهی ۷ (GND) | 5V و GND |
| ورودی پنج معکوسکنندهی دیگر (۳، ۵، ۹، ۱۱، ۱۳) | GND |
کد نمونه
برنامه لبهی بالاروندهی خروجی گیت را میشمارد. چون معکوسکننده منطق را درست کرده، در کد دیگر لازم نیست «فشرده یعنی LOW» را به خاطر بسپاری.
// 74HC04: a pull-up button goes into 1A, so 1Y on pin 2 is HIGH while pressed.
const int PIN_Y = 2;
bool lastY = LOW;
int presses = 0;
void setup() {
Serial.begin(9600);
pinMode(PIN_Y, INPUT); // the gate drives the line
}
void loop() {
bool y = digitalRead(PIN_Y);
if (y == HIGH && lastY == LOW) { // pressed: A went low, Y went high
presses++;
Serial.print("Pressed ");
Serial.print(presses);
Serial.println(" times");
delay(30); // skip the bounce
}
lastY = y;
}
اگر سیگنال ورودیات کند یا نویزی است (مثل دکمهای که برای حذف پرش یک خازن کنارش گذاشتهای)، بهجای 74HC04 از 74HC14 استفاده کن؛ همان شش معکوسکننده است، ولی با ورودی اشمیت تریگر (Schmitt Trigger) که سیگنال لرزان را به لبهی تمیز تبدیل میکند.
اشتباههای رایج
- ورودی رها: اگر دکمه یا مقاومت پولآپ را جا بیندازی، ورودی شناور است و LED بیدلیل چشمک میزند. ورودی CMOS هرگز نباید در هوا بماند.
- اشتباه گرفتن پایهها با 74HC08: چیدمان 74HC04 با آیسیهای AND و OR فرق دارد: اینجا خروجی گیت اول پایهی ۲ است، نه پایهی ۳.
- پنج گیت بیاستفاده: ورودیهای ۳، ۵، ۹، ۱۱ و ۱۳ را به GND ببند؛ خروجیهایشان (۴، ۶، ۸، ۱۰، ۱۲) را آزاد بگذار و هرگز به GND وصل نکن.
- راندن بار سنگین با خروجی گیت: خروجی 74HC برای یک LED کافی است، ولی موتور یا رله را مستقیم نمیگرداند. برای بار بزرگتر یک ترانزیستور NPN بگذار.
آموزشهای مرتبط
- مدار منطقی و دیجیتال: گیتها تا شمارنده
- گیت AND و آیسی 74HC08
- سنسور نور LDR؛ با NOT چراغ شب بساز
- ۱۵ مدار پایهی الکترونیک برای آردوینوکارها
سؤالهای رایج
آیسی 74HC04 چند گیت NOT دارد؟
شش معکوسکنندهی مستقل. ورودی گیت اول پایهی ۱ و خروجیاش پایهی ۲ است؛ پایهی ۷ زمین و ۱۴ تغذیه است.
فرق 74HC04 و 74HC14 چیست؟
هر دو شش معکوسکننده دارند، ولی 74HC14 ورودی اشمیت تریگر دارد که سیگنالهای کند یا نویزی را به لبهی تمیز تبدیل میکند؛ برای دکمه و سنسور لرزان انتخاب بهتری است.