فهرست مطالب:

کنترل از راه دور ATtiny85 RF: 3 مرحله
کنترل از راه دور ATtiny85 RF: 3 مرحله

تصویری: کنترل از راه دور ATtiny85 RF: 3 مرحله

تصویری: کنترل از راه دور ATtiny85 RF: 3 مرحله
تصویری: آموزش میکروکنترلر بخش اول 2024, نوامبر
Anonim
کنترل از راه دور ATtiny85 RF
کنترل از راه دور ATtiny85 RF

توجه: "بازی مخفی و جستجوی مجازی" قابل استفاده من نحوه استفاده از این نوع ریموت را با ماژول RXC6 نشان می دهد که به طور خودکار پیام را رمزگشایی می کند.

همانطور که در دستورالعمل قبلی اشاره کردم ، اخیراً بازی با برخی از تراشه های ATtiny85 را شروع کردم. پروژه اولیه ای که در ذهن داشتم ساخت یک کنترل از راه دور RF بود که می توانست با باتری سکه کار کند. من نیاز به یک تراشه خام داشتم زیرا هیچ یک از آردوینوهایی که دارم نمی تواند نیاز به قدرت بسیار کم و اندازه نسبتاً کوچک را برطرف کند. LilyPad اصلاح شده نزدیک شد اما تراشه پاسخ بهتری است. این ایده نه برای تکثیر یک کنترل از راه دور موجود ، بلکه برای نشان دادن این بود که چگونه می توانید مجموعه فرستنده و گیرنده خود را بسازید. علاوه بر اینکه یک پروژه یادگیری سرگرم کننده است ، همچنین به شما امکان می دهد ترکیب کد "مخفی" خود را ایجاد کنید. من "راز" را در نقل قول ها قرار می دهم زیرا شکستن این کدهای ساده بسیار آسان است.

مرحله 1: قالب پیام RF

فرمت پیام RF
فرمت پیام RF

برای این پروژه من انتخاب کردم که سیگنال های یکی از سوئیچ های بی سیم Etekcity RF خود را تکرار کنم (به دستورالعمل من در این ماژول ها مراجعه کنید). من این کار را کردم زیرا می توانستم تأیید کنم که فرستنده من با گیرنده Etekcity کار می کند و گیرنده من با کنترل از راه دور Etekcity کار می کند. من همچنین دقیقاً می دانم کدها و قالب صحیح آن دستگاه ها چیست زیرا قبلاً آنها را ضبط کرده بودم. برای طرح ضبط کد به "رمزگشای Arduino RF Sensor Decoder" من مراجعه کنید.

کدها و فرمت های خروجی Etekcity برای دستگاههای ارزان قیمت RF بسیار معمول است. من دستگاه های امنیتی ارزان قیمتی دارم که از فرمت های بسیار مشابه و تنها با تغییرات زمانی استفاده می کنند. طول پیام 24 بیت مناسب با بیت شروع طولانی و بیت توقف کوتاه است. به راحتی می توانید کد را برای افزودن بایت بیشتر داده و تغییر زمان همگام سازی و بیت های داده تغییر دهید. دوباره ، این طرح فقط یک الگوی شروع است.

مرحله 2: سخت افزار

سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار

فرستنده با باتری سکه ای (2032) کار می کند بنابراین مصرف کم انرژی کلیدی است. بیشتر اینها در نرم افزار انجام می شود اما این واقعیت که ATtiny85 به طور معمول بر روی ساعت داخلی 1 مگاهرتز کار می کند ، کمک می کند. قانون این است که فرکانس های ساعت کمتر به قدرت کمتری نیاز دارند و 1 مگاهرتز برای منطق فرستنده مناسب است.

ماژول فرستنده RF واقعی که من دوست دارم از آن استفاده کنم FS1000A است که معمولاً در دسترس است. در دو نسخه 433 مگاهرتز و 315 مگاهرتز عرضه می شود. این نرم افزار برای شما مهم نیست که از کدام یک استفاده می کنید ، اما باید مطمئن شوید که برد گیرنده با فرکانس یکسان کار می کند. اکثر پروژه های من از دستگاه های 433 مگاهرتز استفاده می کنند زیرا این همان چیزی است که توسط دستگاه های بی سیم ارزان قیمت جمع آوری شده استفاده می شود. طرح برد فرستنده که در تصویر نشان داده شده است به خوبی در یک بطری قرص قدیمی قرار می گیرد. این زیبا نیست اما برای اثبات مفهوم به اندازه کافی خوب است.

گیرنده روی یک نان برد بدون لحیم کاری است زیرا تنها هدف آن نشان دادن نحوه دریافت سیگنال ها و نحوه روشن/خاموش کردن چیزی بر اساس کدهای دریافتی است. از LED برای نشان دادن وضعیت روشن/خاموش استفاده می کند اما می توانید آن را با درایور رله و غیره جایگزین کنید. هر Arduino را می توان برای گیرنده استفاده کرد زیرا نیازی به خالی شدن باتری ندارد. اگر اندازه هنوز هم مورد توجه است می توانید از تراشه ATtiny85 دیگری استفاده کنید. نکته اصلی این است که ATtiny85 باید در گیرنده 8 مگاهرتز کار کند. برای طرح ساده ای که تأیید می کند ساعت داخلی را با موفقیت به 8 مگاهرتز تغییر داده اید ، به ATtiny85 Instructable قبلی من مراجعه کنید. در انتهای دستورالعمل رمزگشایی سنسور ، من یک نسخه آردوینو نانو از نرم افزار گیرنده را شامل می شود. این نسخه مشابه ATtiny85 است که در اینجا گنجانده شده است به جز چند تفاوت تراشه تراشه.

همانطور که در دستورالعمل RF قبلی خود توضیح دادم ، ترجیح می دهم از گیرنده ای مانند RXB6 معمولی استفاده کنم. این یک گیرنده فوق هترودین است که بسیار بهتر از گیرنده های فوق احیا کننده که معمولاً با فرستنده های FS1000A همراه هستند کار می کند.

هر دو ماژول فرستنده و گیرنده با آنتن های مناسب بهتر کار می کنند اما اغلب عرضه نمی شوند. می توانید آنها را بخرید (فرکانس مناسب را دریافت کنید) یا می توانید خودتان بسازید. در 433 مگاهرتز ، طول مناسب برای آنتن مستقیم مستقیم حدود 16 سانتی متر است. برای ساخت سیم پیچ دار ، حدود 16 سانتی متر سیم عایق و جامد را بردارید و آن را به دور یک پیچ مانند یک ساقه مته 5/32 اینچی در یک لایه بپیچید. عایق را از یک قسمت مستقیم کوتاه در یک سر جدا کرده و آن را به برد فرستنده/گیرنده خود وصل کنید. من دریافتم که سیم حاصل از یک کابل اترنت ضایعاتی برای آنتن ها خوب کار می کند. برد فرستنده معمولاً مکانی برای لحیم کاری آنتن دارد اما برد گیرنده ممکن است فقط پین داشته باشد (مانند RXB6). فقط مطمئن شوید که اگر اتصال را لحیم نمی کنید ، ایمن است.

مرحله 3: نرم افزار

نرم افزار فرستنده از تکنیک های متداول برای قرار دادن تراشه در حالت خواب استفاده می کند. در آن حالت کمتر از 0.2ua جریان را می کشد. ورودی های سوئیچ (D1-D4) دارای مقاومت کششی داخلی هستند اما تا زمانی که سوئیچ فشار داده نشود هیچ جریانی را نمی کشند. ورودی ها برای وقفه در تغییر (IOC) پیکربندی شده اند. هنگامی که سوئیچ فشار داده می شود ، وقفه ایجاد می شود و تراشه را مجبور می کند از خواب بیدار شود. کنترل کننده وقفه حدود 48 ثانیه تأخیر را انجام می دهد تا اجازه خروج از سوئیچ را بدهد. سپس بررسی می شود که کدام کلید فشار داده شده و روال مناسب فراخوانی می شود. پیام منتقل شده چندین بار تکرار می شود (من 5 بار انتخاب کردم). این معمولی در مورد فرستنده های تجاری است زیرا ترافیک RF زیادی در 433 مگاهرتز و 315 مگاهرتز وجود دارد. پیام های مکرر به شما اطمینان می دهد که حداقل یکی به گیرنده برسد.

زمان همگام سازی و بیت در جلوی نرم افزار فرستنده تعریف شده است اما بایت داده ها در هر یک از روالهای چهار دکمه تعبیه شده است. تغییر آنها واضح و آسان است و افزودن بایت برای ایجاد پیام طولانی تر نیز آسان است. همه تعریف های یکسان در نرم افزار گیرنده و همچنین تعاریف بایت داده گنجانده شده است. اگر بایت های داده را به پیام خود اضافه می کنید ، باید تعریف "Msg_Length" را تغییر داده و بایت را به متغیر "RF_Message" اضافه کنید. شما همچنین باید کد را به بررسی "RF_Message" در "حلقه" اضافه کنید تا دریافت مناسب بایت های اضافی را تأیید کرده و آن بایت ها را تعریف کنید.

توصیه شده: