پروژه ریموت کنترل کد لرنینگ توسط STM32

به نام خدا و با سلام خدمت همه دوستان

در این مطلب یکی از پروژه هایی که یه خرده اذیتم کرد رو باهاتون به اشتراک میذارم

این پروژه قراره ریموت های کد لرن موجود در بازار رو دیکد کنه و و کد اونها رو در حافظه EEPROM میکروکنترلر STM32 ذخیره کنه.

در این مطب من یک اموزش واقعی یادتون میدم که خودتون بتونید کدشو بزنید.تقریبا همه سایتاهای ایرانی و خارجی رو بررسی کردم هیچ کدوم واضح بیان نکرده بودن.

برای بخش فرستنده که تکلیف مشخصه قراره از ریموت های 433مگاهرتز تو بازار استفاده کنیم که تصویرشو میبینید،البته فرستنده رو هم میشه خودمون طراحی کنیم که در آینده قرارش میدم.

ریموت 4 کانال 433MHz بدنه فلزی کد لرن مدل استاندارد

لینک بررسی این ریموت

ای سی فرستنده سیگنال این ریموت ها معمولا EV1527 هستش که البته با IC های مشابه هم مشکلی نداریم.

تراشه EV1527 یکی از محبوب ترین IC های انکدر به جهت کد گذاری داده های ارسالی توسط ریموت کنترلر های ماشین و درب های کنترلی است که می تواند اطلاعات را به شیوه لرنینگ ، کد گذاری نماید . این تراشه دارای 4 ورودی کلید است که با اعمال ورودی به آن ، یک خروجی سریال تولید می شود و می توان آن را به یک فرستنده ASK یا FSK اعمال نمود .

فرمت سیگنال خروجی در این تراشه از سه قسمت سیگنال آغاز گر ، کد امنیتی و اطلاعات تشکیل می شود که سیگنال امنیتی از یک پالس 1 منطقی و 31 پالس صفر منطقی تشکیل شده است . بعد از سیگنال راه انداز 96 پالس ارسال می شود که 80 پالس مربوط به کد امنیتی و 16 پالس مربوط به اطلاعات می شود . به این صورت که هر بیت از سیگنال کد امنیتی و یا اطلاعات توسط 4 پالس کد می شود . روش کار به این صورت است که اگر یک پالس 1 منطقی و سه پالس صفر منطقی ارسال شود منظور عدد 0 و در صورتی که سه پالس یک منطقی و یک پالس صفر منطقی ارسال شود ، منظور 1 منطقی است . بنابر این در کل می توان برای ارسال یک داده 4 بیتی باینری که توسط کلید به تراشه اعمال شده است ، 128 پالس ارسال می شود که 32 پالس کد آغاز گر ، 80 پالس کد امنیتی و 16 پالس مربوط به سیگنال اطلاعات می باشد .

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

فرکانس کاری این ریموت فرستنده 433 مگا هرتز هستش پس برای ریسیور گیرنده هم ما باید از ریسیور 433 مگاهرتز استفاده کنیم

ریسیور های گیرنده قدیمی به صورت شکل زیر هستن:

ماژول گیرنده ASK DX-RF 433

این ریموت یکم دقت پایینی دارن که در ادامه  ریموت های سوپر هیترودین تولید شدن:

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

مشخصاتشونم به صورت زیر هستش:

Receiver Module Key Feature:

Receiving method: superheterodyne reception
Power supply voltage: DC5V + 0.5V
Working current: <2.5mA (315M) <4.5mA (433M)
Receiving frequency: 315/433.92MHZ+ 100KHZ
Receive sensitivity: -107dBm
Rate: 10 Kbps
Size: 30mm*9.3mm*4mm

 PT226x , FP527 And HCSXXX Remote control

خروجی پایه دیتای ریموت به چه صورت است؟

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

موقعی که تغذیه ریموت رو متصل میکنیدخروجی ریموت به این صورته و چیز خاصی نداره:

 

 

به محض اینکه دکمه ای توسط ریموت فشار داده شد دیتا به صورت زیر پریود میشه و این پریود تا زمانی که دستمون رو دکمه باشه ادامه داره:

تصویر بعدی با جزئیات بیشتر:

به تصویر بالا که دیتای ریموت زوم شده نگاه کنید.

عرض یه سری از پالس ها زیاد و عرض یه سری کمه.

پالسهایی که عرض یک بودنشون بیشتره به عنوان دیتای 1 و پالس هایی که عرض یک بودنشون کمتره به عنوان دیتای صفر از طریق پایه دیتا به میکرو کنترلر منتقل میشن

شما به روش های مختلف تایمر کپچر.وقته و تایمر . دوتایمر میتونید دیتارو بخونید.

فیلم توضیحات دیتای خروجی ریموت رو هم براتون اپلود کردم که ببینید:

چه زمانی باید شروع به خوندن دیتای ریموت کنیم؟

به محض اینکه یک کلید از از ریموت فشرده میشه شما یک پالس دریافت میکنید و بعدش به مدت حدودا 12 میلی  ثانیه صفر دارید که به این حالت میگن paramble

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

هر ریموت20 بیت آدرس داره + 4 بیت کلید

به عنوان مثال:

k1:010101100111101011111000
k2:010101100111101011110100‌
k3:010101100111101011110010‍
k4:010101100111101011110001

شما باید ادرس رو بگیرید در میکرو ذخیره کنید که میشه عملیات لرنینگ.

بعد دوباره که ادرس ریموتی رو خوندید با ادرس ذخیره شده مقایسه کنید اگر اوکی بود بیایید وضعیت دیتای کلیدهارو چک کنید که به صورت باینری هستن به خاطر همین بعضی ریموت ها 16 تا کلید دارن چون با 4 حالت باینری میتونید 16 حالت داشته باشید.

ریموت کنترلر کد لرن 433MHZ توسط میکرو STM32F1 

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

در فیلم زیر هم نحوه عملکرد ریموت کنترلر کد لرن توسط stm32  رو میبینید که دیتا و ادرس ریموت پرینت و ذخیره میشه

برای تهیه پروژه میتوانید از طریق لینک زیر اقدام کنید:

به راحتی کد رو میشه برای هر میکرویی از چنج کرد.

این برنامه بسیار حرفه ای نوشته شده و برای خواندن ریموت فقط از یک تایمر استفاده شده که کمترین محاسبات رو روی میکروی شما میذاره.

ریموت کنترلر کد لرن 315MHZ توسط میکرو STM32F0 

در ادامه راه اندازی ریموت کنترلر کد لرن را داریم با ریسیور 315 MHz و ریموت 315Mhz که توسط میکروی stm32f0 انجام شده.
این پروژه به زبان سی و در کامپایلر keil نوشته شده و از توابع hal و کیوب استفاده شده است.
قابلیت کنترلر 4 عدد رله به صورت تاگل را دارد و همچنین کد ریموت در حافظه EEPROM داخلی میکرو که یک EEPROM emulation است ذخیره می‌شود.
برای لرن کردن ریموت کافیست دکمه لرن را نگه دارید و یکی از دکمه های ریموت را فشار دهید، در این حالت lcd روی برد 5 بار چمشمک می‌زند و ریموت لرن می‌شود.
برای پاک کردن ریموت هم دکمه دیلیت را فشار دهید و یکی از دکمه های ریموت را بزنید، کد ریموت پاک از حافظه ایپرام پاک می‌شود.
در ویدئو زیر نحوه عملکرد ریموت و ریسیور 315mhz را توسط میکرو stm32f0 می‌بینید:

موفق باشید.

اضافه کردن به سبدخرید

 

mehdi sehati

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

مطالب مرتبط

دیدگاه بگذارید

avatar
فارسی سازی پوسته توسط: همیار وردپرس