سلام به همه دوستان
من اين بحث رو تو مباحث PIC هم مطرح كردم...چون با هر دو ميكرو ميخوام اينكارو بكنم.
كدهاي ريموت كنترل سيستمهاي صوتي و تصويري رو از كدوم سايت ميشه گرفت....كسي اين كدهارو داره؟
ميخوام با يه ريموت كنترل تلويزيون يا راديو ضبط و يا.....به ميكرو فرمان بدم و هر دكمه كاري بكنه..كدهاشو تو سايت يا جايي ميشه پيدا كرد؟يا بايد خودم با نمونه گيري يا اوسيلوسكوپ در بيارم.اگه آمادش هست لطف كنيد راهنماييم كنيد!
اگه راه دیگه ای هم هست بگید لطفا!
ممنون از راهنماییتون!
عالی بود!واقعا دستت درد نکنه!
موفق باشید!
با سلام به همگی دوستان
من از طریق وصل کردن خروجی یک سنسور را به اینتراپت دادم و از طریق تایمر صفر عرض پالسهای 1 و 0 را که در خروجی سنسور هست اندازه گرفتم و آن مقادیر را در حافظه ذخیره کردم . حالا می خواهم با دادن آن مقادیر به تایمر ، دقیقاً مثل همان پالسی که وارد اینتراپت شده رو درست کنم .
همگی مراحل بالا را انجام دادم بجز مرحله آخر که با مشکل مواجه شدم آخه نمی دونم چه مقداری رو باید به تایمر بدم که دقیقاً به اندازه عرض پالس بشه ؟
روشی که خودم بنظرم اومده اینه :
می دونم که تایمر0 از 0 تا 255 می شمارد و بعد وقفه سر ریزی را اجرا می کند ، خوب من هم مقادیری که در حافظه دارم رو از 256 منها و حاصل را به عنوان مقدار اولیه وارد تایمر می کنم . ! ! ! ؟
آیا روش من درسته ؟
اینم برنامه ای که نوشتم :
$regfile = "M32def.dat"
$crystal = 4000000
Dim R As Byte , I As Word
R = 0
Config Timer0 = Timer , Prescale = 256
Enable Interrupts
Enable Timer0
Timer0 = 0
On Ovf0 Puls_isr
Stop Timer0
Config Pind.1 = Output
Puls Alias Portd.1
Reset Puls
'sample code of Sony RemotControl
Out 501 , 40
Out 502 , 8
Out 503 , 20
Out 504 , 9
Out 505 , 11
Out 506 , 8
Out 507 , 21
Out 508 , 8
Out 509 , 11
Out 510 , 9
Out 511 , 20
Out 512 , 9
Out 513 , 11
Out 514 , 8
Out 515 , 11
Out 516 , 9
Out 517 , 11
Out 518 , 8
Out 519 , 11
Out 520 , 8
Out 521 , 10
Out 522 , 8
Out 523 , 11
Out 524 , 8
Out 525 , 20
Out 526 , 155
I = 500
Reset Puls
Start Timer0
Do
'generate puls
Loop
End 'end program
Puls_isr:
Stop Timer0
Toggle Puls
Incr I
If I > 526 Then I = 501
R = Inp(i)
R = 256 - R
Timer0 = R
Start Timer0
Return
با تشکر از همگی مهندسین ،
با شرایط
Prescale = 256
$crystal = 4000000
فرکانس تقریبا بین 63Hz تا 15KHz است
یک سری توضیح نوشتم زمان روشن شدن و خاموشی اگر برابر باشد نباید مشکلی باشد.
اگر با همین شرایط میکرو کد کنترل را گرفته باشید 100% درسته.
در قسمت پایین که علامت ? Cycle را دارد زمان نگه داشته می شود که درست نیست. همه همه 1 تایمر هم نمیشه اما اگر فرکانس زیاد تر باشد شاید مشکل ساز باشد.
حالا چرا اول آزمایش نکردید؟ تا جواب رو خودتون ببینید!
کد:
regfile = "M32def.dat"
$crystal = 4000000
Dim R As Byte , I As Word
R = 0
Config Timer0 = Timer , Prescale = 256
Enable Interrupts
Enable Timer0
Timer0 = 0
On Ovf0 Puls_isr
Stop Timer0
Config Pind.1 = Output
Puls Alias Portd.1
Reset Puls
'sample code of Sony RemotControl
Out 501 , 40 'On Time 2.56ms
Out 502 , 8 'Off Time 512us
Out 503 , 20 'On Time ...
Out 504 , 9 'Off Time
Out 505 , 11 'On Time
Out 506 , 8 'Off Time
Out 507 , 21 '...
Out 508 , 8
Out 509 , 11
Out 510 , 9
Out 511 , 20
Out 512 , 9
Out 513 , 11
Out 514 , 8
Out 515 , 11
Out 516 , 9
Out 517 , 11
Out 518 , 8
Out 519 , 11
Out 520 , 8
Out 521 , 10
Out 522 , 8
Out 523 , 11
Out 524 , 8
Out 525 , 20
Out 526 , 155 '9.92ms
I = 500
Reset Puls
Start Timer0
Do
'generate puls
Loop
End 'end program
Puls_isr:
'-----------------? Cycle-------------------
Stop Timer0
Toggle Puls
Incr I
If I > 526 Then I = 501
R = Inp(i)
R = 256 - R
Timer0 = R
'-------------------------------------------
Start Timer0
Return
سلام
این 2 تا جواب آخری جالب و مفید بودن!از آقای پردازشگر میخوام من رو هم کمک کنه!
ممنون میشم!
خروجی ریموت کنترل سیستمهای صوتی و تصویری pcm هست.
من میخوام یه سنسور مادون قرمز به میکرو وصل کنم و با زدن هر دکمه ریموت میکرو کار خاصی بکنه.مثلا با دکمه play پورت b.0 رو high کنه و با زدن دکمه stop پورت b.1 رو high کنه!
میدونم که هر دکمه که میزنیم یه پالس کد شده یا یه پالس pwm میفرسته!چطور میتونم این کدها یا پالسهارو به میکرو تعریف کنم؟
آیا هر دکمه عدد هگز یا دسیمال داره؟یا باینری 8 یا 16 بیتی ارسال میکنه؟
اگه کسی بلده و این کار رو کرده بهم کمک کنه!روش کار رو بگه!ممنون میشم کامل بگید!
آقای pardazesh-gar فکر کنم میدونه چطور باید عمل کنم!
اگه برنامه آماده دارید PIC یا AVR فرقی نمیکنه لطفا بدید!جبران میکنم!
ممنون از توجهتون! :)
من هم دارم یاد میگیرم
اساس کار کنترل ها گوناگون است. چون شرکت های سازنده هم با هم تفاوت دارند.
هر دستگاه استاندارد خودش را دارد.
دو راه برای بدست آوردن کد کنترل وجود دارد.
1- منبع برای آن دستگاه پیدا کنید.
2- خود آزمایش کنید.
راهی که etrmodern فرمودند خیلی عالی.
البته چون معمولا فرکانس فرستنده ها 38Khz تا 40Khz بهتر یا فرکانس میکرو را زیاد کنیم مثلا 12Mhz یا تقسیم تایمر را کم کنیم. و بهتر از TIMER1 استفاده کنیم که تایمری 16 بیتی می شود.
برای گرفتن کدها می شود از RAM میکرو و برای ذخیره سازی از EEPROM یا فرستادن به رایانه خود استفاده کنید.
به نوشته etrmodern توجه کنید
'sample code of Sony RemotControl
فکر کنم خودشان بدست آوردند.
آیا هر دکمه عدد هگز یا دسیمال داره؟ یا باینری 8 یا 16 بیتی ارسال میکنه؟
برای مثال IR RC5 می تونه تا 12بیت را ارسال کند.البته معمولا 11 بیت.
برنامه ای ندارم. تا حالا هم نساختم.
وقتی توانیی ساختش رو دارید باید بسازید. یک از دوستان برنامه آماده هم دستش میاد نمیره ببینه توش چه خبره. ابتدا خودش فکر میکنه بعد برنامه رو نگاه میکنه.دلیل کارش را بیان می کند که: این فکر کردن هر چند کوتاه می تونه بسیار مفید باشد شاید بشود چیز جدیدی کشف کرد. این کار بسیار مهم و صحیح.
گر سخت ساخته شود آسان شود و اگر آسان ساخته شود سخت می ماند.
تمام دوستان تا زمانی که یاری از دستشان برآید هستند. شما شروع کنید.
امیدوارم موفق باشید.
سلام من این کدها رو از یه سایتی گرفتم.
ببینید چیز بدرد بخوریه؟همون کدهایی که میفرسته نیست؟
SONY TV
Sony TVs are quickly becoming more complicated. There are now 4 device codes being used in the U.S., and the foreign codes, which are sometimes completely different, complicate things even more. There are also a lot of old, obsolete codes and seemingly, many duplicates of certain functions. However, the codes for now seem to be pretty standardized for U.S. televisions. I just don’t know why they use so many device codes! Why do they use a few functions on 151 and 119 when those could be combined?
There’s also the weird 26.26 codes. I think these are for the DTV tuner portion of some early model HDTVs.
Hopefully someone out there could clear up some of the obsolete, foreign and teletext codes, or anything I don’t know what it does as listed in the chart. If you know any more codes, e-mail me!
New are the plasma TV codes.
Olive = obsolete
Orange = foreign
Magenta = Plasma TV
Sony:1
Command Code
Command(s)
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
0
10
11
11
Enter, 12
12
1-, 13
13
2-, 14
14
Guide, Channel Guide, P/C, 15
15
Clear
16
Channel Up
17
Channel Down
18
Volume Up
19
Volume Down
20
Mute
21
Power
22
Reset
23
MTS/SAP, Audio Monitor, Nicam
24
Picture/Contrast Up
25
Picture/Contrast Down
26
Color Up
27
Color Down
28
Channel Lock
29
-/--
30
Bright Up
31
Bright Down
32
Hue Down
33
Hue Up
34
Sharpness Up
35
Sharpness Down
36
TV tuner (discrete)
37
TV/Video
38
Balance Left
39
Balance Right
40
Bass, Tone, Loudness On/Off, OSE
41
SRS, Surround, 3D Sound On/Off
42
Antenna/Aux
43
Clock, Time
44
External Antenna
45
RGB
46
Power On (discrete)
47
Power Off (discrete), System Off
48
Timer, Time, Blk
49
Up
50
Down
51
Right, Clock AM/PM
52
Left, Clock Clear
54
Sleep, Off Timer
56
Teletext Off/Out, Power On (discrete), Select Tuner
58
Display, Info, Teletext Index
59
Jump, Last
60
Timer-Off, Repeat
62
Pic Off
63
Teletext On/Mode, Display
64
Video 1 (discrete), Line A, Line, Video
65
Video 2 (discrete), Line B, Option
66
Video 3 (discrete), VTR
67
RGB Input 1 (discrete), Computer (RGB) input (discrete)
68
RGB Input 2 (discrete)
71
Video 4 (discrete)
72
Video 5 (discrete), YUV
73
Video 6 (discrete), FM
74
Teletext Hold, Noise Reduction On/Off
75
Fasttext Red (obsolete?)
76
Fasttext Green (obsolete?)
77
S-Video, Y/C, Fasttext Yellow (obsolete?)
78
Cable toggle
79
Notch fliter On/Off, Fasttext Blue (obsolete?)
80
Internal Speakers On/Off
81
Sat (?)
88
PIP Channel Up
89
PIP Channel Down
90
PIP TV/Video
91
PIP On/Toggle
92
PIP Freeze, Digital Memo
94
PIP Position
95
PIP Swap
96
Menu, Guide, Wega Gate
97
Video
98
Audio
99
Exit
100
Picture Mode, ASC, Profile
101
Return, Select, Enter (menu select key)
102
Output Select
103
PIP source
104
TV System
106
Color System
107
Auto Program
108
Preset
110
Search +
111
Search –
112
Treble Up
113
Treble Down
114
Bass Up
115
Bass Down
116
Up, R, Level Up
117
Down, L, Level Down
120
Add
121
Erase
124
Select
125
Trinitron
127
test code
با سلام خدمت همگی
خوب جا داره از جناب Pardazsesh-gar تشکر کنم .
من با پروتوس مدارو بستم و برنامه رو هم روش پروگرام کردم و خوب هم جواب گرفتم یعنی دقیقاً مشابه همون پالس های دریافتی رو در خروجی درست میکنه امـــا در عمل اصلاً هیچ به هیچ (با تلویزیون پارس تست کردم). :!:
دارم دیگه کلافه میشم (تا این مرحله برنامه دقیقاً 3 هفته تمام و مفید ، وقتم رو گرفته). :cry:
شما تنها روی تلوزیون پارس این آزمایش را انجام دادید؟
فرکانس میکرو را افزایش دادید؟ چون فرکانس معمولا در حد 40Khz .
پروژه کاربردی و جالبی. خیلی دوست دارم به جواب برسه.منم تلاش می کنم.
پیش از این چنین پروژه ای را انجام داده بودند اگر آدرس را پیدا کردم قرار می دهم . البته با درگاه سریال بدون استفاده از میکرو(با کامپیوتر).
راستی راستی جواهری با ارزش تر از زمان پیدا نمی شود.