به نام خدا : تو این مطلب از سری مطالب پروژه آردوینو، میخوام پروژه ماژول ساعت DS3231 با آردوینو رو براتون قرار بدم، قبلا با AVR پروژه هایی گزاشته بودم برا این IC که در زیر لینکشون رو قرار دادم، این پروژه آردوینو رو من خیلی وقت پیش میخواستم بزارم، چون میخواستم یه مطلب کامل بنویسم دیگه به دلایل مختلف قسمت نشد که ما مطلبش رو بنویسیم، الان هم دیدم این ماژول رو تو یه پروژه نیاز دارم لذا گفتم من که دارم از این استفاده میکنم بزار مطلبش رو هم بزارم تو سایت، کلا همین طوره، هر چیزی که به دردم بخوره رو یاد میگیرم و مطلبش رو میزارم تو سایت، راستی یه خبر خوش، اموزش کامل نمایشگر گرافیکی KS0108 رو چند روز دیگه میزارم تو سایت(تو سایت های فارسی مطلبی دربارش نیست، گشتم نبود نگرد نیست ^_^ —> البته این جای خوشهالی نداره و جای تاسف داره -_-)
آموزش راه اندازی ماژول ساعت دقیق DS3231
پروژه ساعت دیجیتال با LCD گرافیکی >>> یه همچین پروژه ای با آردوینو به زودی قرار میدم تو سایت.
پروژه AVR ساعت با ماژول DS۳۲۳۱ و سون سگمنت
پروژه ماژول ساعت DS3231 با آردوینو
کدوم کتابخونه ؟ : خب برا همین ماژول کتابخونه های زیادی موجود هستش که میتونید از هر کدوم که دوست داشتید بر حسب نیازتون استفاده کنید، ولی از اون جا که تقریبا هیچ کتابخونه ای کامل نیست، ممکنه کتابخونه ای رو دانلود کنید و از تموم امکانات IC مرکزی استفاده نکرده باشه، لذا اگه به تمام امکانات یه IC نیاز دارید یا باس این قدر بگردید تا همین کتابخونه ای رو پیدا کنید و یا باید بشینید و دیتاشیت رو بخونید و کتابخونه های موجود رو باهام ترکیب کنید و 1 کتاب خونه جامع بنویسید، برای این کار هم باس برید زبون برنامه نویسیتون رو قوی کنید، من خودم از همین روش استفاده میکنم
مطلب مرتبط با این مطلب :
دوستان میتونن مطلب زیر رو هم بخونن که به این مطلب و IC مربوط هستش :
آموزش جامع آردوینو جلسه ۱۶ پروتکول i2c twi
اتصال ماژول DS3231 به برد های آردوینو دیگه
اگه بخواین این ماژول رو به یه برد دیگه هم وصل کنید جدول زیر رو ببینید :
پروژه آردوینو ساعت DS3231
شماتیک پروژه
کد پروژه
فک نکنم پروژه نیاز به توضح داشته باشه و همچنین توضیح دادن توابع این کتابخونه، چون در پروژه زیر من از تمام توابع زمان و تاریخ، خوندن و نوشتنش و همچنین خوندن دما استفاده کردم(الته تمام توابعی که بدرد من میخورن تو کارم رو استفاده کردم – ولی اون دما بدردم نمیخوره – گفتم بزارمش ظرر نداره ) >>> با این حال اگه سوالی بود حتما بپرسید(در حد توانم!!! و دانشمo_O در خدمت هستم)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include <Wire.h> // برای راه اندازی این آی سی باید حتما این کتابخونه رو هم فراخونی کنیم #include <Sodaq_DS3231.h> // فراخوانی کتابخانه این آی سی DateTime now; // ایجاد یه متغییر از نوع "دیتا تایم" void setup() { Serial.begin(9600); Wire.begin(); rtc.begin(); // تنظیم زمان - تاریخ و روز DateTime dt(2016, 5, 7, 18, 49, 0, 0); rtc.setDateTime(dt); } void loop () { now = rtc.now(); //ریختن زمان و تاریخ جاری در متغییر "الان!" // نمایش تاریخ Serial.print(now.year()); Serial.print('/'); Serial.print(now.month()); Serial.print('/'); Serial.print(now.date()); Serial.print(" "); // نمایش ساعت Serial.print(now.hour()); Serial.print(':'); Serial.print(now.minute()); Serial.print(':'); Serial.print(now.second()); Serial.print(" "); // نمایش روز هفته Serial.print("Day = "); Serial.print(now.dayOfWeek()); // Sa=0 Su=1 Mo=2 Tu=3 We=4 Th=5 Fr=6 Serial.print(" "); // نمایش دما rtc.convertTemperature(); //convert current temperature into registers Serial.print("Temp = "); Serial.print(rtc.getTemperature()); //read registers and display the temperature Serial.println(" C"); } |
عکسی از پروژه
خب خوشبختانه این پروژه اطلاعات رو تو پنجره سریال نشون میدم و لذا تونستم از کامپیوتر عکس بگیرم و براتون الان میزارم(چون موبایل دوربین دار ندارم نمیتونم از خود مدار در عمل فیلم و یا عکس بگیرم )
دانلود کتابخانه راه اندازی ماژول ساعت DS3231 با آردوینو
خب این مطلب هم تو سه سوت تموم شد جان داش کار دارم و نمیتونم بیش از این وقت بزارم براش، اگه کسی سوالی چیزی داشت در خدمتیم، بیشتر وقتم رو سر یه پروژه و مطلب KS0108 دارم میزارم.
فعلا یا علی
مهمان
سلام و خسته نباشید
لطفا نحوه تبدیل تاریخ میلادی به شمسی رو بگید
مهمان
سلام
من این برنامه رو وقتی اجرا میکنم توی سریال درست نشون نمیده. در واقع کلمه های عجیب غریب مینویسه
مهمان
سلام
اگر بخوام زمان فعلی رو هربار به اضافه ی 30 ثانیه بکنم چیکار باید بکنم؟
دستور مستقیمی داره براش؟ ی
مهمان
سلام داداش
نگفتی اگر برق قطع بشه چی میشه
ماژول روی خودش باتری نداره؟؟
مهمان
سلام خسته نباشید من یه پروژه یاد اور تقویم میخوام درست کنم به این صورت که تو یه روز و یه ساعت خاص هشدار بده
میخوام ببینم میتونم از این پروژه استفاده کنم؟؟؟
نویسنده این مطلب
سلام – از این ماژول و کتابخونه استفاده شده تو این پروژه میتونید استفاده کنید.
مهمان
ممنون از سرعت عمل پاسخ دهی
دستتون درد نکنه
مهمان
سلام
خط 6 خطا میدهد
دلیل چی هست
نویسنده این مطلب
سلام – کد داخل مطلب رو کپی کردم، کتاب خونه ته مطلب رو هم اضافه کردم به آردوینو – مشکلی ندیدم.
مهمان
کاتبخانه رار هست
بعد از دانلود یک پوشه بنامخودش ساختم در پوشه کتابخانه اردینو و سپس محتوای دانلود شدا را اونجا کپی کردم
درست نصب شده؟
نویسنده این مطلب
آره – extract کن – بعد در مسیر زیر paste کن :
C:\Users\your-pc-user-name\Documents\Arduino\libraries
مهمان
ممنون
درست شد
ان شالله اجرتون خداوند میدهد ما نمیتوانیم جبران کنیم بزرگی جنابعالی را
یک مورد دیگه کمک کنید می میخاهم هر زمان دقیقه به 6 رسید ال ای دی 10 بار چشمک بزند
//….
این برنامه اضاف کردم به برنامه ساعت ولی جواب نمیدهد
مشکل کجاست
مهمان
سلام جناب مهندس
خدا به شما خیر بده
بنده با کتابخانه jdate و دستورات زیر نمایش تاریخ شمسی را انجام دادم اما برای نمایش تاریخ قمری هرچه گشتم چیزی پیدا نکردم.
اگه کدی دارید ممنون میشم
…
نویسنده این مطلب
سلام – روش و فرمول تبدیل این دو تاریخ به هم توی نت باید باشه.
مهمان
بنده که پیدا نکردم
کتابخانه تبدیل به سال قمری هست/؟
نویسنده این مطلب
این یک نمونه : فرمول تبدیل سال شمسی به قمری
مهمان
سلام آقای مهندس، وقت شما بخیر، همونطور که تو تصویر ماژول ds3231 مشخصه، 2 تا ای سی داره که یکیش برای “ای تو پی رام” هست. امکانش هست توی یک مثال کاربردش رو توضیح بدید. امکان نوشتن اطلاعات مثل پسورد یا تنظیمات دمای ترموستات رو داره؟ نام کتابخونه ش چی هست. سپاس فراوان.
مهمان
سلام آقای لاجوردی شما می تونید از کتابخانه uEEPROMLib.h استفاده کنید. برای ماژول ds3231 , ds1307 هست. مثالش خیلی خوب توضیح داده.
مهمان
با عرض سلام و خسته نباشید.
بنده یک مشکلی دارم. اگر بخواهیم در حین اجرای برنامه فقط یکی از متغیر هارو تغییر بدیم مثلا ساعت رو باید چه کاری انجام دهیم؟
اگر ابتدا ساعت را بخوانیم و بعد تغییراتو انجام دهیم فقط هنگامی که اردوینو روشنه تغییرات میمونه.
اگه از دستور setTime هم استفاده کنیم که کل متغیرارو عوض میکنه.
کتابخونه رو گشتم و نتیجه نگرفتم
ممنونم از شما
مهمان
سلام
ممنون از اموزش های خوب و کامل که قرار میدین
اگر من بخوام تو قسمت دیگه ای از برنامه فقط یه متغییر مثلا فقط ساعت تغییر بدم باید از چه دستوری استفاده کنم ؟؟ rtc.setDateTime همه رو تغییر میده
نویسنده این مطلب
سلام – به کتابخونه فوق مراجعه کنید ببید تابعی داره که فقط یه پارامتر رو تغییر بده یا نه
اگه نداشت – 1 بار ساعت رو میخونید – پارامتر مد نظر رو تغییر بدید و مقدار فوق رو ذخیره میکنید.
مهمان
چنین تابعی پیدا نکردم
من برای تغییر ساعت زمستانی و تابستانی که یک ساعت عقب و جلو میره میخوام این کار رو در برنامه انجام بدم
خواندن پارامتر ها با now انجام میشه حالا چجوری میتونم اونو تغییر بدم و ذخیره کنم ؟؟
نویسنده این مطلب
تو نظر قبل گفتم راهشو دیگه.
مهمان
سلام مهندس این ماژول مثل 1307 نیاز به مقاومت پول آپ تو ارتباط i2c نداره این ماژول؟؟
چون تو شماتیک که گذاشتید نداره
نویسنده این مطلب
سلام . ربطی به آیسی نداره – کلا پروتکول I2C نیاز به این دو مقاومت داره – حالا وقتی شما از ماژول استفاده میکنی دیگه اینجور قطعات رو داخلشون دارند.
مهمان
سلام من تو پروژم با آردویینو از lcd گرافیکی، sdکارت وماژول ds1307 استفاده میکنم، تا قبل از اینکه کد مربوط به ds1307 رو به پروژه اضافه کنم مشکلی نیس، اما وقتی کتابخانه و کد ds1307 رو اضافه میکنم این ارور
exit status 1
Error compiling on your board Arduino mega or mega 2560
رو میده، دلیلش رو میدونید؟
نویسنده این مطلب
سلام – اگه نت پرسرعت دارید – نرم افزار AnyDesk 4.3 رو نصب کنید و آپیتون رو برام بفرستید.
شماره تماسم رو میل کردم براتون – نصب کردید – تماس بگیرید تا به کامپیوترتون وصل بشم ببینم مشکل از کجاس
مهمان
سلام مهندس این ماژول ادرس نمیخواد ؟
مثل رابط l2c?
نویسنده این مطلب
سلام-چرا نمیخواد – کتابخونه Sodaq_DS3231 رو بررسی کنید.
مهمان
سلام
با قطع برق مازنزول ریست شده و ساعت از اول شروع می شود لطفا راهنمایی بفرمائید
نویسنده این مطلب
سلام-ماژول باید باتری بکاب سالم داشته باشه – کد تنظیم ساعت رو که ان شاء الله حذف که کردی؟
مهمان
سلام اگه بخوایم دوتا ماژول که هردوتا I2C بودند رو با هم بخونیم باید چکار کنیم. اگر امکانش هست قشنگ توی یه پست توضیحش بدید چون مشکل خیلی از بچه هاست. تشکر
نویسنده این مطلب
سلام

مهمان
سلام مهندس وقت بخیر
اموزش خیلی خوبی بود فقط یه سوال
چطوری میشه اطلاعات ساعت رو چک کرد منظورم اینه که مثلا ما میخایم ساعت 8:10 یدونه رله فعال بشه یا روز سه شنبه یه led روشن بشه ؟؟
مهمان
سلام مهندس وقت بخیر
من توی یه پروژه از شیلد دیتا لاگر استفاده کردم که هم ماژول SD Card داره و هم ساعت ، توی راه اندازیش مشکلی نبود (خداروشکر) ولی الان میخام که مثلا در ساعت 7 صبح یا 10 شب دستگاه فلان کار رو بکنه ، پیشنهادی دارین؟؟
در ضمن من از کتابخانه DS3231.h استفاده کردم
خودم چنتا کد نوشتم ولی جواب نداد
مهمان
سلام مهندس من این کتابخونه رو کنار کتابخونه ی jdate استفاده میکنم هردو تاشون now دارند که باعث خطا شده چطوری برطرفش کنم؟
مهمان
سلام مهندس اول باید از اموزشهاتون تشکر ویژه ای کنم که خیلی راهنمام بودن .
و اینکه این کتابخونه قابلیت فرمت 12ساعته داره؟
نویسنده این مطلب
سلام-یادم نی.- خودت یه برسی کن کتابخونه رو.
مهمان
سلام
وقت بخیر
من این ماژول رو برای یه سیستم حضور غیاب استفاده کردم که با آردوینو کد نوشتم
الان بعد از حدودا ٣ ماه کار کردن متوالی(ینی به صورت شبانه روز به تغذیه منصل بوده و زمان رو نمایش میداده) یه تاخیر زمانی چند دقیقه ای زمان رو عقب تر انداخته… بعد از این که تصحیحش کردم باز بعد از ٢ روز دوباره حدود ٧٠ ثانیه تاخیر زمانی پیدا کرده
علتش چی میتونه باشه؟ ماژول ممکنه ایراد داشته باشه یا برنامه؟
نویسنده این مطلب
سلام-نمیدونم والا.
مهمان
سلام
آی سی ساعت DS3231 دما سنج داخلی داره؟
نویسنده این مطلب
سلام
نمیدونم-دیتاشیتش رو ببین
مهمان
سلام
من این ماژول رو با اردوینو پرو مینی راه اندازی کردم
مشکلی ک دارم اینه ک بعد ی مدتی ساعت جلو می افته مثلا الان بعد یک ماه حدود 23 دقیقه ساعت جلو تر افتاده،ماژول ساعت رو هم عوض کردم باز همین اتفاق رخ میده،فکر می کنید علت چیه؟ممنون
نویسنده این مطلب
سلام
آیسی فیک – کریستال غیر مرغوب و …
مهمان
سلام آقا مهدی
من دارم یه پروژه رو کار میکنم تمام قسمت هاش تموم شد مونده کار با DS3231، کتابخانش برای پروتئوس گیر نمیارم
* برنامه رو با زبان سی مینویسم
ممنون میشم راهنمایی کنید
با تشکر از سایت خوبت
نویسنده این مطلب
سلام
پروتئوس چیه آخه – بجای از ds1307 تو پروتئوس استفاده کن – مدل قدیمی تر ds3231 هستش – جواب میده – چیزی رو هم نمیخواد تغییر بدی – فک کن ds3231 گزاشتی تو پروتئوس
مهمان
سلام اقا مهدی
منم مشکل ریست شدن ماژول رو دارم . وقتی تغذیه برد قطع میشه و دوباره وصل میکنیم، ساعت میره از اول. با وجود اینکه باتری بک آپ هم داره و باتری سالم هم هست. خواهش میکنم راهنمایی کنید.
و هم چنین پایه های ۳۲K و sqw چیه؟ آیا مربوط به باتری بک آپ میشه؟
مهمان
سلام مهدی آقا وقت بخیر
خدا خیرت بده
ممنون بابت آموزش های من هزینه اکثر آموزش هات رو سعی می کنم بفرستم
آقا این ماژول با رابط I2C کار می کنه به این کتابخونه که ارائه کردی می شه بهش آدرس داد ؟ آدرس پیش فرض اش ۲۰ هست ؟
چون من LCD با رابط I2C دارم نیاز دارم آدرس ماژول ها رو بدونم یا تغییر بدم
پیشاپیش ممنون
نویسنده این مطلب
سلام
بله میشه آدرس داد – اگه آدرس نمایشگرو تغییر دادی – باید تو کدنویسی هم تغییرش بدی.
مهمان
سلام اقا مهدی این پروژه رو باlcd16*2 بستم اما اردینو ریست میشه بکاپ نداره ساعتش برمیگرده به همونی که تنظیم شده اول مشکل چیه؟ بعد ی سوال دیگه این دو پایه sqw .32k کارشون چیه؟
نویسنده این مطلب
سلام-مطلب رو کامل بخون – یکم تفکر – مشکل رو پیدا میکنی!
به مدار داخلی ماژول مراجعه کن برا سوال دومت
مهمان
خیلی هم عالی.
مثه بقیه آموزشهاتون کاربردی و روان توضیح دادید
فقط یه خواهش دارم…
میشه یه برنامه آردوینو تبدیل تقویم میلادی به شمسی هم بزارید با ماژول DS3231?
یا یه برنامه تقویم دو زمانه شمسی میلادی که تاریخ و ساعت رو بوقت تهران و گرینویچ نشون بده
فکر میکنم مشکل خیلی ها حل بشه
بهر حال سپاسگذارم
نویسنده این مطلب
سلام علی آقا
والا این مورد ربطی به الکترونیک نداره – تو گوگل بسرچی نحوه تبدیل میلادی به شمسی، فرمولش میاد – بعدش یکم کدنویسی ساده هستش که تو پروژه باید اعمال کنی.
اینایی که میخوای برنامه نویسی هستش – و اگه نمیتونید بنویسید یعنی آردوینو خوب کار نکردین یا زبون C تون ضعیفه – یادگیری ایندو ۲ روز بیشتر وقت نمیخواد.
اون وقت خودتون میتونید این کارو انجام بدید.
مهمان
با عرض سلام و خسته نباشید .
سیاتتون خیلی عالیه
فقط می خواستم ببینم میتونید آموزش ساخت ساعت با ماژول سون سگمنت رو هم بگذارید ؟
با تشکر
نویسنده این مطلب
سلام-ماژولش رو ندارم.- اگه داری بفرسم برام یه دونه تا راه اندازی کنم.
مهمان
سلام کدام از ماژولهای یاعت تاریخ شمسی داره
نویسنده این مطلب
سلام-نمیدونم – کاری نداره خودت میتونی میلادی رو شمسی کنی
مهمان
`سلام آقا مهدی ما یه ماژول ساعت 1307 DS داریم میخوام با یه ماژول ال ای دی ماتریس 8 *8 به برد آردوینو آنو متصل کنم هرچی هم کد وارد میکنم خطا میده لطفا راهنمایی بفرمایید ممنون
نویسنده این مطلب
سلام
ماژول DS1307 و اون یکی ماژولت رو عکسشون رو بفرست – و یعنی چی که هر کدی وارد میکنی خطا میده؟
مهمان
دمت گرم مهدی جان مثل همیشه عالی،ساغل قارداشیم…
مهمان
بسیار عالی بود ممنون
یاشا داداش
دارم سعی میکنم با یه پروژه دیگه قاطی کنم ساعت هم رو lcd نمایشش بدم
نویسنده این مطلب
نمیخواد دیگه – مطلبش رو گزاشتم تو سایت
البته درست کردی بده بزارم تو سایت پروژت رو
مهمان
سلام مهندس وقت بخیر
اموزش خیلی خوبی بود فقط یه سوال
چطوری میشه اطلاعات ساعت رو چک کرد منظورم اینه که مثلا ما میخایم ساعت 8:10 یدونه رله فعال بشه یا روز سه شنبه یه led روشن بشه ؟؟