اطلاعیه

Collapse
No announcement yet.

سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

    سلام بچه ها خسته نباشید من واسه پروژه دانشجوییم یک ساعت و تقویم درست کردم که در ساعات اذان به صورت خودکار اذان میگه برنامه رو کامل نوشتم سخت افزار رو هم درست کردم فقط برای ساعات اذان مجبور شدم ساعت اذان هر روز رو وارد کنم تا هنگامی که ساعت اذان شد دستگاه به صورت اتومات اذان بگه اما به دلیل اینکه من باید برای 365 روز سال اذان تعریف میکردم حجم برنامه خیلی شد (حدود 3000 خط با زبان بسکام) حالا داخل atmega جا نمیشه!!! چی کارش کنم؟؟؟ کسی ایده ای نداره؟؟؟
    کسی فرمولی برای اوقات شرعب بلد نیست تا حجم مدار کم بشه؟ چون بیشتر حجم برنامه مربوط به ساعت اذان هست که تعریف کردم


    لطفا جواب بدید :cry:

    #2
    پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

    نوشته اصلی توسط sajad1373
    سلام بچه ها خسته نباشید من واسه پروژه دانشجوییم یک ساعت و تقویم درست کردم که در ساعات اذان به صورت خودکار اذان میگه برنامه رو کامل نوشتم سخت افزار رو هم درست کردم فقط برای ساعات اذان مجبور شدم ساعت اذان هر روز رو وارد کنم تا هنگامی که ساعت اذان شد دستگاه به صورت اتومات اذان بگه اما به دلیل اینکه من باید برای 365 روز سال اذان تعریف میکردم حجم برنامه خیلی شد (حدود 3000 خط با زبان بسکام) حالا داخل atmega جا نمیشه!!! چی کارش کنم؟؟؟ کسی ایده ای نداره؟؟؟
    کسی فرمولی برای اوقات شرعب بلد نیست تا حجم مدار کم بشه؟ چون بیشتر حجم برنامه مربوط به ساعت اذان هست که تعریف کردم


    لطفا جواب بدید :cry:
    اوقات شرعی از یه فرمول نسبتا پیچیده بدست می آد که در آن اطلاعاتی مثل طول و عرض جغرافیایی شهر ها و .... نیاز است. پس شما احتیاج به یه بانک اطلاعاتی از شهرهای مختلف دارین: به این صفحه ها هم سری بزنید:


    http://tanzil.info/praytime/doc/calculation/

    http://praytimes.org/manual/

    حتی می شه اوقات 365 روز سال رو در بیاریم. پدیده های نجومی معمولاً یک روال منظمی دارند. مثلاً از شب یلدا تا آخر بهار هر روز حدود 1.5 دقیقه صبح میاد جلو و 1.5 دقیقه غروب عقب میره. با استفاده از این روال میشه این کار رو پیاده سازی کرد:
    1)اولش یه منویی باشه که اوقات روز اول سال برای هر شهری که اذان گو اونجا استفاده بشه به حافظه داده میشه.اینطوری مورد مصرف دستگاه هم عمومی شده و منحصر به یک منطقه نمیشه.
    2) ما آمار روزها رو بصورت روز چندم سال (مثلاً 173) تو برنامه داشته باشیم و اگه خواستیم اول هر روز یه بار تو eeprom ذخیرش کنیم
    3) به ازای روز چندم سال بودن بوسیله حلقه های شرطی هم تقویم اعم از روز و ماه و سال بدست میاد و هم میشه اوقات شرعی رو از روند موجود در طبیعت محاسبه کرد مثلا از روز 1 تا 93 سه ماه فصل بهارو داریم و هر روز 1.5 دقیقه صبح جلوتر از روز قبل و غروب دیر تر از روز قبل اتفاق میفته و ....

    دیدگاه


      #3
      پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقو

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


      http://tanzil.info/praytime/doc/calculation/

      http://praytimes.org/manual/

      حتی می شه اوقات 365 روز سال رو در بیاریم. پدیده های نجومی معمولاً یک روال منظمی دارند. مثلاً از شب یلدا تا آخر بهار هر روز حدود 1.5 دقیقه صبح میاد جلو و 1.5 دقیقه غروب عقب میره. با استفاده از این روال میشه این کار رو پیاده سازی کرد:
      1)اولش یه منویی باشه که اوقات روز اول سال برای هر شهری که تابلو روان میخواد اونجا استفاده بشه به حافظه داده میشه.اینطوری مورد مصرف تابلو هم عمومی شده و منحصر به یه منطقه نمیشه.
      2) ما آمار روزها رو بصورت روز چندم سال (مثلاً 173) تو برنامه داشته باشیم و اگه خواستیم اول هر روز یه بار تو eeprom ذخیرش کنیم
      3) به ازای روز چندم سال بودن بوسیله حلقه های شرطی هم تقویم اعم از روز و ماه و سال بدست میاد و هم میشه اوقات شرعی رو از روند موجود در طبیعت محاسبه کرد مثلا از روز 1 تا 93 سه ماه فصل بهارو داریم و هر روز 1.5 دقیقه صبح جلوتر از روز قبل و غروب دیر تر از روز قبل اتفاق میفته و ....


      سلام مرسی از پاسخگویی تون اما من چیزی متوجه نشدم :eek:
      ببنید من این اوقات شرعی رو برای فقط یک شهر میخوام یعنی نیاز به طول و عرض جغرافیایی ندارم
      مشکل من الان اینکه برنامه ای که نوشتم به دلیل وارد کردن تمام ساعات اذان برای 365 روز سال تو atmega جا نمیشه میخواستم ببینم مثلا فرمولی هست تا حجم برنامه کم بشه یا راه کاری چیزی؟؟؟
      یا میشه مثلا ساعات اذان رو توی یک آی سی دیگه بنویسم بعد آی سی اصلی ساعات اذان از اون برداشت کنه؟؟
      من زیاد به برنامه نویسی تسلط ندارم آخه :cry2:

      دیدگاه


        #4
        پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

        از eeprom میکرو هم استفاده کنید.در صورت کم بودن فضا از eeprom خارجی استفاده کنید.
        آیا جهالت نیست که آدمی ساعات شیرین امروز را فدای روزهای آینده کند؟

        دیدگاه


          #5
          پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

          نوشته اصلی توسط pooyan-shafiei
          از eeprom میکرو هم استفاده کنید.در صورت کم بودن فضا از eeprom خارجی استفاده کنید.
          میشه یکمی بیشتر توضیح بدی؟؟؟
          این eeprom یک آی سی دیگس که به میکرو وصل میشه؟؟؟ یا حافظه ای چیزی یه؟؟؟
          برنامه نویسیش خیلی سخت نمیشه؟؟؟

          کلا بیشتر راجبش توضیح بده



          اضافه شده در تاریخ :
          آقا کسی نظر یا راخ حلی به نظرش نمیرسه؟؟؟
          این حافظه eeprom چه جوری یه؟؟؟
          آقا کمک کنید دیگه بدید در راهه خدا

          دیدگاه


            #6
            پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

            نوشته اصلی توسط pooyan-shafiei
            از eeprom میکرو هم استفاده کنید.در صورت کم بودن فضا از eeprom خارجی استفاده کنید.
            نمیدونم این دوستمون چرا این حرفو زدن... :surprised:
            eepromبرای اینکه زمانی که تغذیه میکرو کنترلر قطع شد برای اینکه مقادیری که برامون مهم هستند رو داخلش ذخیره کنیم تا پاک نشن.
            داش سجاد شما از شماره از خانواده atmega استفاده کردین که جواب نگرفتین؟

            در ضمن بنده برنامه ای در اختیار دارم که تاریخ میلادی رو به شمسی تبدیل میکنه و بالعکس با احتساب سال کبیسه.که میتونین به راحتی با ایسی ds1307 که یه ای سی شمارش زمان و تاریخ هست ازش تاریخ میلادی بگرین به شمسی تبدیل کنین و با احتساب فرمولی که بنده بلد نیستم اوقات شرعی رو محاسبه کنین.
            زبان برنامه به زبان سی هست.
            .The best question deserves a better answer
            =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
            «پناه»می برم «به خدا»
            از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
            محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

            دیدگاه


              #7
              پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

              نوشته اصلی توسط •.´™ مَسِِــــح`.•
              نمیدونم این دوستمون چرا این حرفو زدن... :surprised:
              eepromبرای اینکه زمانی که تغذیه میکرو کنترلر قطع شد برای اینکه مقادیری که برامون مهم هستند رو داخلش ذخیره کنیم تا پاک نشن.
              داش سجاد شما از شماره از خانواده atmega استفاده کردین که جواب نگرفتین؟

              در ضمن بنده برنامه ای در اختیار دارم که تاریخ میلادی رو به شمسی تبدیل میکنه و بالعکس با احتساب سال کبیسه.که میتونین به راحتی با ایسی ds1307 که یه ای سی شمارش زمان و تاریخ هست ازش تاریخ میلادی بگرین به شمسی تبدیل کنین و با احتساب فرمولی که بنده بلد نیستم اوقات شرعی رو محاسبه کنین.
              زبان برنامه به زبان سی هست.

              سلام داداش دمت گرم که جوابمو دادی :applause: من با atmega های 16 و 32 و 8 امتحان کردم جا نشد :eek:
              برنامه رو با آی سی ساعت نوشتم سال کبیسه و میلادی و شمسی همه رو هم حساب کردم :nice: فقط برای اذانگوی اتوماتیک مجبور شدم تمام اوقات اذان رو برای طول یک ساع تعریف کنم که حجم برنامه رو فوق العاده بالا برد :sad: حالا موندم چی کار کنم راهنمایی کنید لطفا :cry2:

              دیدگاه


                #8
                پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

                ماشالا حجم کد :mrgreen:

                بنظرم برای هر روز محاسبه نکن یه فرمول براش بنویس که با گرفتن تاریخ ساعت ذو بهت بگه.
                .The best question deserves a better answer
                =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                «پناه»می برم «به خدا»
                از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                دیدگاه


                  #9
                  پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

                  نوشته اصلی توسط •.´™ مَسِِــــح`.•
                  ماشالا حجم کد :mrgreen:

                  بنظرم برای هر روز محاسبه نکن یه فرمول براش بنویس که با گرفتن تاریخ ساعت ذو بهت بگه.

                  داداش خب این فرمول رو چه جوری بنویسم :eek:؟؟؟؟چه جوری اصلا همچین فرمولی رو بدست بیارم اصلا oo:

                  هر چی گشتم همچین فرمولی نبودش :angry:

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

                    فک کنم بشه حساب کرد که هر روز نسبت به روز قبل اوقات شرعی چند دقیقه جلو یا عقب میرن! فرض کن 1.5دقیق باشه. داخل یه لوپ هرروز بیا 1.5 دقیقه بهشون اضافه کن! نمیشه؟؟
                    www.gam-co.blogsky.com

                    دیدگاه


                      #11
                      پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

                      میگم طرز نوشتن برنامت چطوره یکم توضیح بده شاید بشه ساده ترش کرد؟
                      كرشمه اي كن و بازار ساحري بشكن @-}--@-}--@-}--به غمزه رونق و ناموس سامري بشكن
                      ياصاحب الزمان(عج)

                      دیدگاه


                        #12
                        پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

                        با درود . . .
                        ساده ترین کاری که میتونید بکنید و خیلی هم خوب جواب میده این هست که مختصات ماه و روز رو به صورت عدد یکجا دربیارید به طور مثال روز یکم از فروردین میشه 1 و روز 30 فروردین هم همون 30 . برای ادریبهشت مقدار 31 (روزهای فروردین) رو به مقدار اضافه کنید و برای خرداد مقدار 62 (مجموع ماه های قبل) الی آخر
                        بطور مثال 25 آذر باید بشه 271 ( 246 روز از مجموع ماه های قبل به علاوه روزهای گذشته از ماه جاری)
                        و به تبع 29 اسفند هم میشه همون 365
                        تا اینجای کار قسمت تبدیلات انجام شده و میرسیم به دیتا های شما
                        برای هر روز شما 3 نوبت اذان دارید که میشه 6 عدد (دقیقه و ثانیه) و به ازای 365 روز برابر خواهد بود با 2190 عدد و بعبارتی 2190 بایت(کمی بیشتر از 2 کیلوبایت)
                        در انتهای برنامه یک جدول دیتا بسازید و 2190 بایت رو پشت سر هم قرار بدید
                        با یه سری فرمول ساده به راحتی میتونید اعداد مربوط به هر روز رو دربیارید و استفاده کنید

                        با این روش با مگا 8 هم میشه این کار رو انجام داد و جواب هم میده(برای من که 7 سال پیش خوب جواب داد :biggrin: . منتها از اونجایی که مموری میکرو اس دی به دستگاه میزدم کل دیتا رو روی میکرو ریختم و حجم برنامه پایین تر اومد)

                        موفق باشید
                        درد من تنهایی نیست؛ بلكه مرگ ملتی است كه گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حكمت خداوند می‏ نامند! "گاندی"

                        به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                        بدرود . . .

                        دیدگاه


                          #13
                          پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

                          نوشته اصلی توسط وحید نصیری
                          با درود . . .
                          ساده ترین کاری که میتونید بکنید و خیلی هم خوب جواب میده این هست که مختصات ماه و روز رو به صورت عدد یکجا دربیارید به طور مثال روز یکم از فروردین میشه 1 و روز 30 فروردین هم همون 30 . برای ادریبهشت مقدار 31 (روزهای فروردین) رو به مقدار اضافه کنید و برای خرداد مقدار 62 (مجموع ماه های قبل) الی آخر
                          بطور مثال 25 آذر باید بشه 271 ( 246 روز از مجموع ماه های قبل به علاوه روزهای گذشته از ماه جاری)
                          و به تبع 29 اسفند هم میشه همون 365
                          تا اینجای کار قسمت تبدیلات انجام شده و میرسیم به دیتا های شما
                          برای هر روز شما 3 نوبت اذان دارید که میشه 6 عدد (دقیقه و ثانیه) و به ازای 365 روز برابر خواهد بود با 2190 عدد و بعبارتی 2190 بایت(کمی بیشتر از 2 کیلوبایت)
                          در انتهای برنامه یک جدول دیتا بسازید و 2190 بایت رو پشت سر هم قرار بدید
                          با یه سری فرمول ساده به راحتی میتونید اعداد مربوط به هر روز رو دربیارید و استفاده کنید

                          با این روش با مگا 8 هم میشه این کار رو انجام داد و جواب هم میده(برای من که 7 سال پیش خوب جواب داد :biggrin: . منتها از اونجایی که مموری میکرو اس دی به دستگاه میزدم کل دیتا رو روی میکرو ریختم و حجم برنامه پایین تر اومد)

                          موفق باشید
                          به نظر میاد این راه حلی که گفتی عملی بشه :redface:

                          میشه یکمی بیشتر توضیح بدی؟؟؟

                          چه جوری بنویسمش؟؟ oo:
                          آخه من برنامه نویسی قوی ندارم :cry:

                          دیدگاه


                            #14
                            پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

                            eeprom حافظه ی دائمی میکرو هست که بعد از قطع برق حفظ میشه.این حافظه به صورت داخلی وجود داره که به راحتی میشه ازش استفاده کرد.همچنین آیسی های خارجی eeprom هم هستن که در صورت کافی نبودن حافظه میکرو قابل استفاده اند.خود من هم تا حالا با نوع خارجیش کار نکردم.
                            شما کافیه وقتی دارید متغیر را تعریف می کنید قبل از اسم متغیر eeprom بنویسید.
                            کد:
                            eeprom char a=0;
                            در این صورت وقتی برنامه را کامپایل می کنید علاوه بر فایل هگز تولید شده،یه فایل هم برای داده های eeprom تولید میشه.حالا وقت می خواید میکرو را پروگرم کنید کافیه یه بار فایل هگز را بریزید بعدش هم فایل eeprom را لود کنید و بعدش پروگرم کنید.
                            یه نکته هم داره اینه که هر بار هم میکرو را پاک می کنید eeprom هم پاک میشه.که اگه نخواید این اتفاق بیفته باید فیوزبیت eesave را فعال کنید.
                            حافظه های eeprom:
                            مگا 8-16 :512 بایت
                            مگا 32 :1کیلو بایت
                            حالا با توجه به کار شما فک نکنم اینا عدد قابل قبولی باشند.پس احتمالا باید برید دنبال eeprom خارجی
                            مثلا این:
                            http://eshop.eca.ir/eeprom/847-AT24C512.html
                            512 کیلو بایت حافظه در اختیار شما میذاره که 100% کفاک کار شما را میده.فقط یه کم تحقیق می خواد که راش بندازید.
                            آیا جهالت نیست که آدمی ساعات شیرین امروز را فدای روزهای آینده کند؟

                            دیدگاه


                              #15
                              پاسخ : سوال در مورد پروژه دانشجویی(ساعت و تقویم شمسی و اذان گوی اتوماتیک)

                              نوشته اصلی توسط pooyan-shafiei
                              eeprom حافظه ی دائمی میکرو هست که بعد از قطع برق حفظ میشه.این حافظه به صورت داخلی وجود داره که به راحتی میشه ازش استفاده کرد.همچنین آیسی های خارجی eeprom هم هستن که در صورت کافی نبودن حافظه میکرو قابل استفاده اند.خود من هم تا حالا با نوع خارجیش کار نکردم.
                              شما کافیه وقتی دارید متغیر را تعریف می کنید قبل از اسم متغیر eeprom بنویسید.
                              کد:
                              eeprom char a=0;
                              در این صورت وقتی برنامه را کامپایل می کنید علاوه بر فایل هگز تولید شده،یه فایل هم برای داده های eeprom تولید میشه.حالا وقت می خواید میکرو را پروگرم کنید کافیه یه بار فایل هگز را بریزید بعدش هم فایل eeprom را لود کنید و بعدش پروگرم کنید.
                              یه نکته هم داره اینه که هر بار هم میکرو را پاک می کنید eeprom هم پاک میشه.که اگه نخواید این اتفاق بیفته باید فیوزبیت eesave را فعال کنید.
                              حافظه های eeprom:
                              مگا 8-16 :512 بایت
                              مگا 32 :1کیلو بایت
                              حالا با توجه به کار شما فک نکنم اینا عدد قابل قبولی باشند.پس احتمالا باید برید دنبال eeprom خارجی
                              مثلا این:
                              http://eshop.eca.ir/eeprom/847-AT24C512.html
                              512 کیلو بایت حافظه در اختیار شما میذاره که 100% کفاک کار شما را میده.فقط یه کم تحقیق می خواد که راش بندازید.
                              مرسی پویا جان اگه بشه از این حافظه خارجی استفاده کنم که دیگه نیازی نباشه فرمول و الگریتم واسه محاسبه اوقات شرعی طراحی کنم خیلی خوب میشه فقط من برنامه رو چه جوری به حافظه خارجی انتقال بدم؟؟؟؟

                              دیدگاه

                              لطفا صبر کنید...
                              X