4Digit 7 Segment Multiplex Display Module

ماژول نمایش 7 قطعه ای چهار رقمی

NSE-7SA4 (2)

7Segment چهار رقمی

ورودی

دیتا جهت نمایش رقم (A-B-C-D-E-F-G-dot)

ورودی

انتخاب سگمنت جهت نمایش رقم (D1-D2-D3-D4)

لیست المان های NSE-7SA4

QuantityCodeSymbol
14Digit 7 Segment7Seg
4NPN/PNP (BC548/558)Q
8220R
41KR
13pin1x13 SIL Right-Angle MalePin Header
6cm x 4cmSingle Side with Solder Mask and HelperPCB

سون سگمنت ها نمایشگر هایی کوچک هستند که به جهت آنکه میتوانند به خوبی دیده شوند و درخشان تر هستند و به دلیل زاویه دید خوبی که دارند ، برای مواردی که احتیاج به دیده شدن از دور هم وجود داشته باشد ، انتخاب بسیار مناسبی است.

ماژول سون سگمنت یک نمایشگر دیجیتال بوده که مجهز به 7 عدد ال ای دی برای نمایش اعداد است. این ماژول الکترونیک دارای 7 ال ای دی بوده که هر یک، 1 سگمنت به شمار می آیند و در هنگام روشن شدن، به رنگ قرمز روشن می گردند. این نمایشگر دیجیتال در ابعادی برابر با 60×40 میلیمتر تولید شده و قابلیت نمایش 4 عدد را دارد. ولتاژ کاری این ماژول برابر با 5 ولت DC می باشد.

ماژول “نمایش 7 قطعه‌ای چهار رقمی” یک قطعه الکترونیکی است که برای نمایش اعداد و ارقام به صورت دیجیتال در سیستم‌ها و دستگاه‌های الکترونیکی مورد استفاده قرار می‌گیرد. این ماژول معمولاً شامل چهار نمایشگر هفت قطعه‌ای (Seven-Segment Display) است که به هم متصل شده‌اند و قادر به نمایش اعداد از 0 تا 9 است.

هر نمایشگر هفت قطعه‌ای شامل هفت قطعه سگمنت (Segment) است که به صورت الفبایی A تا G نامگذاری می‌شوند. با ترکیب این هفت قطعه سگمنت در الگوهای مختلف، اعداد مختلف قابل نمایش هستند. علاوه بر اعداد، برخی نمایشگرهای هفت قطعه‌ای قادر به نمایش نمادهای خاص مانند نقطه (Decimal Point) هم هستند.

ماژول “نمایش 7 قطعه‌ای چهار رقمی” عمدتاً برای نمایش اعداد چهار رقمی استفاده می‌شود. این ماژول دارای چهار عدد نمایشگر هفت قطعه‌ای مستقل است که به صورت موازی و یا سری به یکدیگر متصل می‌شوند. هرکدام از این نمایشگرها توسط سیگنال‌های کنترلی مستقلی که از میکروکنترلر یا سایر منابع سیگنال تأمین می‌شود، کنترل می‌شوند.

با استفاده از ماژول “نمایش 7 قطعه‌ای چهار رقمی”، می‌توان اعداد و ارقام مختلف را به صورت دیجیتال در دستگاه‌ها نمایش داد. این ماژول معمولاً در دستگاه‌هایی مانند ساعت‌های دیجیتال، تقویم‌ها، ابزارهای اندازه‌گیری و دستگاه‌های صنعتی استفاده می‌شود.

برای استفاده از این ماژول، عموماً نیاز به تأمین تغذیه مناسب، ارسال سیگنال‌های کنترلی به نمایشگرها و تنظیم مقادیر مورد نمایش در ماژول دارید. همچنین، برخی ماژول‌ها مجهز به ویژگی‌هایی مانند تنظیم روشنایی و تنظیم زمان نمایش هستند.

 

				
					/**
   Arduino Digital Alarm Clock

   bY: Farhad Nikkhah
   https://www.NikiSite.com
   https://www.nikisite.com/product/nse-7sa4/
   https://www.nikisite.com/product/nse-rmds/
   https://www.nikisite.com/product/nse-keyx/
*/

//==========================================================================================
#include <SevSeg.h>
#include "Button.h"
#include "AlarmTone.h"
#include "Clock.h"
#include "config.h"

const int COLON_PIN = 13;
const int SPEAKER_PIN = A3;

Button hourButton(A0);
Button minuteButton(A1);
Button alarmButton(A2);

AlarmTone alarmTone;
Clock clock;
SevSeg sevseg;

enum DisplayState {
  DisplayClock,
  DisplayAlarmStatus,
  DisplayAlarmTime,
  DisplayAlarmActive,
  DisplaySnooze,
};

DisplayState displayState = DisplayClock;
long lastStateChange = 0;

void changeDisplayState(DisplayState newValue) {
  displayState = newValue;
  lastStateChange = millis();
}

long millisSinceStateChange() {
  return millis() - lastStateChange;
}

void setColon(bool value) {
  digitalWrite(COLON_PIN, value ? LOW : HIGH);
}
//==========================================================================================
void displayTime() {
  DateTime now = clock.now();
  bool blinkState = now.second() % 2 == 0;
  sevseg.setNumber(now.hour() * 100 + now.minute());
  setColon(blinkState);
}
//==========================================================================================
void clockState() {
  displayTime();

  if (alarmButton.read() == Button::RELEASED && clock.alarmActive()) {
    // Read alarmButton has_changed() to clear its state
    alarmButton.has_changed();
    changeDisplayState(DisplayAlarmActive);
    return;
  }

  if (hourButton.pressed()) {
    clock.incrementHour();
  }
  if (minuteButton.pressed()) {
    clock.incrementMinute();
  }
  if (alarmButton.pressed()) {
    clock.toggleAlarm();
    changeDisplayState(DisplayAlarmStatus);
  }
}
//==========================================================================================
void alarmStatusState() {
  setColon(false);
  sevseg.setChars(clock.alarmEnabled() ? " on" : " off");
  if (millisSinceStateChange() > ALARM_STATUS_DISPLAY_TIME) {
    changeDisplayState(clock.alarmEnabled() ? DisplayAlarmTime : DisplayClock);
    return;
  }
}
//==========================================================================================
void alarmTimeState() {
  DateTime alarm = clock.alarmTime();
  sevseg.setNumber(alarm.hour() * 100 + alarm.minute(), -1);

  if (millisSinceStateChange() > ALARM_HOUR_DISPLAY_TIME || alarmButton.pressed()) {
    changeDisplayState(DisplayClock);
    return;
  }

  if (hourButton.pressed()) {
    clock.incrementAlarmHour();
    lastStateChange = millis();
  }
  if (minuteButton.pressed()) {
    clock.incrementAlarmMinute();
    lastStateChange = millis();
  }
  if (alarmButton.pressed()) {
    changeDisplayState(DisplayClock);
  }
}
//==========================================================================================
void alarmState() {
  displayTime();

  if (alarmButton.read() == Button::RELEASED) {
    alarmTone.play();
  }
  if (alarmButton.pressed()) {
    alarmTone.stop();
  }
  if (alarmButton.released()) {
    alarmTone.stop();
    bool longPress = alarmButton.repeat_count() > 0;
    if (longPress) {
      clock.stopAlarm();
      changeDisplayState(DisplayClock);
    } else {
      clock.snooze();
      changeDisplayState(DisplaySnooze);
    }
  }
}
//==========================================================================================
void snoozeState() {
  sevseg.setChars("****");
  if (millisSinceStateChange() > SNOOZE_DISPLAY_TIME) {
    changeDisplayState(DisplayClock);
    return;
  }
}
//==========================================================================================
void setup() {
  Serial.begin(115200);

  clock.begin();

  hourButton.begin();
  hourButton.set_repeat(500, 200);

  minuteButton.begin();
  minuteButton.set_repeat(500, 200);

  alarmButton.begin();
  alarmButton.set_repeat(1000, -1);

  alarmTone.begin(SPEAKER_PIN);

  pinMode(COLON_PIN, OUTPUT);

  byte digits = 4;
  byte digitPins[] = { 2, 3, 4, 5 };
  byte segmentPins[] = { 6, 7, 8, 9, 10, 11, 12 };
  bool resistorsOnSegments = false;
  bool updateWithDelays = false;
  bool leadingZeros = true;
  bool disableDecPoint = true;
  sevseg.begin(DISPLAY_TYPE, digits, digitPins, segmentPins, resistorsOnSegments,
               updateWithDelays, leadingZeros, disableDecPoint);
  sevseg.setBrightness(90);
}
//==========================================================================================
void loop() {
  sevseg.refreshDisplay();

  switch (displayState) {
    case DisplayClock:
      clockState();
      break;

    case DisplayAlarmStatus:
      alarmStatusState();
      break;

    case DisplayAlarmTime:
      alarmTimeState();
      break;

    case DisplayAlarmActive:
      alarmState();
      break;

    case DisplaySnooze:
      snoozeState();
      break;
  }
}
				
			
ایرانی - طراحی ایرانی – تولید ایرانی – حمایت ایرانی

ارسال رایگان

با کف خرید تعیین شده

خرید مطمئن

با اطمینان خرید کنید.

پشتیبانی 24/7

همیشه هستیم.

پرداخت سریع

پرداخت شتابی.

محصول اورجینال

لذت خریدی مطمئن.

سبد خرید
سبد خرید
NSE-7SA4 (1)

ماژول نمایش 7 قطعه ای چهار رقمی آند مشترک

۱۴۹,۰۰۰ تومانهر عدد

موجود در انبار

فروشگاه
خانه
منو