
در آردوینو، HIGH و LOW دو ثابت پیشتعریفشده هستند که برای نشان دادن وضعیت منطقی یک پین دیجیتال استفاده میشوند.
این ثابتها بخشی از زبان آردوینو هستند و نیازی به تعریف آنها نیست — همیشه در دسترس هستند.
HIGH = ولتاژ بالا (معمولاً ۵ ولت یا ۳.۳ ولت بسته به برد)LOW = ولتاژ پایین (۰ ولت یا زمین)توضیح برای مبتدیها: فکر کنید یک سوئیچ دارید که فقط دو حالت دارد: «روشن» و «خاموش». در دنیای آردوینو،
HIGHیعنی «روشن» (ولتاژ وجود دارد) وLOWیعنی «خاموش» (بدون ولتاژ). این دو کلمه ساده، پل ارتباطی بین کد شما و دنیای فیزیکی هستند.
استفاده از این ثابتها به جای اعداد خام (مثل ۱ و ۰) چند مزیت دارد: — خوانایی کد: هر کس کد شما را بخواند، بلافاصله متوجه منظور شما میشود.
— قابلیت انتقال: در سیستمهای مختلف، ممکن است HIGH به ۳.۳ ولت یا ۵ ولت اشاره کند، اما کد شما بدون تغییر کار میکند.
— کاهش خطا: جلوی استفاده اشتباه از اعداد دیگر (مثل ۲ یا -۱) را میگیرد.
برای روشن یا خاموش کردن یک LED یا رله:
digitalWrite(13, HIGH); // LED روشن میشود
digitalWrite(13, LOW); // LED خاموش میشود
برای بررسی فشرده شدن دکمه:
int buttonState = digitalRead(2);
if (buttonState == HIGH) {
// دکمه فشرده شده (بسته به مدار)
}
توضیح برای مبتدیها: وضعیت واقعی دکمه بستگی به نحوهی سیمکشی دارد. اگر از
INPUT_PULLUPاستفاده کنید، دکمه فشردهنشدهHIGHو فشردهشدهLOWاست. همیشه مدار خود را بررسی کنید!
هرچند pinMode() معمولاً از INPUT، OUTPUT و INPUT_PULLUP استفاده میکند، اما در برخی کتابخانههای پیشرفته، HIGH و LOW برای تنظیمات اولیه ولتاژ هم به کار میروند.
const int BUTTON_PIN = 2;
const int LED_PIN = 13;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP); // دکمه با مقاومت داخلی
pinMode(LED_PIN, OUTPUT);
}
void loop() {
int buttonState = digitalRead(BUTTON_PIN);
if (buttonState == LOW) { // دکمه فشرده شده
digitalWrite(LED_PIN, HIGH); // LED روشن
} else {
digitalWrite(LED_PIN, LOW); // LED خاموش
}
}
در این مثال، LOW نشان میدهد دکمه فشرده شده است (به دلیل استفاده از INPUT_PULLUP)، و HIGH LED را روشن میکند.
در واقع، LOW معادل عدد 0 و HIGH معادل عدد 1 است. اما: — هرگز نباید بنویسید digitalWrite(13, 1) — چون خوانایی کد را کم میکند.
— در شرطها، بهتر است مستقیماً از HIGH/LOW استفاده کنید، نه از اعداد.
این ثابتها برای پینهای آنالوگ (مثل A0) یا اعداد محاسباتی معنی ندارند. برای پینهای آنالوگ، از مقادیر عددی (۰ تا ۱۰۲۳ برای ورودی، ۰ تا ۲۵۵ برای خروجی PWM) استفاده میشود.
HIGH = ولتاژ بالا (روشن / ۱)LOW = ولتاژ پایین (خاموش / ۰)digitalWrite() و digitalRead() استفاده میشونداین مطلب بر اساس مستندات رسمی Arduino از بخش Variables – Language Reference تهیه شده است، با توضیحات سادهشده، مثالهای کاربردی و نکات طلایی منحصربهفرد برای جامعه فارسیزبان.
برچسب های مهم