🔢 نمایشگر هفت‌قسمتی (سون سگمنت) (7-Segment Display)

اسم انگلیسی7-Segment Display
در ووکوی (Wokwi)wokwi-7segment
دسته💡 LED و نمایشگر
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

نمایشگر هفت‌قسمتی یا سون سگمنت (7-Segment Display) هفت LED باریک است که به شکل عدد ۸ چیده شده‌اند، به‌اضافه‌ی یک نقطه (DP). با روشن کردن ترکیب‌های مختلف این قسمت‌ها رقم‌های ۰ تا ۹ و چند حرف ساخته می‌شود؛ برای شمارنده، تاس الکترونیکی، تایمر آشپزخانه یا نمایش طبقه‌ی آسانسور.

سون سگمنت در ووکوی (Wokwi)

شناسه‌اش در ووکوی wokwi-7segment است. پایه‌های قسمت‌ها A تا G و DP هستند و پایه‌های مشترک COM.1 و COM.2، مثل قطعه‌ی واقعی که دو پایه‌ی مشترک دارد. این تکه هفت قسمت را به پین‌های ۲ تا ۸ وصل می‌کند؛ برای کوتاه ماندن، مقاومت‌ها حذف شده‌اند:

{
  "version": 1,
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0 },
    { "type": "wokwi-7segment", "id": "seg1", "top": -130, "left": 160 }
  ],
  "connections": [
    [ "uno:2", "seg1:A", "green", [] ],
    [ "uno:3", "seg1:B", "green", [] ],
    [ "uno:4", "seg1:C", "green", [] ],
    [ "uno:5", "seg1:D", "green", [] ],
    [ "uno:6", "seg1:E", "green", [] ],
    [ "uno:7", "seg1:F", "green", [] ],
    [ "uno:8", "seg1:G", "green", [] ],
    [ "seg1:COM.1", "uno:GND.1", "black", [] ]
  ]
}
💡 قطعه‌ی ووکوی می‌تواند آند مشترک یا کاتد مشترک باشد و این با یکی از ویژگی‌های attrs آن تعیین می‌شود. اگر با این سیم‌کشی هیچ قسمتی روشن نشد، قطعه آند مشترک است: یا در attrs نوعش را کاتد مشترک کن، یا COM.1 را به uno:5V ببر و در کد COMMON_ANODE را true کن.

در تینکرکد فارسی سون سگمنت در هر دو حالت رایگان است؛ مثال سون‌سگمنت با آردوینو با هفت مقاومت آماده است.

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

پایه‌ی قطعهوصل به
aپین 2 از راه ۲۲۰ اهم
bپین 3 از راه ۲۲۰ اهم
cپین 4 از راه ۲۲۰ اهم
dپین 5 از راه ۲۲۰ اهم
eپین 6 از راه ۲۲۰ اهم
fپین 7 از راه ۲۲۰ اهم
gپین 8 از راه ۲۲۰ اهم
COM (هر دو)GND برای کاتد مشترک، 5V برای آند مشترک
DPوصل نیست

اسم قسمت‌ها استاندارد است: a بالا، b بالا راست، c پایین راست، d پایین، e پایین چپ، f بالا چپ و g خط وسط.

کد نمونه

شمارش معکوس از ۹ تا ۰ و بعد چشمک زدن صفر، مثل یک تایمر. هر رقم یک بایت است که بیت ۰ تا ۶ آن به ترتیب قسمت a تا g را روشن می‌کند:

// Single-digit countdown 9..0 on a 7-segment display.
// Wiring: segments a..g -> pins 2..8 (each through 220 ohm), COM -> GND
const int SEG_PINS[7] = {2, 3, 4, 5, 6, 7, 8};   // a b c d e f g
const bool COMMON_ANODE = false;                  // true if COM goes to 5V

// bit 0 = a ... bit 6 = g
const byte DIGITS[10] = {
  0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110,   // 0-4
  0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1101111    // 5-9
};

void showPattern(byte pattern) {
  for (int s = 0; s < 7; s++) {
    bool on = bitRead(pattern, s);
    digitalWrite(SEG_PINS[s], (on != COMMON_ANODE) ? HIGH : LOW);
  }
}

void setup() {
  for (int s = 0; s < 7; s++) pinMode(SEG_PINS[s], OUTPUT);
}

void loop() {
  for (int n = 9; n >= 0; n--) {
    showPattern(DIGITS[n]);
    delay(1000);
  }
  for (int i = 0; i < 5; i++) {        // time is up: blink the zero
    showPattern(0);
    delay(250);
    showPattern(DIGITS[0]);
    delay(250);
  }
}

جدول DIGITS را یک بار بنویس و همه‌جا استفاده کن؛ برای ساختن حرف هم کافی است الگوی بیت‌هایش را اضافه کنی، مثلاً 0b1110111 برای A.

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

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

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

سون سگمنت من کاتد مشترک است یا آند مشترک؟

پایه‌ی مشترک (COM) را به GND بزن و یکی از پایه‌های قسمت‌ها را با مقاومت ۲۲۰ اهم به 5V. اگر روشن شد، کاتد مشترک است. اگر نه، COM را به 5V و پایه‌ی قسمت را به GND ببر؛ اگر این بار روشن شد، آند مشترک است.

چرا برای هر قسمت یک مقاومت لازم است؟

هر قسمت یک LED جداست. اگر فقط یک مقاومت روی COM بگذاری، عدد ۱ با دو قسمت روشن خیلی پرنورتر از عدد ۸ با هفت قسمت دیده می‌شود.

برای چهار رقم هم همین روش جواب می‌دهد؟

شدنی است ولی پین‌ها زیاد می‌شوند و باید رقم‌ها را به نوبت و سریع روشن کنی (مالتی‌پلکس). راحت‌تر است از ماژول TM1637 استفاده کنی که فقط دو سیم داده می‌خواهد.

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

آموزش‌هایی که از این قطعه استفاده می‌کنند

🔢

نمایشگر سون‌سگمنت ۴ رقمی TM1637 با آردوینو: عدد، دونقطه و تایمر معکوس

قطعه‌های دیگرِ LED و نمایشگر

📊

نوار LED ده‌تایی

LED Bar Graph (10 segments)

📟

نمایشگر LCD 16×2

LCD 16x2 (LCD1602)

🌈

نئوپیکسل (WS2812)

NeoPixel (WS2812B)

🔢

نمایشگر ۴ رقمی TM1637

TM1637 4-Digit Display

🖥️

نمایشگر OLED ۰٫۹۶ اینچ (SSD1306)

SSD1306 OLED Display 0.96"

🔴

ماتریس LED هشت در هشت (MAX7219)

MAX7219 8x8 LED Matrix

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

نمایشگر هفت‌قسمتی (سون سگمنت) را در شبیه‌ساز امتحان کن 🚀