اطلاعیه

Collapse
No announcement yet.

ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

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

    پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

    آقا javad1352
    من مدار این برنامه شما رو بستم!!!
    کار میکند!!! :applause: :applause:
    بعد از مدتها آرزو به دل موندن، بالاخره تونستم یه خروجی رو با یه کلید خاص ، روشن و خاموش کنم.
    اون هم با حالت learn :nice:
    که البته میدونم کار خیلی زیادی برده، و خدا میدونه چقدر فسفر تو این راه سوخته!
    اون عکسی که از کنترلهای جمع آوری شده، توی صفحه قبل گذاشته بودم یادت هست؟ بجز با کنترلهای sony و panasonic با همشون کار کرد. که البته هر دومون همین انتظار رو هم داشتیم و خوب میدونیم sony پروتکل اختصاصی خودشو داره.
    نتیجه ای که من گرفتم اینه که با تمام کنترلهای RC6 کار میکنه!
    دست گلت درد نکنه
    یه نگاه که به متن برنامه ات میکنم،
    یعنی همه اینها رو با اطلاعات خودت نوشتی؟ از کسی کمکن نگرفتی؟
    نمیدونم چرا تا حالا دست کم گرفته بودمت!!!
    من دیگه بعد از این میترسم باهات حرف بزنم!!!

    دیدگاه


      پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

      فردیجان قابل شمارو نداشت . من اطلاعاتم اونقدرا هم زیاد نیست ولی با همین کمشم میشه اینکارا رو کرد . ضمنا من بسکامی رو که دوستمون لینکشرو گذاشته بود دانلود کردم و دارم سعی میکنم که با تینی 13 این پروژه رو انجام بدم .اگه تونستم اونموقع میشه گفت که یه چیزی بلد شدم .
      وقتی همه نیروهای جسمی و ذهنی متمرکز شوند توانایی فرد برای حل مشکلات به طور حیرت انگیزی چند برابر می شود .
      نرمن وینسنت پیل

      دیدگاه


        پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

        خوب بالاخره این تاپیک هم به نتیجه رسید!
        دست اقا جواد و اقای فردی هم درد نکنه!
        پس با اجازتون من دکمه به نتیجه رسید رو میزنم
        با تشکر

        دیدگاه


          پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

          فردی جان
          این کدو برای تینی 13 نوشتم .برای همون نقشه صفحه اول تاپیک .فقط یه ال ای دی اضافه شده برای حالت لرن مشخص بشه که به پایه Portb.0 وصل میشه . فقط تست کن و نتیجه رو برام بگو . :applause:
          کد:
          $regfile = "attiny13.dat"
          
          $crystal = 1000000
          '$noramclear
          $eeprom
          
          
          Config Portb = Output
          Config Pinb.3 = Input
          Led Alias Portb.4
          Relay Alias Portb.0
          Learn_key Alias Pinb.3
          
          Dim B As Iram Byte , S1 As Eram Byte , S2 As Eram Byte , S3 As Eram Byte , S4 As Eram Byte
          Dim W1 As Iram Byte , W2 As Iram Byte , W3 As Iram Byte , W4 As Iram Byte
          Dim P1 As Iram Byte , P2 As Iram Byte , P3 As Iram Byte , P4 As Iram Byte
          B = 0
          Star:
          
          P1 = S1
          P2 = S2
          P3 = S3
          P4 = S4
          
          If Pinb.3 = 0 Then Gosub Learn
          Do
          
           Waitms 250
           B = 1
          
           Bitwait Pinb.2 , Reset
          
          Do
          
          Do
           Waitus 1
           Loop Until Pinb.2 = 1
           Incr B
           Do
           Waitus 1
           Select Case B
          
           Case Is = 36
           Incr W1
          
           Case Is = 38
           Incr W2
          
           Case Is = 40
           Incr W3
          
           Case Is = 42
           Incr W4
          
           End Select
          
           Loop Until Pinb.2 = 0
            Incr B
          Loop Until B > 41
          
          If W1 > 30 Then
          W1 = 100
          Else
          W1 = 10
          End If
          
          If W2 > 30 Then
          W2 = 100
          Else
          W2 = 10
          End If
          
          If W3 > 30 Then
          W3 = 100
          Else
          W3 = 10
          End If
          
          If W4 > 30 Then
          W4 = 100
          Else
          W4 = 10
          End If
          
          
          If W1 = P1 And W2 = P2 And W3 = P3 And W4 = P4 Then
          If Relay = 0 Then
             Set Relay
             Else
             Reset Relay
             End If
            End If
          
           W1 = 0 : W2 = 0 : W3 = 0 : W4 = 0
          
          Loop
          
          
          Learn:
          Set Led
           Bitwait Pinb.2 , Reset
          
          Do
           Do
           Waitus 1
           Loop Until Pinb.2 = 1
           Incr B
           Do
           Waitus 1
           Select Case B
          
           Case Is = 36
           Incr W1
          
           Case Is = 38
           Incr W2
          
           Case Is = 40
           Incr W3
          
           Case Is = 42
           Incr W4
          
          
           End Select
           Loop Until Pinb.2 = 0
           Incr B
           Loop Until B > 55
          
          If W1 > 30 Then
          W1 = 100
          Else
          W1 = 10
          End If
          
          If W2 > 30 Then
          W2 = 100
          Else
          W2 = 10
          End If
          
          If W3 > 30 Then
          W3 = 100
          Else
          W3 = 10
          End If
          
          If W4 > 30 Then
          W4 = 100
          Else
          W4 = 10
          End If
          
          
          Writeeeprom W1 , 0
          Writeeeprom W2 , 1
          Writeeeprom W3 , 2
          Writeeeprom W4 , 3
           W1 = 0 : W2 = 0 : W3 = 0 : W4 = 0
          Reset Led
          Return
          وقتی همه نیروهای جسمی و ذهنی متمرکز شوند توانایی فرد برای حل مشکلات به طور حیرت انگیزی چند برابر می شود .
          نرمن وینسنت پیل

          دیدگاه


            پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

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

            یه ال ای دی اضافه شده برای حالت لرن مشخص بشه که به پایه Portb.0 وصل میشه
            آقا javad1354
            مثل اینکه باز یه اشتباه لپی پیش اومده!
            تو متن برنامه LED برای Portb.4 معرفی شده ولی خودتون بالا میفرمایید Portb.0
            آیا درست تشخیص دادم؟
            لطفا تایید بفرمایید ، تا تست عملی رو شروع کنم.

            دیدگاه


              پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

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

              دیدگاه


                پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

                آقا javad1354
                نداشتیم ها!
                اول برنامه رو که میگذاری در خط دوم $sim داریم ، بعد مخفیانه میای ویرایش میکنی و اون خط رو حذف میکنی و راهتو میکشی و میری و اطلاع هم نمیدی!!!
                آخه خلق خدا هم متوجه نباشند ، اون خدای بالای سرت که کارهاتو میبینه! چرا اینکارهارو میکنی؟؟؟ :icon_razz:
                دیگه از این زیر آبیها نرو! لااقل اطلاع بده!
                من همون اول برنامتو کپی کردم، و چقدر با اون یه خط کلنجار رفتم!

                دیدگاه


                  پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

                  آقا javad1354
                  این برنامه که برای tiny13 نوشتی مشکل داره! کار نکرد!
                  راهنمایی میکنم ببین با اینها میتونی مشکل رو پیدا کنی.
                  هر سه تا port که استفاده کردیم در حالت لاجیک معکوس قرار دارند.

                  1- PB2 که ورودی IR هست در لاجیک 0 میباشد. خروجی سنسور هم که در حالت عادی بالا هست وقتی که به پایه 7 آیسی وصل میشه پایین میاد و همیشه تو اون حالت میمونه. با ارسال دیتا هم ، خروجی سنسور همونطور توسط آیسی پایین نگه داشته میشه و سیگنالها همه زمین میشند.

                  2- خروجی هم ،آ‌ از همون ابتدا در لاجیک 0 قرار داره. و این اشتباهه. چون 0 بمنزله روشن شدن اون رله ای هست که براش تعریف کردی.

                  3- پایه کلید learn هم در لاجیک 0 هست. و این هم عکس انتظار ماست. چون کلید باید با روشن شدن پایه مربوطه رو 0 کنه در حالی که از همون ابتدا خودش در حالت 0 هست و همون طور هم میمونه پس فشار دادن کلید بی معنا میشه. خواستم با مقاومت Pull-up کنم ولی نشد.

                  محض اطلاع tiny13 در قسمت فیوز بیت ، فرکانس 1MHz نداره. البته خودم یکبار دیگه هم برای 9.6MHz کامپایل کردم. نتایج همون بود. لطفا خودتون تو ویراش بعدی فرکانس کار رو هم به فرکانس استاندارد tiny13 تغییر بدید.

                  با سپاس

                  دیدگاه


                    پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

                    واسه کار با tiny این نکات رو حتما رعایت کنید

                    در حین پروگرام کردن حتما باید کریستال داشته باشه

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

                    واسه کار کردن حتما باید پایه ریست رو با مقاومت 1 کیلو اهم به vcc وصل کنید
                    علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

                    دیدگاه


                      پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

                      منم که میرم یه سال بعد میام
                      متاسفانه برد من کار نکرد

                      فکر کنم باید برم همون قطعات شما رو بخرم و تست کنم

                      دیدگاه


                        پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

                        نوشته اصلی توسط gbg
                        منم که میرم یه سال بعد میام
                        متاسفانه برد من کار نکرد

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

                        دیدگاه


                          پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی


                          فردی جان این کد رو امتحان کن ببینم مشکل برطرف شده .ضمنا خیلی عالی توضیح میدی .ممنون
                          کد:
                          $regfile = "attiny13.dat"
                          $crystal = 9600000
                          $noramclear
                          $eeprom
                          
                          
                          Config Pinb.0 = Output : Relay Alias Portb.0
                          Config Pinb.4 = Output : Led Alias Portb.4
                          Config Pinb.3 = Input : Learn_key Alias Pinb.3
                          Relay = 0
                          
                          
                          Dim B As Iram Byte                    
                          Dim W1 As Iram Byte , W2 As Iram Byte , W3 As Iram Byte , W4 As Iram Byte
                          Dim P1 As Iram Byte , P2 As Iram Byte , P3 As Iram Byte , P4 As Iram Byte
                          B = 0
                          
                          
                          Star:
                          
                          
                          Readeeprom P1 , 10
                          Readeeprom P2 , 11
                          Readeeprom P3 , 12
                          Readeeprom P4 , 13
                          
                          
                          If Pinb.3 = 0 Then Gosub Learn
                          Do
                          
                          
                           Waitms 250
                           B = 1
                          
                          
                           Bitwait Pinb.2 , Reset
                          
                          
                          Do
                          
                          
                          Do
                           Waitus 1
                           Loop Until Pinb.2 = 1
                           Incr B
                           Do
                           Waitus 1
                           Select Case B
                          
                          
                           Case Is = 36
                           Incr W1
                          
                          
                           Case Is = 38
                           Incr W2
                          
                          
                           Case Is = 40
                           Incr W3
                          
                          
                           Case Is = 42
                           Incr W4
                          
                          
                           End Select
                          
                          
                           Loop Until Pinb.2 = 0
                            Incr B
                          Loop Until B > 41
                          
                          
                          If W1 > 30 Then
                          W1 = 100
                          Else
                          W1 = 10
                          End If
                          
                          
                          If W2 > 30 Then
                          W2 = 100
                          Else
                          W2 = 10
                          End If
                          
                          
                          If W3 > 30 Then
                          W3 = 100
                          Else
                          W3 = 10
                          End If
                          
                          
                          If W4 > 30 Then
                          W4 = 100
                          Else
                          W4 = 10
                          End If
                          
                          
                          
                          
                          If W1 = P1 And W2 = P2 And W3 = P3 And W4 = P4 Then
                          If Relay = 0 Then
                             Set Relay
                             Else
                             Reset Relay
                             End If
                            End If
                          
                          
                           W1 = 0 : W2 = 0 : W3 = 0 : W4 = 0
                          
                          
                          Loop
                          
                          
                          
                          
                          Learn:
                          
                          
                          Waitms 250
                           B = 1
                          Set Led
                           Bitwait Pinb.2 , Reset
                          
                          
                          Do
                           Do
                           Waitus 1
                           Loop Until Pinb.2 = 1
                           Incr B
                           Do
                           Waitus 1
                           Select Case B
                          
                          
                           Case Is = 36
                           Incr W1
                          
                          
                           Case Is = 38
                           Incr W2
                          
                          
                           Case Is = 40
                           Incr W3
                          
                          
                           Case Is = 42
                           Incr W4
                          
                          
                          
                          
                           End Select
                           Loop Until Pinb.2 = 0
                           Incr B
                           Loop Until B > 55
                          
                          
                          If W1 > 30 Then
                          W1 = 100
                          Else
                          W1 = 10
                          End If
                          
                          
                          If W2 > 30 Then
                          W2 = 100
                          Else
                          W2 = 10
                          End If
                          
                          
                          If W3 > 30 Then
                          W3 = 100
                          Else
                          W3 = 10
                          End If
                          
                          
                          If W4 > 30 Then
                          W4 = 100
                          Else
                          W4 = 10
                          End If
                          
                          
                          P1 = W1 : P2 = W2 : P3 = W3 : P4 = W4
                          
                          
                          
                          
                          Writeeeprom W1 , 10
                          Writeeeprom W2 , 11
                          Writeeeprom W3 , 12
                          Writeeeprom W4 , 13
                          
                          
                           W1 = 0 : W2 = 0 : W3 = 0 : W4 = 0
                          Reset Led
                          Return
                          وقتی همه نیروهای جسمی و ذهنی متمرکز شوند توانایی فرد برای حل مشکلات به طور حیرت انگیزی چند برابر می شود .
                          نرمن وینسنت پیل

                          دیدگاه


                            پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

                            آقا javad1354
                            :sad:
                            متاسفم که اعلام میکنم ، تغییری در هیچکدام از پایه های portB مشاهده نشد.
                            همچنان همگی در لاجیک 0 قرار دارند.
                            توصیه آقا امید هم برای پایه reset انجام دادم ولی بی تاثیر بود.
                            برنامه بصورت عادی کامپایل میشه. و هیچگونه error نداریم. روند پروگرام هم طبیعی و کامل طی میشه.
                            ولی همه pin های portB از ابتدا در لاجیک 0 هستند و همونطور هم میمونند.
                            لطفا بگرد ببین تو متن برنامه ، یه دستوری نباشه که همه pin های portB رو 0 بکنه!!!

                            دیدگاه


                              پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

                              خوب شما اگه بخواین یه Programmable Remote Control درست کنین که تمام ریموت ها رو پوشش بده که دیگه نمیتونین خودتون رو محدود به RC5 یا RC6 کنین !!!!!!!!! اینطور که من میدونم تعداد پروتوکل های ارتباطی بیشتر از این حرفاست . خوب چند روز پیش من برای انجام یه پروژه لازم داشتم که کاری رو که شما نیاز داشتین بسازم . اول یه سرچ زدم توی اینترنت ولی چیز به درد بخوری پیدا نکردم . دیروز دست به کار شدم و خودم کد زدم و خیلی عالی جواب هم گرفتم :
                              من اومدم با یه تایمر عرض پالس دریافتی رو اندازه گرفتم و ذخیره کردم ( توی یه ماتریس حد اگثر 100 تایی ) بعد حالا کد دریافتی رو هم عرض پالساشو میخونم و در صورت یکی بودن با کد ذخیره شده یکی از پورت ها رو دو بار روشن و خاموش میکنم . البته فعلا برای تست برنامه اینطوری هستش که اول برنامه منتظر کد ورودی میمونه و بعد از وارد شدن کد ، سه بار چشمک میزنه و بعد از اون هر بار که اون کلید فشار داده بشه ، دوبار چشمک زده میشه .
                              من با Samsung (DVD & TV) + Iclass تست کردم و هر دو جواب داد . ( پروتکل هاشون رو روی اسیلوسکوپ دیدم فرق داشتن !!! ) حالا من HEX رو براتون میذارم شما هم تست کنین . اگه جواب گرفتین من برنامه C رو براتون میذارم :
                              http://alirezat.webs.com/AlirezaT-(I...e_Control).rar

                              درضمن کلاک هم 8MHZ داخلیه میکرو هستش
                              فرق ما با جهان غرب در اینه که اونا هیچی نمیدونن! و تحقیق میکنند ولی ما همه چیزو می دونیم! و تحقیق برای ما معنی نداره!!!!!!!!!!!! .(از یه آدم اینکاره)

                              دیدگاه


                                پاسخ : ریموت کنترل IR یک کاناله - قابل برنامه ریزی با هر نوع کنترل خانگی

                                علیرضا جان سلام .این برنامه که من نوشتم با هردو پروتکل RC5 و6 جواب میده .فقط کنترل سونی نداشتم که با هاش بتونم برنامرو مچ کنم . شما اگر مطلبی رو که در چند پست قبل گذاشتم دانلود کنی فکر میکنم بدردت بخوره .
                                http://www.4shared.com/file/rhurYRb0/SAMSUNG_RC6_Decoder.html
                                ضمنا فردی جان من کد جدید رو نوشتم و پست قبل رو با کد جدید ویرایش کردم .یه تستی بزن ببینم چی میشه .
                                وقتی همه نیروهای جسمی و ذهنی متمرکز شوند توانایی فرد برای حل مشکلات به طور حیرت انگیزی چند برابر می شود .
                                نرمن وینسنت پیل

                                دیدگاه

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