فهرست مطالب:

شتاب سنج بی سیم Rgb-LED را کنترل می کند: 4 مرحله
شتاب سنج بی سیم Rgb-LED را کنترل می کند: 4 مرحله

تصویری: شتاب سنج بی سیم Rgb-LED را کنترل می کند: 4 مرحله

تصویری: شتاب سنج بی سیم Rgb-LED را کنترل می کند: 4 مرحله
تصویری: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, جولای
Anonim
شتاب سنج بی سیم Rgb-LED را کنترل می کند
شتاب سنج بی سیم Rgb-LED را کنترل می کند
شتاب سنج بی سیم Rgb-LED را کنترل می کند
شتاب سنج بی سیم Rgb-LED را کنترل می کند

MEMS (سیستم های میکرو الکترو مکانیکی) شتاب سنج ها به عنوان سنسورهای شیب در تلفن های همراه و دوربین ها استفاده گسترده ای می شود. شتاب سنج های ساده هم به صورت IC-chip و هم به صورت pcb ارزان قیمت در دسترس هستند.

تراشه های بی سیم نیز مقرون به صرفه هستند و در مدارهای مونتاژ در دسترس هستند ، با شبکه آنتن و سرپوش جدا شده در کشتی. هر دو برد بی سیم و شتاب سنج را از طریق رابط سریال به میکروکنترلر متصل کنید و یک کنترلر بی سیم با عملکردهای nintendo-wii دارید. سپس یک گیرنده با همان نوع تراشه بی سیم و rgb-LED های کنترل شده با pwm بسازید ، voila ، شما دارای رعد و برق اتاق رنگی بی سیم و کنترل شیب هستید. سطح فرستنده را با صفحه نان رو به بالا نگه دارید و LED آبی خنک است ، فقط LED آبی فعال است. سپس فرستنده را در یک جهت کج کنید و بسته به جهت کج شدن آن ، رنگ قرمز یا سبز را مخلوط کنید. تمام مسیر را تا 90 درجه کج کنید و همه مخلوط های قرمز و آبی یا سبز و آبی را پشت سر بگذارید تا زمانی که فقط قرمز یا سبز با شیب 90 درجه فعال شود. کمی در جهت x و y کج شوید و ترکیبی از همه رنگها را بدست آورید. در دمای 45 درجه در همه جهات ، نور ترکیبی برابر از قرمز ، سبز و آبی و به عبارت دیگر ، نور سفید است. قطعات مورد استفاده در فروشگاههای الکترونیکی سرگرمی اینترنتی موجود است. باید از روی برخی از تصاویر قابل تشخیص باشد.

مرحله 1: فرستنده با شتاب سنج

فرستنده با شتاب سنج
فرستنده با شتاب سنج
فرستنده با شتاب سنج
فرستنده با شتاب سنج
فرستنده با شتاب سنج
فرستنده با شتاب سنج
فرستنده با شتاب سنج
فرستنده با شتاب سنج

فرستنده بر اساس میکروکنترلر Atmel avr168 ساخته شده است. تخته قرمز مناسب با 168 یک برد آردوینو با تنظیم کننده ولتاژ و مدار بازنشانی است. شتاب سنج با گذرگاه i2c با ضربات کمی به avr متصل می شود و برد بی سیم با سخت افزار SPI ، (Serial Peripheral Interface) متصل است.

تخته نان کاملاً بی سیم است و بسته باتری 4 ، 8 ولت در زیر آن بسته شده است. برد بی سیم و آردوینو حداکثر تا 9 ولت را می پذیرد و دارای تنظیم کننده ولتاژ خطی روی صفحه است ، اما شتاب سنج نیاز به 3 ، 3 ولت از ریل تنظیم شده در شب دارد.

مرحله 2: گیرنده با RGB-LED

گیرنده با RGB-LED
گیرنده با RGB-LED
گیرنده با RGB-LED
گیرنده با RGB-LED
گیرنده با RGB-LED
گیرنده با RGB-LED

گیرنده بر اساس نسخه نمایشی atmel avr169 به نام پروانه ساخته شده است. این برد دارای ویژگی های زیادی است که در این پروژه استفاده نشده است. ترنسیور بی سیم به PortB و led کنترل شده با pwm به PortD متصل است. منبع تغذیه ISP-header تامین می شود ، 4.5 ولت کافی است. برد بی سیم می تواند 5 ولت را روی پین های ورودی/خروجی تحمل کند ، اما به منبع تغذیه 3.3 ولت نیاز دارد که توسط تنظیم کننده داخلی تأمین می شود.

کابل سربرگ اصلاح شده برای rf tranceiver بسیار راحت است و برد بی سیم را با کنترل کننده قدرت و سخت افزار spi روی پروانه متصل می کند. shiftbright یک کنترل کننده مدولاسیون عرض پالس به رهبری rgb است که یک فرمان 4 بایت را می پذیرد که در پینهای خروجی قفل شده و سپس قفل می شود. اتصال به صورت سری بسیار آسان است. کافی است بسیاری از کلمات فرمان را جابجا کنید ، و اولین تغییر مکان به آخرین LED متصل در زنجیره دیزی تبدیل می شود.

مرحله 3: برنامه نویسی C

کد به زبان C نوشته شده است زیرا من به یادگیری زبان پردازش "آسان" که آردوینو بر اساس آن اهمیتی نمی دهد ، اهمیتی نمی دهم. من برای تجربه یادگیری ، رابط SPI و rf tranceiver را نوشتم ، اما کد مونتاژ i2c را از avrfreaks.net وام گرفتم. رابط shiftbright در کد C bitbanged شده است. یکی از مشکلاتی که من با آن روبرو شدم ، تغییرات کوچک پرتودهی در خروجی شتاب سنج بود ، این باعث شد سوسو زدن LED بسیار زیاد شود. من این را با یک فیلتر کم گذر نرم افزاری حل کردم. میانگین وزنی متحرک در مقادیر شتاب سنج. rf-tranceiver از سخت افزار crc پشتیبانی می کند و با انتقال مجدد خودکار همراه است ، اما برای این پروژه به روزرسانی صاف در زمان واقعی از اهمیت بیشتری برخوردار بود. هر بسته ای با مقادیر شتاب سنج نیازی به دست نخورده رسیدن به گیرنده ندارد ، مادامی که بسته های خراب دور ریخته شوند. من هیچ مشکلی با بسته های RF گم شده در فاصله 20 متری دید ندارم. اما دورتر پیوند ناپایدار شد و led ها به طور مداوم به روز نمی شوند. حلقه اصلی فرستنده در شبه کد: مقداردهی اولیه () ؛ در حالی که (درست) {مقادیر = abs (مقادیر شتاب سنج x ، y ، z را دریافت کنید))؛ RF_send (مقادیر) ؛ تاخیر (20 میلی ثانیه) ؛} حلقه اصلی گیرنده در شبه کد: مقداردهی اولیه () ؛ در حالی که (درست) {newValues = blocking_receiveRF ()) ؛ rgbValues = rgbValues + 0.2*(newValues-rgbValues) ؛ rgbValues را به shiftbrigth بنویسید؛}

مرحله 4: نتیجه

نتیجه
نتیجه
نتیجه
نتیجه
نتیجه
نتیجه
نتیجه
نتیجه

من از کنترل صاف و دقیق آن شگفت زده شدم. شما واقعاً کنترل دقیق رنگ را با نوک انگشتان دارید. کنترل کننده pwm-LED دارای وضوح 10 بیت برای هر رنگ است که میلیون ها رنگ ممکن را ایجاد می کند. متأسفانه شتاب سنج دارای وضوح 8 بیت است که تعداد رنگهای نظری را به هزاران می رساند. اما هنوز نمی توان قدم در تغییر رنگ برداشت. گیرنده را در لامپ IKEA قرار دادم و از رنگهای مختلف عکس زیر را گرفتم. یک ویدیو نیز وجود دارد ، (هر چند کیفیت وحشتناک)

توصیه شده: