e پروژه دانشجویی پروژه ساعت دیجیتال رابط RS232 پورت COM RTC با تاریخ میلادی و شمسی و محاسبه سال کبیسه و امکان ارسال پیام متنی و تنظیم از طریق ارتباط کامپیوتر

اسماعیل بخش زاد محمودی

09118315058

09336485452

09373054607

09390617786

http://telegram.me/Electronic_iran

mehrsa_bm

Esmail_bakhshzad@yahoo.com esmail2bakhshzad@gmail.com

*راهنمای سفارش پروژه*




www.doctronics.co.uk

www.powerengineering.blogfa.com

www.Elecdl.com

www.uoguelph.ca

www.doctronics.co.uk

http://www.sardarjangal.ir

وبلاگ مهندسی برق الکترونیک

 

 

 

 

 

 

 

 

 

 

Google

در اين وبلاگ
در كل اينترنت

الکترونیک مقدماتی

مقاومت

سلف

خازن

دیود

دیود زنر

یک سوسازی دیود

ترانزیستور BJT

دیجیتال Digital

الکترونیک صنعتی

تایرستورها Thyristors

ترایاک TRIAC

ماسفت MOSFET

ترانزیستور دوقطبی IGBT

مبدل های DC به DC

اینورترها(DC/AC Inverter)

میکرو الکترونیک AVR

برنامه نویسی Assembl

1. مقدمه

2. دستورات محاسباتی



11.مدارات میکروکنترلر 8051

12.مدارات میکروکنترلر PIC

13.مدارات میکروکنترلر AVR

14.مدارات دیجیتال Digital

15.مدارات آنالوگ Analog

 


 


دانلود نرم افزارهای کاربردی

 


Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

ساعت

پروژه ساعت دیجیتال RTC با تاریخ میلادی و شمسی و محاسبه سال کبیسه و امکان ارسال پیام متنی و تنظیم از طریق ارتباط کامپیوتر (رابط RS232 پورت COM):

این پروژه یک مدار ساعت دیجیتال با RTC و کنترل آن با میکروکنترلر AVR می باشد که نمایش ساعت، دقیقه، ثانیه و روز، ماه، سال بر روی LCD 4*16- و همچنین امکان ارسال پیام متنی از طریق ارتباط کامپیوتر و LCD(رابط RS232 پورت COM)- محاسبه سال کبیسه - تنظیم ساعت RTC توسط ارتباط کامپیوتر (رابط RS232 پورت COM) - تبدیل تاریخ میلادی به شمسی و نمایش بر روی LCD - استفاده از پروتکل USART در AVR - برنامه نویسی رابط گرافیکی LabVIEW با سخت افزار مدار از طریق رابط RS232

ساختار پروژه در شکل زیر آورده شده است

Project Student_13 (1)

برای دیدن در ابعاد واقعی بر روی عکس کلیک کنید.

هدف از پروژه:

  1. ساعت دیجیتال با RTC و کنترل آن با میکروکنترلر AVR
  2. نمایش ساعت، دقیقه، ثانیه و روز، ماه، سال بر روی LCD 4*16
  3. نمایش و امکان ارسال پیام متنی از طریق ارتباط کامپیوتر و LCD(رابط RS232 پورت COM)
  4. محاسبه سال کبیسه
  5. تنظیم ساعت RTC توسط ارتباط کامپیوتر (رابط RS232 پورت COM)
  6. تبدیل تاریخ میلادی به شمسی و نمایش بر روی LCD
  7. استفاده از پروتکل USART در AVR
  8. برنامه نویسی رابط گرافیکی LabVIEW با سخت افزار مدار از طریق رابط RS232

مدار پروژه در شکل زیر آورده شده است

Project Student_13 (2)

برای دیدن در ابعاد واقعی بر روی عکس کلیک کنید.

Project Student_13 (3)

راهنمای کامل و گزارشکار آماده و تایپ شده در Microsoft Office Word

شرح یا توصیف پایه های تراشه DS1307

تراشه DS1307 که یک تراشه دقیق ساعت RTC می باشد که برای تنظیم آن خواندن و نوشتن در آن از روش ارتباط I2C استفاده می شود، این تراشه همیشه با یک باطری Backup سه ولتی استفاده می شود دلیل آن هم این است که اگر تغذیه مدار قطع شود اطلاعات ساعت و RAM تراشه از بین نمی رود.

Project Student_13 (4)

Project Student_13 (5)

چند نکته راجع به الگوریتم تبدیل تاریخ میلادی به شمسی(و بالعکس) و سالهای کبیسه شمسی و میلادی:

سالهاي شمسي و ميلادي هر دو 365 روزه هستند مگر در سالهاي کبيسه که 366 روز ميباشند که اين استثناء هر 4 سال يکبار اتفاق ميافتد. و دليل آن هم اينست که طول يکسال شمسي و يا ميلادي دقيقأ 365 روز يا (ساعت)24 *(روز)365 =8760 ساعت نميباشد بلکه تقريبأ 365 روز و 4/1 روز يا 6 ساعت است. مقدار دقیق یک سال خورشیدی یا اعتدالی (Solar Year,tropical Year)برابر با 365.2422 روز است بعبارت دیگر مدت زمان یکبار گردش کامل زمین به دور خورشید راکه آنراسال خورشیدی مینامندبرابر است با 365.2422 یا (4.1288192 /1 + 365 )روز متوسط .دائره المعارف دریائی - خسرو مشتری خواه براي جبران و احتساب اين شش ساعت اضافه هر سال بدين ترتيب عمل ميشود که 4 تا از اين شش ساعت ها که 24 ساعت يا يکروز ميشوند را هر 4 سال يکبار سر جمع حساب کرده و به يک سال (که به آن کبيسه ميگويند) اضافه ميکنند و درواقع بدين ترتيب تقويم تنظيم وکاليبزه ميشود که اين موضوع 6 ساعت اختلاف در هر سال را ميتوان در زمان تحويل سال شمسي مشاهده کرد که هر سال نسبت به سال قبل يا بعد حدود 6 ساعت اختلاف ساعت دارد و هر 4 سال يکبار تقريبأ تحويل سال يکي ميشودکه در نهايت اين اختلاف ساعت ها را هر 4 سال يکبار سر جمع کرده و به يکي از سالها(سال کبيسه)همانطوريکه ذکر شد اعمال ميکنند.

يافتن سالهاي کبيسه ميلادي وشمسي آسان است کافيست يک سال کبيسه را بدانيم و سالهاي 4+يا4- آنرا بدست اوريم مثلأ سال 2008 يک سال کبيسه است و همينطور سالهاي ...و 2000و2004و2008و2012و2016و2020و... سالهاي کبيسه بوده يا هستند. در مورد سالهاي کبيسه شمسي نيز مثلأ سال 1387 سال کبيسه بوده و ...و1379و1383و1387و1391و1395و1399و1403و... نيزسال کبيسه ميباشند.

در واقع سالهاي آتي کبيسه قابل پيش بيني و منظور شدن در محاسبات هستند.و تقریبا هر 128 سال سالهای کبیسه همان مضارب 4 سال یکبار را تعقیب میکنند. هر 4 سال(هریک سال کبیسه) 0.7486 ساعت کم می آورد که در مجموع حدود هر 128 سال یکبار نیاز به تنظیم دارد.

تاریخ شمسی به میلادی

در این الگوریتم می خواهیم تاریخ میلادی معادل با تاریخ شمسی داده شده را بدست آوریم. برای بدست آوردن سال میلادی معادل کافی است سال شمسی را با 621 جمع کنیم . مهمترین قسمت نوشتن این الگوریتم تشخیص کبیسه بودن سال است. برای این کار اگر سال بدست آمده بر100و400 بخشپذیر باشد" یا بر" 100 بخشپذیر نباشدو بر 4 بخشپذیر باشد" آنگاه سال کبیسه است ، در غیر این صورت سال کبیسه نیست.. حال دو حالت پیش می آید: سال کبیسه باشد در این حالت اول فروردین را برابر با 20 مارس قرار می دهیم. برای معین کردن ماه و روز ابتدا مشخص می کنیم که روز داده شده چندمین روز سال است و 12 روز از تعداد روزها کم می کنیم، این کار را برای این انجام می دهیم که روزها را اول ماه"آوریل" محاسبه کنیم. اگر تعداد روزها کمتر از 12 باشد آنگاه روز مورد نظردر ماه مارس قرار می گیرد و روز معادل از جمع شدن همان روز داده شده با19 بدست می آید. می دانیم که در سال کبیسه ماه فوریه "29"روزه می شود ، در این صورت در محاسبه ماه میلادی باید آن را لحاظ کنیم ، با توجه به این که محاسبه از ماه آوریل انجام می شود ، از ماه فوریه سال بعد برای محاسبه ماه میلادی استفاده می شود ،پس باید شرطی قرار دهیم که در صورت کبیسه شدن سال بعد ، فوریه را 29 روزه حساب کند. سال کبیسه نباشد. در این حالت اول فروردین را برابر با 21 مارس قرار می دهیم. برای معین کردن ماه و روزابتدا مشخص می کنیم که روز داده شده چندمین روز سال است و 11روز از تعداد روزها کم می کنیم ، این کار را برای این انجام می دهیم که روزها رااول ماه"آوریل"lمحاسبه کنیم. اگر تعداد روزها کمتر از11 باشد آنگاه روز مورد نظردر ماه مارس قرار می گیرد و روز معادل از جمع شدن همان روز داده شده با20 بدست می آید. حال اگر تعداد روزها بیشتر از 12 یا 11 شد، تعداد روزهای ماهها رابه ترتیب از" آوریل" تا"ژانویه" از کل روزها کم می کنیم . این تفاضل را تا زمانی ادامه می دهیم تا باقیمانده از تعداد روزهای ماه بعد (که تفاضل بعدی را تشکیل می ده) کمترشود ). ازتعداد این تفاضل ها برای بدست آوردن ماه میلادی استفاده می کنیم.

نوشتن برنامه برای تبدیل میلادی به شمسی و بلعکس:

براي تبديل تاريخ شمسي به ميلادي و برعکس بايد تعداد روزهاي سپري شده از ابتداي هر کدام از اين تاريخ‌ها را از مبدا خود به دست بياوريم. اگر مي‌خواهيم تاريخ شمسي را به ميلادي تبديل کنيم ابتدا بايد روزهاي سپري شده از مبدا تاريخ شمسي تا کنون را حساب کنيم و آن را به اضافه‌‌ي 226899 بکنيم. عدد به دست آمده تعداد روزهاي گذشته از ابتداي تاريخ ميلادي تا کنون است و با استفاده از آن مي‌توانيم تاريخ ميلادي را حساب کنيم. براي تبديل تاريخ ميلادي به شمسي همين کار را بايد برعکس انجام بدهيم و عدد 226899 را بايد از تعداد روزهاي تاريخ ميلادي کم بکنيم و در اين قسمت عدد به دست آمده تاريخ شمسي است. همين روش نيز براي تبديل تاريخ قمري به شمسي و برعکس نيز قابل استفاده است. ولي در اين مورد ديگر عددي که بايد اضافه يا کم بشود 226899 نيست. شايد از خود بپرسيد که عدد 226899 را از کجا به دست آورده‌‌ام. براي به دست آوردن اين عدد بايد تاريخ شمسي و ميلادي يک روز را در اختيار داشته باشيد. به عنوان مثال 13/4/1383 شمسي طبق تقويم برابر 3/7/2004 ميلادي است. کاري که بايد الا بکنيم اين است که اين دو تاريخ را به روز تبديل کنيم و در اين تبديل بايد تعداد سال‌هاي کبيسه‌اي که اين دو تاريخ پشت سر گذاشته‌اند نيز فراموش نکنيم. براي اينکه تعداد سال‌هاي کبيسه را در دو تقويم ميلادي و شمسي بخواهيم محاسبه کنيم بايد 1382 را براي تقويم شمسي و 2003 را براي تقويم ميلادي تقسيم بر 4 کنيم. خارخ قسمت اين دو تقسيم به ترتيب تعداد سال‌هاي کبيسه‌ي تقويم شمسي و ميلادي است که از ابتداي شروع به کار اين تقويم‌ها تا کنون پشت سر گذاشته‌اند. البته اين اعداد مطابق واقعيت نيستند! ولي به محاسبات ما اشکالي وارد نمي‌کنند.

برنامه C برای AVR

Project Student_13 (6)

Project Student_13 (7)

شرح طراحی با نرم افزار NI LabVIEW 2013 :

نرم افزار LabVIEW کاربرد های این نرم افزار پر انعطاف در دنیا به خصوص در رشته های مختلفی از جمله مهندسی برق، مکانیک و فیزیک کاربرد دارد. گستردگی LabVIEW به دلیل هزینه پایین آنها در زمینه سخت افزار و همچنین قابلیت انعطاف بالای آن در زمینه نرم افزار کاملاً معروف و شناخته شده اند. زبان گرافیکی این نرم افزار وجه تمایز عمده این زبان از سایر زبانهای برنامه نویسی است. زبان گرافیکی این برنامه باعث شده است تا کار با این نرم افزار و نوشتن برنامه با این زبان بسیار لذت بخش و البته آسان باشد. توانایی بالای نرم افزار در ایجاد ارتباط با کاربران خود و داشتن توابعی قابل فهم برای بیان مفاهیم برنامه نویسی و نیز شباهت زیاد روند برنامه نویسی در این محیط با الگوریتم های دیجیتال باعث ایجاد تفاوت بسیار بین LabVIEW و سایر زبان های برنامه نویسی شده است. نمونه ای از محیط این نرم افزار در تصویر زیر آورده شده است:

برنامه LabVIEW برای RS232

Project Student_13 (8)

Project Student_13 (9)

Project Student_13 (10)

رابط سریال RS232

Project Student_13 (11)

راهنمای کامل و تایپ شده برای آموزش برنامه نویسی LabView

Project Student_13 (12)

در شکل  زیر فرم PCB مدار آورده شده است :

Project Student_13 (13)

برای دیدن در ابعاد واقعی بر روی عکس کلیک کنید.

Project Student_13 (14)

Project Student_13 (15)

نکته: آموزش نحوه طراحی و برنامه نویسی تراشه میکروکنترلر AVR به زبان C و توضیح خط به خط برنامه به همراه پروژه برای شما ارسال خواهد شد نمونه ای از بخش های این فایل راهنما در شکل ها آورده شده است:


(( سفارش پروژه ))


برای سفارش این پروژه با همین شکل و اجزاء و یا تغییر برنامه مورد نظر به دلخواه خود می توانید از روش های زیر اقدام نمائید، کد سفارش پروژه را ارسال کنید:

هزینه طراحی: SMS-> 0911 831 50 58

کد سفارش پروژه: 103p13

سفارش پروژه >>> www.Project-esisis.com/Content/Page_Contact Us.html

صفحه پیشین 

 

 

 

این وب سایت را در گوگل محبوب کنید:

تشکر از حمایت شما
<img src="Background/Signbot LED (1).gif" width="249" height="49" alt="Signbot LED (1)" />
فروشگاه موبایل تبلت لپتاپ
کانال تلگرام