ماژول ساعت زمان واقعی

در واقع این ماژول ساعت زمان واقعی Real Time Clock(RTC) بوده که از پروتکل سریال I2C  پشتیبانی می کند.  

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

شناسه محصول: (NSE-RMDS-SCH)

Size and packaging guidelines

یکا (واحد) علامت اختصاری شرح انگلیسی مقدار
1 متر m Meter 1
1 سانتی متر cm Canti Meter 2-^10
1 میلی متر mm Mili Meter 3-^10
1 اینچ in Inch 2.54cm
2 اینچ in Inch 5.08cm
3 اینچ in Inch 7.62cm
5 اینچ in Inch 12.7cm
تعداد قیمت تخفیف
5-10 ۱۴,۶۹۰ تومان هر عدد 2%
11-100 ۱۴,۲۴۱ تومان هر عدد 5%
101+ ۱۳,۹۴۱ تومان هر عدد 7%
17 افرادی که اکنون این محصول را تماشا می کنند!

تصاویر محصول

معمولا با هم خریداری شده اند:

۵۸,۸۹۰ تومانهر عدد
۱۵,۰۰۰ تومانهر عدد
۷۳,۸۹۰ تومان
برای 2 مورد

Real-Time Clock MODULE USING DS1307

ماژول ساعت زمان واقعی با استفاده از DS1307

NSA-2032 (3)

باتری

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

مدار مجتمع (IC)

ساعت

نمایشگر LED

اتصال به منبع تغذیه خارجی

ولتاژ ورودی

مثبت

ولتاژ ورودی

منفی

ورودی / خروجی

SDA ارسال و دریافت اطلاعات از طریق پورت I2C است.

ورودی / خروجی

SCL که کلاک هماهنگی بین میکروکنترلر AVR و آی سی ds1307 است.

ورودی / خروجی

این پایه خروجی پالس مربعی با فرکانس های 1HZ – 4.096KHZ – 8.192KHZ – 32.768KHZ است.
ds1307

لیست المان های NSE-RMDS

QuantityCodeSymbol
1DS1307IC
132.768KHzX
11KR
34K7R
222pFC
1100nFC
13mm LEDLED
1Battery HolderBH
1Battery 3VB
5pin1x5 SIL Right-Angle MalePin Header
4cm x 3cmSingle Side with Solder Mask and HelperPCB

در واقع این ماژول ساعت زمان واقعی Real Time Clock(RTC) بوده که از پروتکل سریال I2C  پشتیبانی می کند. کارکرد این ماژول براساس کدهای  Binary Coded Decimal که اصطلاحا کد  BCD نامیده می شود است.

باتری بک آپ قرار گرفته بر روی این ماژول زمانیکه برق در دسترس نیست باعث جلوگیری از عقب افتادن زمان خواهد شد. منبع کلاک این آی سی از یک کریستال ساعت به فرکانس  32.768KHZ استفاده می کند. این آی سی قابل کارکرد در دو حالت 24ساعته  و12ساعته AM/PM را دارد همچنین علاوه بر ساعت بصورت ثانیه، دقیقه، ساعت امکان ذخیره تاریخ بصورت روز، هفته،  ماه، سال، ایام هفته را نیز دارد. در ضمن اطلاعات نوشته شده بر روی این آی سی تا سال 2100 برنامه ریزی شده است.

 

ترتیب پایه های پایه های ds1307

پایه ۱ و ۲ )  به کریستال ساعت (۳۲٫۷۶۸khz) متصل می شود.
پایه ۳ ) به باطری وصل می شود.
پایه ۴ )  به زمین است.
پایه ۵ )  SDA ارسال و دریافت اطلاعات از طریق پورت I2C است.
پایه ۶ ) SCL که کلاک هماهنگی بین میکروکنترلر AVR و آی سی ds1307  است.
پایه ۷ ) این پایه خروجی پالس مربعی با فرکانس های 1HZ – 4.096KHZ – 8.192KHZ – 32.768KHZ است که میتوان آن را در کدویژن راه‌اندازی کرد.
پایه ۸ )  به VCC وصل می شود. ( 5 VOLT )

نکته: پایه های SDA , SCL  را باید با مقاومت پول اپ کرد. چرا؟ طبق استاندارد I2C.
برای خواندن و نوشتن اطلاعات از دستورات زیر استفاده میکنیم.(که به صورت کتابخانه باید اضافه شود)
این دستور مقدار اولیه ساعت ، دقیقه و ثانیه را صفر میکند.

 

				
					/**
   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;
  }
}
				
			
ایرانی - طراحی ایرانی – تولید ایرانی – حمایت ایرانی
وزن 0.1 کیلوگرم
ابعاد 4 × 3 سانتیمتر
مالک

نیکی سایت

کنترل ها

لایه ها

یک لایه

طراح

فرهاد نیکخواه

کد محصول

NSE-RMDS

انواع ارائه مدار

, , ,

نوع مدار

DIP

لایه محافظ

دارد

لایه راهنما

دارد

طراحی بردبورد

ندارد

کاتالوگ

دارد

نقشه شماتیک

دارد

نوع فایل

Altium Designer, PDF, ZIP

کارکرد مدار

تست شده

کشور سازنده

ایران

0 reviews
0
0
0
0
0

نقد و بررسی‌ها

پاک‌کردن فیلترها

هنوز بررسی‌ای ثبت نشده است.

.فقط مشتریانی که این محصول را خریداری کرده اند و وارد سیستم شده اند میتوانند برای این محصول دیدگاه(نظر) ارسال کنند.

در تهران فقط

پیک موتوری

تحویل حضوری

روشهای ارسال تهران و شهرستان ها

اداره پست جمهوری اسلامی ایران

پست سفارشی، پیشتاز، بین‌المللی، تیپاکس و پست پیشتاز خارج از کشور

در حال حاضر امکان رهگیری مرسوله های پستی با کد مرسوله، دریافت گواهی کد پستی، مشاهده تعرفه های پستی به صورت آنلاین و ... در سایت شرکت ملی پست جمهوری اسلامی ایران فراهم شده است. تمامی مردم می توانند با ورود به این سایت، از خدمات مربوط به شرکت و اداره پست استفاده کنند.

در اداره پست جمهوری اسلامی ایران، برای ارسال مرسولات، روش‌های مختلفی وجود دارد که عبارتند از:

۱. پست سفارشی: این روش برای ارسال کالاهای کوچک و سبک و با ارزش کمتر از ۱۰۰ هزار تومان استفاده می‌شود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه می‌شود و زمان تحویل ۳ تا ۷ روز کاری است.

۲. پیشتاز: این روش برای ارسال کالاهایی با ارزش بیشتر از ۱۰۰ هزار تومان و یا کالاهایی که به سرعت باید تحویل داده شوند، استفاده می‌شود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه می‌شود و زمان تحویل ۱ تا ۳ روز کاری است.

۳. بین‌المللی: این روش برای ارسال کالاهایی به خارج از کشور استفاده می‌شود. در این روش، هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه می‌شود و زمان تحویل بسته به مقصد و روش ارسال، متفاوت است.

۴. تیپاکس: این روش برای ارسال کالاهایی است که به سرعت باید تحویل داده شوند. در این روش، هزینه ارسال بر اساس وزن و مسافت و زمان تحویل مورد نظر مشتری محاسبه می‌شود.

۵. پست پیشتاز خارج از کشور: این روش برای ارسال کالاها به خارج از کشور استفاده می‌شود و هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه می‌شود.

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