اطلاعیه

Collapse
No announcement yet.

ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

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

    #46
    پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

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

    دیدگاه


      #47
      پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

      آقا من محدوده کد پریمبل کاملا اشتباه زده بودم. به نظر شما امکان داره از اون بوده باشه؟؟ تا جوابش بفهمم فکنم باید دو روزی صبر کنم تا ببینم جواب میده یا نه
      طب اسلامی

      دیدگاه


        #48
        پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

        بله خیلی مهمه چون باعث میشه هر نویزی وارد مدار بشه ، اگر ریموت را از نزدیک بزنی طولش زیاده و هر چی دورتر بشی زمانش کمتر میشه ، حد وسط بزار
        باید تست کنی چند خوبه
        همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
        کانت

        دیدگاه


          #49
          پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

          به نظر شما چیکار میتونیم بکنیم که دیگه مطمین مطمین شیم که خود گیرنده خود به خود عمل نمیکنه؟؟ من از وقتی اون کد پریمبل درست کردم دیگه خود به خود کار نکرده ولی باز میترسم مدت زمانش زیاد باشه , مثلا چند هفته یه بار کار کنه یه هو. به جز اینکه بیایم چند بار کد از ریموت بخونیم و اگر هر چند مرحله کدا مثل هم بودن بره کار کنه میشه روش دیگه ای هم به کار برد؟؟؟؟؟؟؟ توی این روش باید وقتی کلید میزنی با یه مکثی کلید رها کنی که این یه عیب هستش و زیاد جالب نیست
          طب اسلامی

          دیدگاه


            #50
            پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

            نه دیگه راهی نداره ، برنامه ات را کامل چک کن چون خطاش خیلی کمه ، شاید جائی اشتباه کردین
            همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
            کانت

            دیدگاه


              #51
              پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

              آقا یه سوال تخصصی دیگه.
              من اومدم این عددایی که شما گذاشتید توی وقفه تایمر 1 گذاشتم. یعنی از اونجا میشماره با استفاده از وقفه , تایمر روشن نمیشه و همونجا مقدار تایمر بره توی یه متغییر. به نظرتون امکان داره از این باشه خود به خود کار کردنش؟؟ چرا آخه!!! همش درسته . نمیفهمم واقعا
              طب اسلامی

              دیدگاه


                #52
                پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

                نمونه برنامه را نگاه کردین ؟
                کلیه شمارش ها صرفا باید با تایمر 1 باشه و داخل هیچ متغیری نریزید تا کار شمارش تمام بشه ، سپس مقدار تایمر را بخونید و داخل متغیر بریزید و استفاده کنید .
                شمارش خیلی مهمه
                حتما از کریستال 16 مگا استفاده کنید .
                همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
                کانت

                دیدگاه


                  #53
                  پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

                  من یک سوال دارم . اگه ما بخوایم چند میکرو رو با هم به وسیله همین ماژول های ساده رادیویی شبکه کنیم چه الگوریتمی باید پیاده سازی کنیم . یک مثال می زنم برای بهتر هضم شدن قضیه . فرض کنید یک میکرو به عنوان کنترل کننده داریم که برای چندین وسیله داده می فرستند تا آنها را کنترل کند سپس آن وسایل بعد از عمل درخواست شده به کنترل کننده پیغام می فرستند که وضعیتشان در چه حالی است . حالا این کنترل کننده چطوری باید با ان ها تشکیل یک شبکه بده چون مثل این می مونه که یک نفر شنوده هست و 100 نفر گوینده تشخیص این که هر کسی چی می گه غیر ممکنه مگر این که یکی یکی حرف بزنن ( در ضمن همه وسایل و کنترل کننده از ارسال و دریافت داده به صورت دو طرفه استفاده می کنند ) در حقیقت یک شبکه ستاره را چگونه می شود برای چند میکرو با فرستنده و گیرنده های رادیویی پیاده سازی کرد تا هیچ داده ای از دست نرود ؟ الگوریتم مورد نظر شما دوستان برای این کار چیست ؟

                  با تشکر از دوستان

                  دیدگاه


                    #54
                    پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

                    شما یک ماژول فرستنده گیرنده ask دارید که روی همه نصب هست
                    از میکروی مرکزی باید به صورت سریال ارسال کنید آسنکرون
                    مثلا ارسال کنید a11 برای دستگاه اول عمل خاصی انجام بده ، یا A12 همون دستگاه اول عمل دیگه ایی انجام بده الی آخر
                    برای دستگاه دوم a21 ,.......
                    اینطوری هر دستگاهی که کد مربوط به خودش را دریافت کرد عمل خاصی انجام میده ، حتی میتونید برای اینکه محدوده فاصله زیاد بشه هر دستگاهی که کد را دریافت کرد اگر مربوط به خودش نبود دوباره همون کد را ارسال کنه تا فاصله بیشتر بشه
                    همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
                    کانت

                    دیدگاه


                      #55
                      پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

                      به نظر من در این برنامه بهتره از وقفه تایمر 2 استفاده بشه وبا فرکانس 40 کیلوهرتز بارگذاری بشه ودر هر بار وقفه وضعیت پین RF-IN چک بشه و وضعیتاون ثبت بشه ودر صورتی که وضعیت اون از حالت 0 به 1 تغییر حالت داد چک بشه که طول صفر بین 6 تا 15 میلی ثانیه باشه اگر نبود بیت استارت نیست اگر بود بیت استارت هست و وثبت بیت ها آغاز می شود وبرای ثبت بیت ها به ازای هر یک بار 0 و1 شدن پالس چک شود که اگر 0 بین 700 تا 1500 میکروثانیه بود و بیت 1 هم بین 200 تا 600 میکروثانیه بود آنگاه بیت صفر است وبلعکس این بیت یک است ودر غیر این صورت نویز است وتمام رجیسترها باید پاک شود و دوباره شروع کرد
                      و به ازای هر دریافت 24 بیت برای اطمینان از صحت کد بهتر است آن را یک بار دیگر ثبت و با مقدار قبلی مقایسه کنیم ودر صورت برابری عمل لازمک انجام شود من خودم به این سبک کار کرده ام وجواب خوبی گرفته ام و درصد خطا در این روش تقریبا به صفر وسرعت عملکرد نیز بسیار خوب وبرد نیز عادی است وضمنا در این کار دقت داشته باشید که سرعت کریستال میکرو پیک حداقل 10 مگاهرتز باشد درغیر این صورت برد دستگاه در صورت سنگین بودن برنامه کم می شود اما اگر برنامه اختصاصا فقط برای کار لرن و باز کردن رله باشد می توان با کریستال 4 مگاهرتز نیز این کار را انجام داد
                      آیا تا به حال به این فکر کرده ایم که نبود قانون کپی رایت در کشور ما چه لطمه بزرگی به کشور ما زده است؟؟؟؟؟؟؟؟؟

                      دیدگاه


                        #56
                        پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

                        سلام دوستان عزیز
                        من تازه واردم و نمیدونم کد برنامه و داده های شبیه سازی و فایل pdf رو از کجا دانلود کنم. لطفا راهنمایی کنید

                        دیدگاه


                          #57
                          پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

                          فایل pcb و شماتیک به همراه سورس برنامه را به دوستانی که خواسته بودم میل کردم اینجا هم برای دانلود میزارم
                          از این لینک دانلود کنید :
                          http://www.mediafire.com/?yvqzblyln52jyqb

                          ریموتهای هوپینگ کد و رولینگ کد 64 بیت میفرستند که 32 بیت اول ثابته و 32 بیت دوم متغیر ، با گرفتن 32 بیت اول که ثابته میتونیم اون ریموتها را هم کد کنیم با اینکه امنیت از بین میره اما خیلی کم پیش میاد خطا داشته باشیم ،
                          در این برنامه هر دو مدل کد میگیره هم ریموتهای بیتا ، هم ریموتهای رولینگ و هوپینگ کد
                          این پروژه را 4 سال پیش تولید کردم و در بازار هم فروش رفت ، فعلا دیگه تولیدش نمیکنم دوستان میتونند استفاده کنند .

                          5 عدد دیپ سودیچ در نظر گرفته شده که حالتهای مختلف رله ها را تعریف میکنه مثل لحظه ایی ، الاکلنگی ، دائم و ...
                          همینطوره در برنامه میتوانید فقط یک کلید از ریموت را کد بدین و.......
                          توضیحات را کامل میزارم :
                          الف - کد دادن معمولی : Dip4=On - Dip5=On - - Dip2= On - Dip3= On Dip1=On
                          در این روش همه کلیدهای ریموت کد میگیرد و کلید اول ریموت رله اول را فعال میکند – کلید دوم رله دوم و کلید سوم رله سوم را فعال میکند ، اگر ریموت دو کلید باشد فقط رله اول و دوم فعال میشود .
                          همه دیپ سوئیچها را در حالت on قرار دهید . کلید لرن گیرنده را برای لحظه ایی فشار دهید با دو بیپ کوتاه چراغ led روشن میشود ، کلیدی از ریموت را فشار دهید در صورت کد گرفتن صدای بیپ و led چشمک میزند . به همین ترتیب همه ریموتها را کد دهید و در پایان مجدد کلید لرن را بزنید ، با صدای بیپ و خاموش شدن led از حالت لرن خارج میشود. دیپ سوئیچها را طبق جدول 1 تنظیم کنید.
                          ب- کد دادن فقط یک کلید از ریموت کنترل : دقت کنید در این روش ریموت کنترل مورد نظر از روش قبل در حافظه کد داده نشده باشد.
                          در صورتی که میخواهید فقط یک کلید ریموت کنترل را کد دهید از این روش استفاده کنید ، میتوانید تعریف کنید که این کلید کدام رله را فعال کند پس مهم نیست کدام کلید از ریموت باشد حتی میتوانید ترکیب همزمان دو کلید از ریموت باشد. (یعنی دو کلید ریموت را همزمان فشار دهید به عنوان کلید جدید معرفی کنید ) :
                          کلید مورد نظر فقط رله اول را تحریک میکند. Dip4=Off - Dip5=Off - - Dip2= Off - Dip3= Off Dip1=On
                          کلید مورد نظر فقط رله دوم را تحریک میکند. Dip4=Off - Dip5=Off - - Dip2= On - Dip3= Off Dip1=Off
                          کلید مورد نظر فقط رله سوم را تحریک میکند. Dip4=Off - Dip5=Off - - Dip2= Off - Dip3= On Dip1=Off
                          دیپ سوئیچ را برای رله دلخواه خود تنظیم کرده ، مشابه قبل کلید لرن را بزنید پس از صدای بوق و روشن شدن led در حالت لرن رفته ، کلید مورد نظر را فشار دهید با صدای بیپ ریموت لرن میشود ، دقت کنید فقط همین کلید برای رله خاص طبق دیپ سوئیچ کد گرفته و بقیه کلیدها نا شناس میماند . اگر کلیدی دیگر را فشار دهید این کلید هم برای رله خاص کد میگیرد یعنی میتوانید همه کلیدهای ریموت را صرفا برای یک رله یا حالتهای مختلف تعریف کنید. توجه : از این روش هر کلید به عنوان یک ریموت جدا شناخته میشود ، یعنی اگر از یک ریموت کنترل کلید اول را کد دادید و سپس کلیدی دیگر هم کد دادید به عنوان دو ریموت ذخیره میشود.مجددا کلید لرن را بزنید با صدای بوق ممتد و خاموش شدن led از حالت لرن خارج شود

                          برای پاک کردن ریموتها کلید لرن را 15 ثانیه نگه دارید پاک میشه

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

                          دیدگاه


                            #58
                            پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

                            واقعا عالیه
                            اما کاش 4 کانال بود
                            مدت زمانی که صرف ایجاد تاپیک و منتظر پاسخ هستید را صرف سرچ کنید...

                            دیدگاه


                              #59
                              پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

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

                              مشکل من الآن دراین هست که مستر الان مثل یک استاد هست که همه شاگرداش با هم صحبت می کنند باید برای این که هم همه نشه استاد به یک نفر اشاره کنه که تو بگو بقیه ساکت . اما من می خوام خود بچه ها رعایت کنن در حرف زدن تا استاد راحت و بدون فشار حرف رو بشنوه .

                              دیدگاه


                                #60
                                پاسخ : ساخت گیرنده ریموت کد لرن توسط PIC16F876 به زبان PICBASIC PRO

                                به ذهنم رسید که میتونی یک کلک بزنی به شرطی که تعداد اسلیوهات کم باشه جواب میده
                                روش اول :
                                بیا برای اسلیو و مسترت آی سی ساعت بزار که زمان را داشته باشی ، و دقیقا با هم ست باشن
                                حالا اسلیوها را نام گزاری کن مثلا اسلیو 1 تا 5
                                اسلیو 1 فقط وقتی میتونه بفرسته که مثلا اگر ثانیه 1 یا 11 یا 21 یا 31 یا 41 یا 51 بود
                                اسلیو 2 فقط وقتی بفرسته که ثانیه مثلا 2 یا 12 یا 22 یا 32 یا 42 یا 52 بود
                                و به همین ترتیب .....
                                فاصله بین ثانیه ها را بستگی به سرعت مسترت داره که آماده پذیرش دستور بعدی باشه
                                اینجوری تا 10 اسلیو میتونی بزاری و در دترین شرایط حداکثر تقریبا هر 5 ثانیه یکبار اسلیوها میتوند بفرستند
                                در مستر هم که تعریف میکنی هر وقت دستور اومد به زمان نگاه کنه و از زمان میفهمه کدوم اسلیو دستور فرستاده یا اگر هر اسلیو کد خاص بفرسته که دیگه معلومه


                                روش دوم : میتونی از فرستنده گیرنده ask که دیتا میفرسته استفاده کنی و اسلیوهات یک رشته مثلا a1 را با باد ریت بالا ارسال کنه و اسلیو 2 مثلا a2 و.....
                                در گیرنده هم که دریافت میکنه ، چون سریال ارسال میکنه و باد ریت بالا هست احتمال اینکه در صدم ثانیه یک لحظه هر دو با هم ارسال کنند خیلی کمه و چون سرعت بالاست همه را میگیره

                                این چیزی بود که به ذهنم رسید
                                همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
                                کانت

                                دیدگاه

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