ماژول ساعت زمان واقعی
در واقع این ماژول ساعت زمان واقعی 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
افرادی که اکنون این محصول را تماشا می کنند!
تصاویر محصول
معمولا با هم خریداری شده اند:
Real-Time Clock MODULE USING DS1307
ماژول ساعت زمان واقعی با استفاده از DS1307
مدار مجتمع (IC)
ساعت
نمایشگر LED
اتصال به منبع تغذیه خارجی
ولتاژ ورودی
مثبت
ولتاژ ورودی
منفی
ورودی / خروجی
SDA ارسال و دریافت اطلاعات از طریق پورت I2C است.
ورودی / خروجی
SCL که کلاک هماهنگی بین میکروکنترلر AVR و آی سی ds1307 است.
ورودی / خروجی
این پایه خروجی پالس مربعی با فرکانس های 1HZ – 4.096KHZ – 8.192KHZ – 32.768KHZ است.
لیست المان های NSE-RMDS
Quantity | Code | Symbol |
---|---|---|
1 | DS1307 | IC |
1 | 32.768KHz | X |
1 | 1K | R |
3 | 4K7 | R |
2 | 22pF | C |
1 | 100nF | C |
1 | 3mm LED | LED |
1 | Battery Holder | BH |
1 | Battery 3V | B |
5pin | 1x5 SIL Right-Angle Male | Pin Header |
4cm x 3cm | Single Side with Solder Mask and Helper | PCB |
در واقع این ماژول ساعت زمان واقعی 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
#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 از 5
0 reviews
امتیاز 5 از 5
0
امتیاز 4 از 5
0
امتیاز 3 از 5
0
امتیاز 2 از 5
0
امتیاز 1 از 5
0
.فقط مشتریانی که این محصول را خریداری کرده اند و وارد سیستم شده اند میتوانند برای این محصول دیدگاه(نظر) ارسال کنند.
در تهران فقط
پیک موتوری
تحویل حضوری
روشهای ارسال تهران و شهرستان ها
اداره پست جمهوری اسلامی ایران
پست سفارشی، پیشتاز، بینالمللی، تیپاکس و پست پیشتاز خارج از کشور
در حال حاضر امکان رهگیری مرسوله های پستی با کد مرسوله، دریافت گواهی کد پستی، مشاهده تعرفه های پستی به صورت آنلاین و ... در سایت شرکت ملی پست جمهوری اسلامی ایران فراهم شده است. تمامی مردم می توانند با ورود به این سایت، از خدمات مربوط به شرکت و اداره پست استفاده کنند.
در اداره پست جمهوری اسلامی ایران، برای ارسال مرسولات، روشهای مختلفی وجود دارد که عبارتند از:
۱. پست سفارشی: این روش برای ارسال کالاهای کوچک و سبک و با ارزش کمتر از ۱۰۰ هزار تومان استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه میشود و زمان تحویل ۳ تا ۷ روز کاری است.
۲. پیشتاز: این روش برای ارسال کالاهایی با ارزش بیشتر از ۱۰۰ هزار تومان و یا کالاهایی که به سرعت باید تحویل داده شوند، استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت محاسبه میشود و زمان تحویل ۱ تا ۳ روز کاری است.
۳. بینالمللی: این روش برای ارسال کالاهایی به خارج از کشور استفاده میشود. در این روش، هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه میشود و زمان تحویل بسته به مقصد و روش ارسال، متفاوت است.
۴. تیپاکس: این روش برای ارسال کالاهایی است که به سرعت باید تحویل داده شوند. در این روش، هزینه ارسال بر اساس وزن و مسافت و زمان تحویل مورد نظر مشتری محاسبه میشود.
۵. پست پیشتاز خارج از کشور: این روش برای ارسال کالاها به خارج از کشور استفاده میشود و هزینه ارسال بر اساس وزن و مسافت و هزینه گمرکی محاسبه میشود.
در کل، برای ارسال مرسوله در اداره پست جمهوری اسلامی ایران، میتوانید یکی از روشهای فوق را انتخاب کنید که بسته به نیاز و شرایط شما، مناسبتر است.
نقد و بررسیها
پاککردن فیلترهاهنوز بررسیای ثبت نشده است.