نوشته اصلی توسط mohamadeng
اطلاعیه
Collapse
No announcement yet.
[پروژه] پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
Collapse
X
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
برو تو سایت نمایشگر اول اونجا هس
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
دوستان کسی کدلرنینگ با بیسکام سراغ داره ؟
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
اگه کسی با هاپیک کار کرده راهنمایی کنه دو کدی که در هاپیک ارسال می شه چه ارتباطی با هم دارن
یا یه لینکی قرار بدید
زکات علم نشر اونه
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
با سلام
فرستنده مخصوص گیرنده این مدار ایا باید کد لرن باشد؟ ایا ریموت زیر مناسب هست؟
http://iran-micro.com/%D8%B1%DB%8C%D9%85%D9%88%D8%AA-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%DA%A9%D8%A7%D9%86%D8%A7%D9%84-learn-code-%D9%81%D8%B1%DA%A9%D8%A7%D9%86%D8%B3-%D9%85%DA%AF%D8%A7-%D9%87%D8%B1%D8%AA%D8%B2-p-1137.html
سپاس
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
سلام به همه دوستان
چند وقتی میشه درگیر این پروژه هستم. هر کار می کردم درست نمی شد و زمان های 0 و 1 دریافتی اصلا با پروتکل مورد نظر همخوانی نداشت. روش های مختلفی رو امتحان کردم اما جواب نگرفتم. با فرکانس های مختلف میکرو، با Prescale های مختلف و با متد های گوناگون امتحان کردم اما جواب نداد. بالاخره امروز مشکل رو پیدا کردم و خداروشکر حل شد.مشکلات من:
1- منبع تغذیه مناسب نبود و نویز زیادی ایجاد می کرد که این قضیه رو با گذاشتن خازن ها و دور کردن ماژول گیرنده از منبع تغذیه حل کردم.
2- توی برنامه برای کنترل کردن زمان های 0 و1 یک دستور پرینت رو گذاشته بودم و داده ها رو به پرت سریال میفرستادم و روی کامپیوتر کنترل می کردم. من این دستور رو بعد از دریافت هر0 یا 1 گذاشته بودم و چون این دستور نیازمند کلاک زیادی هست باعث می شد که بعضی بیت ها رو از دست بدم. یه تغییر کوچولو تو برنامه دادم و اول تعدادی داده رو جمع آوری کردم و بعد اونا رو پرینت کردم و دیدم که مشکل حل شد و دقیقاً همون پروتکل رو دریافت کردم.
امیدوارم این مطلب به درد دوستان بخوره
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
یه سوال دیگه هم داشتم اونم اینکه ای شرطا رو متوجه نشدم راستش!! یعنی اعداد 6 و 50 و 99 از کجا اومدن؟؟؟
کد:if(us > 99) else if(us > 6 && us < 50) else if(us <= 6)
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
از همه فعالین تو این تاپیک تشکر میکنم
دوستان لطف میکنید تو برنامه پست اول بفرمایید متغیر های زیر هرکدوم واسه چی در نظر گرفته شدن؟؟؟؟؟
کد:bit f_read,f_write,f_set,f_on_erase,f_all_erase,f_remut,f_ok; char us,index,d_crc,x_remut,d_time; char d_in[4],crc_in[4]; int d_clar,d_key,remut,d_led,clar_kay,i; eeprom char e_n_remut,e_d_ee[n_eeprom][3];
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
سلام
جریان این فیکس کد و لرن کد و رولینگ کد چیه ؟!!! تا جایی که من فهمیدم تنها تفاوت اینها سر کدینگ و دیکدینگ هست درسته ؟ یعنی میشه با همین گیرنده 3 هزار تومنی که توی بازار هست هر ۳ نوع فرستنده را بخونم درسته ؟؟
گیرنده را گرفتم و بدون هیچ واسطی به کامپیوتر وصل کردم و مشکلی نداشتم . الان روی میکرو اتمگا8 هم تست کردم و مشکلی نیست.
یک کلید برای ریموت پارکینگ دارم که یک کلیدش برای باز کردن و بستن در هست و بقیه بیکارن !
الان توی میکرو تونستم کلید های این ریموت را بخونم .
سوال من اینه که این آیسی و بقیه قطعاتی که برای گیرنده توی آموزش ها هست چیه ؟؟؟ خود گیرنده ASK وصل میشه به میکرو و تمام، بقیه قطعات کاربردشون چیه ؟!
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
از لطفتان سپاسگزارم.
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
1-پین tx و rx که توی میکرو میبینید برای ارتباط uart تعریف شده و ربطی به کار شما نداره.شما باید یه پایه میکرو (I/O) رو مستقیم وصل کنی به پایه فرستنده tx ماژولنوشته اصلی توسط leaderبازم تشکر میکنم.مشکل اصلی بنده در ارتباط بین دو ماژول هست .چند تا سوال:
1-آیا برای ارتباط از هر پین عادی میکرو میشه استفاده کرد یا به پین هایی مثل RX یا TX نیاز هست؟یا ......؟
2-پروتکل ارتباطی خاصی نیاز داره یا باید خودمون تعریف کنیم؟اگر داره چیه؟ و اگر خودمون تعریف باید بکنیم قالب کلی اش چطوریه؟
3-با توجه به نوع مدولاسیون این نوع ماژول ارسال اطلاعات بصورت صفرو یک باید باشد یا پالس با طول موجهای متفاوت؟ یا .....؟
4-لطفا اگر براتون ممکن است یک مثال عملی در مورد ارسال اطلاعات از ماژول فرستنده و دریافت آن از طرف گیرنده ارائه دهید
2-پروتکل ارتباطی دست خودتونه.شما میتونی هر جوری که دوست دارید تعریف کنید ولی خیلی مهمه که حواستون باشه طوری انتخاب کنید که گیرنده نویز محیط رو بتونه از سیگنال اصلی تفکیک کنه.
3-ببینید شما هر پالسی بدید اونطرف همون پالس رو میتونید دریافت کنید.بسته به پروتکل کاری خودتون هر جوری بخواید میتونید تعریف کنیدش.اما توی سیستم های ریموت های فرستنده مثل سری ev1527 و امثالهم به صورت pwm پالس رو ارسال میکنن و تفکیک 1و یا 0بودنش رو به عهده گیرنده قرار دادن.
4-مثالم، فکنم شما فقط مشکل کمبود اطلاعات دارید .اگه خوب موضوع رو درک کنید اجاراش براتون خیلی راحت باید باشه
عملیشم شماتیک خاصی که نداره تنها یه پایه از میکروتون وصل میشه به فرستنده تون.
- تشکرها 1
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
نوشته اصلی توسط mmbسلام جناب اسدی
طاعات قبول حق
خدا قوت
یک راهنمایی میفرمایید
این برنامه ریموت لرن توی پست
http://www.eca.ir/forum2/index.php?topic=52063.0
50 صفحه رو مطالعه کردم هربار مطالعه میکنم یک چیز جدید میرسم
اون هم بخاطر انبوه پیامها و سوال ها و پاسخ های بجای جناب عالی هستش
و باز هم خدا قوت
واما بعد
راهنمایی که از تون میخوام بگیرم ببخشید دیگه
برنامه ریموت لرنینگ این امکان رو داره که فقط و فقط برای یک کلید لرن بشه
یعنی هربار که موقع لرن کردن دستگاه میشه فقط بیاد همون کلیدی که فشرده شده رو لرن کنه و کلید های بعدی رو لرن نکنه!
میخوام 16 کانال رو که برای 4 تاکلید این امکان هستش (طبق دیتاشیت)روی این برنامه تست بزنم ؟
مقادیر 1 و2 و 4 و 8
همون آدرس های 0001 و 0010 و 0100 و 1000
هستش درسته بله مسلم حتم به یقین
حالا این مقادیر 5 و 6 و7 و9 و10 و 11و 12 و 13 و14 .15 و 16
رو توی دستور
switch remut
case
بزارم درست میشه یا اینکه 0و1 "همون آدرس" هاشو جایی تعریف کردین که باید تعریف کنم؟
امکانش هست راهنمایی بفرمایید؟؟؟
ممنونم
سلام دوباره به مهندسین
برنامه مطالعه شد
چنتا سوال اگر زیر سوال نرم
وامابعد:
----------------------------------------------------------------
1:
توی شرط زیر یک دقت بفرمایید
چرا مقدار دوتا شرط آخری یک هستکد:if(level1 >= level0) { if(index < 8) set(d_in[0],7-index); else if(index < 16) set(d_in[1],7-(index-8)); else if(index < 20) set(d_in[2],7-(index-16)); else set(d_in[3],7-(index-16)); :question: index++; }
یعنی مقدارکد:set(d_in[2],7-(index-16)); else set(d_in[3],7-(index-16));
داخلکد:7-(index-16
وکد:set(d_in[2]
میزارید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟کد:set(d_in[3]
نباید شرط آخری که آدرس کلیید ریموته
رو مثل زیر بزاریمکد:d_in[3]
(index-16) بشه (index-24)کد:set(d_in[3],7-(index-24));
چرا همون مقدار ایندکس قبلی رو داخل d_in[3] بریزه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
---------------------------------------------------------------------------------------------
2:
چرا توی شرط زیر level1 > 4 && index == 23
مقدار
d_in[3] رو صفرش میکنید ؟؟؟؟
مگر بیت آدرس کلید ریموت نمیره داخل همین d_in[3] ؟؟؟؟
--------------------------------------------------کد:if((level0 / level1) > 5 && !f_start) { f_start = 1; :question: if(level1 > 4 && index == 23)set(d_in[3],0); index = 0; f_bit = 0; if((d_in[0] > 0 || d_in[1] > 0 || d_in[2] > 0 || d_in[3] > 0)&& d_remut[0] == d_in[0] && d_remut[1] == d_in[1] && d_remut[2] == d_in[2] && بعدش در ادامه این زیر مقدار صفر d_in[3 رو با d_remut[3] برابر باشه d_remut[3] == d_in[3]) :question: { f_read = 1; } d_remut[0] = d_in[0]; d_remut[1] = d_in[1]; d_remut[2] = d_in[2]; ------------------------------------------------------- 3: در ادامه چه مقداری داخل d_remut[3] واریز میشه؟؟؟؟؟ d_remut[3] = d_in[3]; :question: d_in[0] = 0; d_in[1] = 0; d_in[2] = 0; d_in[3] = 0; }
4:
حالا تور شرط زیری چرا وقتی همه ریموت ها از "ایپ تورام "میخوان پاک بشن مقدار
آدری بیت کلید ریموت
d_ee[i][3] = 0;
رو از "ایپ تورام " حذفش نمیکنید این خط نیستش توی برنامه
-------------------------------------------------کد:else if(KEY == ON_ERASE && d_key > 150) { KEY = ALL_ERASE; n_remut = 0; delay_ms(10); for(i=0;i<n_eeprom;i++) { d_ee[i][0] = 0; delay_ms(10); d_ee[i][1] = 0; delay_ms(10); d_ee[i][2] = 0; :question: delay_ms(10); }
5:
توی شرط زیر مقدار
crc_in[3]
چی هستش ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
که با
d_remut[3]
آدرس بیت کلید های ریموت برابریش مقایسه میشه؟؟؟
--------------------------------------------------------------------------------------کد:if(f_read) { f_read = 0; //if(!PIND.7)printf("%u %u %u %u\n\r",d_remut[0],d_remut[1],d_remut[2],d_remut[3]); if(d_remut[0] == crc_in[0] && d_remut[1] == crc_in[1] && d_remut[2] == crc_in[2] && d_remut[3] == crc_in[3]) :question: { d_crc++; d_clar = 0;
6:
داخل حلقه زیر اومدید مقادیر ذخیره شده هر ریموت توی " ایپ تورام"
d_ee[i][X]
رو برای مقایسه با دیتای
d_remut[X]
بررسی میکنید
سوال
چرا
d_remut[3]
رو مقایسه نمی کنید
مگر d_remut[3]
مقدار بیت آدرس کلید های ریموت نیستش؟
چرا اون رو d_remut[3] با مقادیر ذخیره شده توی ایپ تورام مقایسه نمیکنید؟؟؟؟؟
گیرنده یا برنامه از کجا میفهمه که کدوم کلید فشرده شده که معادلش رو توی رله های خروجی فعالش کنه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
میدونم یک شرطی آخر برنامه داره switch )remut(
با case های 0 و 1 و 4 و 8
با توجه به شرط بالا switch چطور میفهمه
مقدار remut چند هستش؟؟؟
کد:for(i=0;i<n_remut;i++) { if(d_remut[0] == d_ee[i][0] && d_remut[1] == d_ee[i][1] && d_remut[2] == d_ee[i][2]) { remut = d_remut[3]; :question: } } }
-----------------------------------------------------------------------
7:
تو شر ط زیر چرا
d_remut[3]
رو داخل
t_remut
قرار دادید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
----------------------------------------------------------------------------------------------کد:if(!f_ok && n_remut < n_eeprom) { n_remut++; delay_ms(10); if(n_remut == 1) { t_remut = d_remut[3]; :question: delay_ms(10); }
8:
چرا آدرس بیت کلید ریموت
d_remut[2]
رو توی این قسمت برنامه :question: برای ذخیره کردن توی " ایپ تورام "
d_ee[n_remut-1][3]
اعمال نکردید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
----------------------------------------------------کد:if(!f_ok && n_remut < n_eeprom) { n_remut++; delay_ms(10); if(n_remut == 1) { t_remut = d_remut[3]; delay_ms(10); } d_ee[n_remut-1][0] = d_remut[0]; delay_ms(10); d_ee[n_remut-1][1] = d_remut[1]; delay_ms(10); d_ee[n_remut-1][2] = d_remut[2]; :question: delay_ms(10); }
9:
سلامتی
آقای اسدی کجایی که به دادم برسی
برنامه خیلی عالی کار میکنه
ولی تغییرات میخام بدم روش
1_فقط و فقط یک کلید از ریموت کنترل روی گیرنده ذخیره بشه و 14 حالت بعدی رو نمیخام ذخیره کنه
میخام هر کلید از ریموت رو تک تک به گیرنده لرن کنم
و برای لرن کلید های بعدی keyLrn دوباره فشرده بشه بعد کلید بعدی رو تعریف کنم بعد این که تعریف شد از حالت لرن خارج بشه و کلید بعدی و ادامه......
خواهش میکنم کمکم کنید
فارس بگید
برنامه نویسی نمیخاد بگید
ممنونم
طاعات قبول حق
در انتظار فرج!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!
درپناه حق.........................................
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
بازم تشکر میکنم.مشکل اصلی بنده در ارتباط بین دو ماژول هست .چند تا سوال:
1-آیا برای ارتباط از هر پین عادی میکرو میشه استفاده کرد یا به پین هایی مثل RX یا TX نیاز هست؟یا ......؟
2-پروتکل ارتباطی خاصی نیاز داره یا باید خودمون تعریف کنیم؟اگر داره چیه؟ و اگر خودمون تعریف باید بکنیم قالب کلی اش چطوریه؟
3-با توجه به نوع مدولاسیون این نوع ماژول ارسال اطلاعات بصورت صفرو یک باید باشد یا پالس با طول موجهای متفاوت؟ یا .....؟
4-لطفا اگر براتون ممکن است یک مثال عملی در مورد ارسال اطلاعات از ماژول فرستنده و دریافت آن از طرف گیرنده ارائه دهید
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
تو بحث فرستنده که هیچ مشکلی ندارید!نوشته اصلی توسط leaderبازم تشکر میکنم.
منظور از اینکه گیرنده رو خودم ساختم رو متوجه نشدم .اجازه بدید کامل توضیح دهم.قسمت فرستنده شامل یک عدد ماژول tx315+ یک عددمیکروبا مخلفاتش+4عدد سویچ میننیاتوری فشاری هست و قسمت گیرنده شامل چهار عدد گیرنده که هرکدام از گیرندهاشامل یک عدد ماژولrx315+ یک عدد میکرو با مخلفاتش+یک عدد LEDبه جای رله گزاشتمش. پس ما یک فرستنده داریم و چهار گیرنده جداگانه .فرستنده چهار عدد سویچ مینیاتوری دارد که هرکدام ازاین سویچها برای راه اندازی رله موجود در یک گیرنده هست.بدین ترتیب که سویچ یک برای رله یک سویچ دو برای رله دو و ....
فرض کنیم کل سیستم اماده باشه در این صورت ابتدا تک تک گیرنده ها که لرن هستند را با فرستنده ست میکنم و سپس سویچ شماره یک فرستنده را اگر فشار دهیم LED گیرنده شماره یک روشن میشود و با فشار دوباره خاموش میشودو اگر سویچ شماره دو را فشار دهیم LED گیرنده شماره دو روشن میشود و الی اخر.
ماژولهای استفاده شده از بهترین جنس موجود در بازار هستند.
هیچ کدی اعم از فرستنده یا گیرنده رو ندارم متاسفانه . به عبارتی بلد نیستم .مطالب مربوط به این پنجاه صفحه رو هم چندین با خوندم ولی مشکل هنوز پابرجاست. تنها چیزی که به ذهن ناقصم رسید این بود که جهت بالا بردن امنییت سیستم کار ev1525رو تو میکرو فرستنده شبیه سازی کنم که اونم نمیدونم شدنیه یا نه.
گیرنده ها رو باید توسط لرنینگ با فرستنده ست بکنم که اونم نمیدونم چطوریه
تنها کافیه شما یه پروتکل برای خودتون تعریف کنید که مثلا با دریافت کد 10000010101110101010111010111110101111 گیرنده شماره یک و و کد ... گیرنده شماره 2 و ... فعال وغیر فعال بشه.بعبارتی شما باید یه کلید به هر گیرندتون نسبت بدید.
حالا باید به میکروتون طوری برنامه بدید که با فشردن هر دگمه کد متناظرش تولید بشه. یعنی هر دگمه کدی رو که مربوط به هر گیرنده هست رو تولید کنه.
اما تو بحث گیرنده باید کد هایی که در نظر گرفتید رو توی گیرنده هاتون ست کنید.بگید اگه کد دریافتی مثلا 10000010101110101010111010111110101111 بود رله رو فعال یا غیر فعال کنه.و اگر نه کاری نکنه.
حالا تو اجرای هر کدوم از این مراحل مشکل داشتید بگید که رو اون قسمت ریز بشیم.
- تشکرها 1
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
بازم تشکر میکنم.
منظور از اینکه گیرنده رو خودم ساختم رو متوجه نشدم .اجازه بدید کامل توضیح دهم.قسمت فرستنده شامل یک عدد ماژول tx315+ یک عددمیکروبا مخلفاتش+4عدد سویچ میننیاتوری فشاری هست و قسمت گیرنده شامل چهار عدد گیرنده که هرکدام از گیرندهاشامل یک عدد ماژولrx315+ یک عدد میکرو با مخلفاتش+یک عدد LEDبه جای رله گزاشتمش. پس ما یک فرستنده داریم و چهار گیرنده جداگانه .فرستنده چهار عدد سویچ مینیاتوری دارد که هرکدام ازاین سویچها برای راه اندازی رله موجود در یک گیرنده هست.بدین ترتیب که سویچ یک برای رله یک سویچ دو برای رله دو و ....
فرض کنیم کل سیستم اماده باشه در این صورت ابتدا تک تک گیرنده ها که لرن هستند را با فرستنده ست میکنم و سپس سویچ شماره یک فرستنده را اگر فشار دهیم LED گیرنده شماره یک روشن میشود و با فشار دوباره خاموش میشودو اگر سویچ شماره دو را فشار دهیم LED گیرنده شماره دو روشن میشود و الی اخر.
ماژولهای استفاده شده از بهترین جنس موجود در بازار هستند.
هیچ کدی اعم از فرستنده یا گیرنده رو ندارم متاسفانه . به عبارتی بلد نیستم .مطالب مربوط به این پنجاه صفحه رو هم چندین با خوندم ولی مشکل هنوز پابرجاست. تنها چیزی که به ذهن ناقصم رسید این بود که جهت بالا بردن امنییت سیستم کار ev1525رو تو میکرو فرستنده شبیه سازی کنم که اونم نمیدونم شدنیه یا نه.
گیرنده ها رو باید توسط لرنینگ با فرستنده ست بکنم که اونم نمیدونم چطوریه
- تشکرها 1
یک دیدگاه بنویسید:
-
پاسخ : پروژه کامل ریموت 4 کاناله رادیویی ASK لرنینگ
شما گیرنده رو خودتون ساختید؟نوشته اصلی توسط leaderبابابرقی از لطف و توجهتون سپاسگذارم.دقیقا هدفم از این قضیه اینه که توسط یک عدد ماژول فرستنده که با میکرو کنترول میشه بتونم چهار عدد رله جداگانه که هرکدام در یک برد جداگانه ای هستند را کنترول کنم به عبارتی یک فرستنده بتونه چهار گیرنده مستقل رو کنترل کنه بطوریکه خطایی وجود نداشته باشه.کل سیستم رو آماده کرده ام اما اطلاعات رو دقیقا نمیدونم چطوری بفرستم.کارهایی که انجام دادم عبارتند از ارسال یک کرکتر بصورت پشت سرهم و دریافت آن توسط گیرنده اما نتیجه بخش نبود.حالا موندم چیکار کنم.
کدی که گیرنده بگیره و فعال بشه رو دارید؟
اطلاعات در مورد گیرندتون بدید،آیا گیرنده قراره کدی رو لرن کنه؟
شما فرض کنید با ارسال کد 01011010101011 گیرنده 1 قراره فعال بشه ،شما دقیقا به صفر و یک کردن یه پایه رویمیکروتون و وصل کردن پایه میکرو به ماژول دقیقا همین کد رو تو فضا منتشر کنید.
اما اگر مشکل تو گیرندتون هست ،لطفا در مورد گیرنده اطلاعات کامل تری بدید.
یک دیدگاه بنویسید:
یک دیدگاه بنویسید: