SILICON LABS Lab 3B - راهنمای کاربر روشن/خاموش را تغییر دهید
این تمرین عملی نشان می دهد که چگونه می توان در یکی از s ها تغییر ایجاد کردampبرنامه هایی که به عنوان بخشی از Z-Wave SDK ارسال می شوند.
این تمرین بخشی از مجموعه "دوره 1 روزه موج Z" است.
- از SmartStart استفاده کنید
- با استفاده از Zniffer فریم های Z-Wave RF را رمزگشایی کنید
- 3A: کامپایل سوئیچ روشن/خاموش و فعال کردن Debug
3B: روشن/خاموش کلید را تغییر دهید - دستگاه های FLiRS را درک کنید
ویژگی های کلیدی
- GPIO را تغییر دهید
- پیاده سازی PWM
- از LED RGB روی برد استفاده کنید
1. مقدمه
این تمرین بر روی تمرین قبلی "3A: Compile Switch On/Off and enable debug" ساخته شده است، که نحوه کامپایل و استفاده از Switch On/Off را نشان می دهد.ampبرنامه کاربردی
در این تمرین ما اصلاحاتی را در s انجام خواهیم دادampبرنامه، با تغییر GPIO که LED را کنترل می کند. علاوه بر این، ما از یک LED RGB استفاده خواهیم کرد و نحوه استفاده از PWM برای تغییر رنگ را یاد خواهیم گرفت.
1.1 الزامات سخت افزاری
- 1 هیئت توسعه اصلی WSTK
- 1 برد توسعه رادیویی Z-Wave: ماژول SiP ZGM130S
- 1 کنترلر UZB
- 1 USB Zniffer
1.2 نرم افزار مورد نیاز
- Simplicity Studio نسخه 4
- Z-Wave 7 SDK
- کنترلر کامپیوتر Z-Wave
- Z-Wave Zniffer
شکل 1: برد اصلی توسعه با ماژول Z-Wave SiP
1.3 پیش نیازها
تمرینات قبلی Hands-On نحوه استفاده از PC Controller و برنامه Zniffer را برای ایجاد شبکه Z-Wave و گرفتن ارتباطات RF برای اهداف توسعه پوشش داده است. این تمرین فرض می کند که شما با این ابزارها آشنا هستید.
تمرینات قبلی Hands-On نحوه استفاده از s را نیز پوشش داده استampبرنامه هایی که با Z-Wave SDK ارسال می شوند. این تمرین فرض می کند که شما با استفاده و تدوین یکی از s آشنا هستیدampبرنامه های کاربردی
چارچوب Z-Wave دارای یک لایه انتزاعی سخت افزاری (HAL) است که توسط board.h و board.c تعریف شده است و امکان پیاده سازی برای هر یک از پلتفرم های سخت افزاری شما را فراهم می کند.
لایه انتزاعی سخت افزار (HAL) کد برنامه بین سخت افزار یک سیستم و نرم افزار آن است که یک رابط ثابت برای برنامه هایی که می توانند بر روی چندین پلتفرم سخت افزاری مختلف اجرا شوند، فراهم می کند. برای پیشبردtagاز این قابلیت، برنامه ها باید از طریق API ارائه شده توسط HAL به سخت افزار دسترسی داشته باشند و نه مستقیم. سپس، هنگامی که به سخت افزار جدید منتقل می شوید، فقط باید HAL را به روز کنید.
2.1 S را باز کنیدampپروژه le
برای این تمرین باید کلیدهای روشن/خاموش را باز کنیدampبرنامه کاربردی اگر تمرین «3A Compile Switch OnOff and Enable Debug» را انجام داده اید، باید قبلاً در Simplicity Studio IDE شما باز شده باشد.
در این بخش به بررسی تابلو خواهیم پرداخت fileو نحوه راه اندازی اولیه LED ها را درک کنید.
- از اصلی file "SwitchOnOff.c"، "ApplicationInit()" را بیابید و به تماس Board_Init () توجه کنید.
- دوره خود را روی Board_Init() قرار دهید و F3 را فشار دهید تا اعلان باز شود.
3. در Board_Init() توجه کنید که چگونه LED های موجود در BOARD_LED_COUNT توسط Board_Con-figLed() مقداردهی اولیه می شوند.
4. دوره آموزشی خود را روی BOARD_LED_COUNT قرار دهید و F3 را فشار دهید تا اعلامیه باز شود.
5. LED های تعریف شده در led_id_t به شرح زیر است:
6. به تخته برگردید.ج file.
7. دوره آموزشی خود را روی Board_ConfigLed() قرار دهید و F3 را فشار دهید تا اعلان باز شود.
8. توجه داشته باشید که تمام LED های تعریف شده در led_id_t سپس در Board_ConfigLed() به عنوان خروجی پیکربندی شده اند.
این بدان معناست که همه LED های روی برد توسعه از قبل به عنوان خروجی تعریف شده و آماده استفاده هستند.
3. تغییری در Z-Wave S ایجاد کنیدample برنامه
در این تمرین، GPIO های مورد استفاده برای LED در کلیدهای روشن/خاموش را تغییر خواهیم داد.ampبرنامه کاربردی در بخش قبل یاد گرفتیم که چگونه تمام LED های روی برد توسعه از قبل به عنوان خروجی اولیه و آماده استفاده هستند.
3.1 از LED RGB استفاده کنید
ما از LED RGB داخلی در ماژول توسعه Z-Wave به جای LED روی برد دکمه استفاده خواهیم کرد.
1. تابع RefreshMMI را، همانطور که در شکل 6 مشاهده می کنید، در برنامه اصلی SwitchOnOff.c بیابید. file.
شکل 6: RefreshMMI بدون هیچ گونه تغییری
2. ما از تابع "Board_SetLed" استفاده می کنیم اما GPIO را به تغییر می دهیم
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. همانطور که در شکل 3 نشان داده شده است، 7 بار در هر دو حالت OFF و در حالت ON، "Board_SetLed" را فراخوانی کنید.
اصلاحات جدید ما اکنون پیاده سازی شده است و شما آماده کامپایل هستید.
مراحل برنامه ریزی یک دستگاه در تمرین "3A Compile Switch OnOff and enable Debug" پوشش داده شده است و به طور خلاصه در اینجا تکرار شده است:
- روی "ساخت" کلیک کنید
دکمه شروع ساخت پروژه
- پس از اتمام ساخت، پوشه "Binaries" را گسترش دهید و روی *.hex کلیک راست کنید file برای انتخاب "Flash to Device...".
- سخت افزار متصل را در پنجره پاپ آپ انتخاب کنید. "برنامه نویس فلش" اکنون با تمام داده های مورد نیاز از قبل پر شده است و شما آماده هستید تا روی "برنامه" کلیک کنید.
- روی "برنامه" کلیک کنید.
پس از مدت کوتاهی برنامهنویسی به پایان میرسد، و دستگاه پایانی شما اکنون با نسخه تغییر یافته Switch On/Off فلش میشود.
3.1.1 عملکرد را آزمایش کنید
در تمرینهای قبلی، دستگاه را با استفاده از SmartStart در یک شبکه امن Z-Wave قرار دادهایم. برای دستورالعمل ها به تمرین "شامل استفاده از SmartStart" مراجعه کنید.
اشاره داخلی file سیستم بین برنامه ریزی مجدد پاک نمی شود. این به یک گره اجازه می دهد تا در یک شبکه بماند و کلیدهای مشابه شبکه را هنگام برنامه ریزی مجدد نگه دارد.
اگر نیاز دارید که مثلاً فرکانس کار ماژول یا DSK را تغییر دهید، قبل از اینکه فرکانس جدید در NVM داخلی نوشته شود، باید تراشه را "Erase" کنید.
به این ترتیب، دستگاه شما قبلاً در شبکه گنجانده شده است.
با تأیید اینکه میتوانید LED RGB را روشن و خاموش کنید، عملکرد را آزمایش کنید.
- عملکرد را با استفاده از "Basic Set ON" و "Basic Set OFF" در کنترلر PC آزمایش کنید. LED RGB باید روشن و خاموش شود.
- LED RGB همچنین می تواند با استفاده از BTN0 روی سخت افزار روشن و خاموش شود.
اکنون تأیید کردهایم که اصلاحات مطابق انتظار کار میکند و GPIO مورد استفاده در S را با موفقیت تغییر دادهایمample برنامه
3.2 مولفه رنگ RGB را تغییر دهید
در این بخش، LED RGB را اصلاح می کنیم و سعی می کنیم اجزای رنگ را با هم ترکیب کنیم.
یک رنگ در مدل رنگی RGB با نشان دادن مقداری از هر یک از قرمز، سبز و آبی توصیف میشود. رنگ به عنوان یک سه گانه RGB (r,g,b) بیان می شود که هر جزء آن می تواند از صفر تا حداکثر مقدار تعریف شده متفاوت باشد. اگر همه اجزا در صفر باشند، نتیجه سیاه است. اگر همه در حداکثر باشند، نتیجه روشن ترین سفید قابل نمایش است.
از ویکی پدیا به بعد مدل رنگ RGB.
از آنجایی که ما تمام اجزای رنگ را در بخش قبل فعال کردیم، LED RGB هنگامی که روشن است سفید است. با روشن و خاموش کردن تک تک اجزا، می توانیم LED را تغییر دهیم. علاوه بر این، با تنظیم شدت هر یک از اجزای رنگ، میتوانیم تمام رنگها را در بین آنها بسازیم. برای آن، ما از PWM برای کنترل GPIO ها استفاده خواهیم کرد.
- در ApplicationTask() PwmTimer را مقداردهی اولیه کنید و پایه های RGB را روی PWM تنظیم کنید، همانطور که در شکل 9 نشان داده شده است.
- در RefreshMMI()، از یک عدد تصادفی برای هر جزء رنگی استفاده خواهیم کرد. با استفاده از rand() هر بار که LED روشن می شود مقدار جدیدی دریافت کنید.
- از DPRINTF() برای نوشتن مقدار جدید تولید شده در پورت اشکال زدایی سریال استفاده کنید.
- به منظور استفاده از مقدار تصادفی، Board_SetLed() را با Board_RgbLedSetPwm() جایگزین کنید.
- برای RefreshMMI() به روز شده به شکل 10 مراجعه کنید.
شکل 10: RefreshMMI به روز شده با PWM
اصلاحات جدید ما اکنون پیاده سازی شده است و شما آماده کامپایل هستید.
- روی "ساخت" کلیک کنید
دکمه شروع ساخت پروژه
- پس از اتمام ساخت، پوشه "Binaries" را گسترش دهید و روی *.hex کلیک راست کنید file برای انتخاب "Flash to Device...".
- سخت افزار متصل را در پنجره پاپ آپ انتخاب کنید. "برنامه نویس فلش" اکنون با تمام داده های مورد نیاز از قبل پر شده است و شما آماده هستید تا روی "برنامه" کلیک کنید.
- روی "برنامه" کلیک کنید.
پس از مدت کوتاهی برنامهنویسی به پایان میرسد، و دستگاه پایانی شما اکنون با نسخه تغییر یافته Switch On/Off فلش میشود.
3.2.1 عملکرد را آزمایش کنید
با تأیید اینکه میتوانید رنگ LED RGB را تغییر دهید، عملکرد را آزمایش کنید.
- عملکرد را با استفاده از "Basic Set ON" در کنترلر کامپیوتر آزمایش کنید.
- برای مشاهده تغییر رنگ، روی "Basic Set ON" کلیک کنید.
اکنون تأیید کردهایم که اصلاح طبق انتظار عمل میکند و با موفقیت GPIO را برای استفاده از PWM تغییر دادهایم.
4 بحث
در این تمرین ما کلید روشن/خاموش را از کنترل یک LED ساده به کنترل یک LED چند رنگ تغییر دادیم. بسته به مقادیر PWM، اکنون می توانیم به هر رنگ و شدتی تغییر دهیم.
- آیا باید از "سوئیچ باینری" به عنوان نوع دستگاه برای این برنامه استفاده شود؟
- کدام کلاس های فرمان برای یک LED چند رنگ مناسب تر هستند؟
برای پاسخ به سوال باید به مشخصات Z-Wave مراجعه کنید:
- مشخصات نوع دستگاه Z-Wave Plus v2
- مشخصات کلاس فرمان برنامه Z-Wave
این آموزش نحوه تغییر و تغییر GPIO یک Z-Wave S را به پایان می رساندampبرنامه کاربردی
اطلاعات بیشتر درباره این راهنما و دانلود PDF:
اسناد / منابع
![]() |
SILICON LABS Lab 3B - تغییر سوئیچ روشن/خاموش [pdfراهنمای کاربر Lab 3B, Modify Switch, On, Off, Z-Wave, SDK |