Цахиурын лого

SILICON LABS Lab 3B – Асаах/унтраах хэрэглэгчийн гарын авлагыг өөрчлөх

SILICON LABS Lab 3B - Шилжүүлэгчийг асаах/унтраах

Энэхүү практик дасгал нь s-ийн аль нэг дээр хэрхэн өөрчлөлт хийхийг харуулах болноampZ-Wave SDK-ийн нэг хэсэг болгон нийлүүлдэг програмууд.

Энэ дасгал нь "Z-Wave 1 өдрийн курс" цувралын нэг хэсэг юм.

  1. SmartStart-г ашиглана уу
  2. Zniffer ашиглан Z-Wave RF хүрээнүүдийн кодыг тайл
  3. 3А: Шилжүүлэгчийг асаах/унтраах, дибаг хийхийг идэвхжүүлэх
    3B: Шилжүүлэгчийг асаах/унтраах
  4. FLiRS төхөөрөмжүүдийг ойлгох

 

ҮНДСЭН ОНЦЛОГ

  • GPIO-г өөрчлөх
  • PWM-ийг хэрэгжүүлэх
  • Самбар дээрх RGB LED ашиглана уу

 

1. Танилцуулга

Энэ дасгал нь Switch On/Off-ийг хэрхэн эмхэтгэж ашиглахыг харуулсан "3A: Compile Switch on/off ба debug-ийг идэвхжүүл" гэсэн өмнөх дасгалын дээр тулгуурлан хийж байна.ampпрограм.

Энэ дасгалд бид s-д өөрчлөлт оруулах болноampLED-ийг удирддаг GPIO-г өөрчлөх замаар програм. Нэмж дурдахад бид RGB LED ашиглаж, PWM ашиглан өнгийг хэрхэн өөрчлөх талаар сурах болно.

1.1 Техник хангамжид тавигдах шаардлага

  • 1 WSTK Хөгжлийн үндсэн зөвлөл
  • 1 Z-Wave радио хөгжүүлэх зөвлөл: ZGM130S SiP модуль
  • 1 UZB хянагч
  • 1 USB Zniffer

1.2 Програм хангамжид тавигдах шаардлага

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Z-Wave PC Controller
  • Z-Wave Zniffer

FIG 1 Z-Wave SiP модуль бүхий хөгжлийн үндсэн самбар

Зураг 1: Z-Wave SiP модуль бүхий хөгжлийн үндсэн самбар

1.3 Урьдчилсан нөхцөл
Өмнөх дадлага дасгалууд нь PC Controller болон Zniffer програмыг ашиглан Z-Wave сүлжээг бий болгох, RF холбоог хөгжүүлэх зорилгоор хэрхэн ашиглах талаар авч үзсэн. Энэ дасгал нь таныг эдгээр хэрэгслүүдийг мэддэг гэж үздэг.

Өмнөх Гарын дасгалууд нь s-г хэрхэн ашиглах талаар мөн тусгасан болноampZ-Wave SDK-тэй хамт ирдэг програмууд. Энэ дасгал нь таныг s-ийн аль нэгийг ашиглах, эмхэтгэх талаар сайн мэддэг гэж үздэгampпрограмууд.

 

2. Самбарын интерфейсийг чиглүүлэх

Z-Wave хүрээ нь board.h болон board.c-ээр тодорхойлогдсон техник хангамжийн хийсвэр давхарга (HAL)-тай ирдэг бөгөөд энэ нь таны техник хангамжийн платформ тус бүрийг хэрэгжүүлэх боломжийг олгодог.

Техник хангамжийн хийсвэр давхарга (HAL) нь системийн техник хангамж ба түүний програм хангамжийн хоорондох програмын код бөгөөд хэд хэдэн өөр техник хангамжийн платформ дээр ажиллах боломжтой програмуудыг тууштай интерфейсээр хангадаг. Урьдчилгаа авахtagЭнэ чадамжийн хувьд программууд техник хангамжид шууд бус харин HAL-аас өгсөн API-ээр дамжуулан хандах ёстой. Дараа нь та шинэ техник хангамж руу шилжихдээ зөвхөн HAL-г шинэчлэх хэрэгтэй.

2.1 S-г нээхampТөсөл
Энэ дасгалыг хийхийн тулд та асаах / унтраах товчлуурыг нээх хэрэгтэйampпрограм. Хэрэв та "3A Compile Switch OnOff ба дибаг хийхийг идэвхжүүлэх" дасгалыг дуусгасан бол Simplicity Studio IDE-д аль хэдийн нээгдсэн байх ёстой.

Энэ хэсэгт бид самбарыг харах болно files ба LED-үүдийг хэрхэн эхлүүлэхийг ойлгох болно.

  1. Үндсэн хэсгээс file "SwitchOnOff.c", "ApplicationInit()"-г олоод Board_Init() руу залгасныг анзаараарай.
  2. Board_Init() дээр курсээ байрлуулаад F3 дээр дарж мэдэгдлийг нээнэ үү.

FIG 2 Нээлттэй SampТөсөл

3. Board_Init() дотор BOARD_LED_COUNT-д агуулагдах LED-үүдийг Board_Con-figLed() нэрээр хэрхэн эхлүүлж байгааг анзаарна уу.

FIG 3 Нээлттэй SampТөсөл

4. BOARD_LED_COUNT дээр курсээ тавиад F3 дээр дарж мэдэгдлийг нээнэ үү.
5. led_id_t-д тодорхойлсон LED нь дараах байдалтай байна.

FIG 4 Нээлттэй SampТөсөл

6. Самбар руу буцах.c file.
7. Board_ConfigLed() дээр курсээ байрлуулаад F3 дээр дарж мэдэгдлийг нээнэ үү.
8. Дараа нь led_id_t-д тодорхойлсон бүх LED-үүдийг Board_ConfigLed() дээр гаралт болгон тохируулсан болохыг анхаарна уу.

FIG 5 Нээлттэй SampТөсөл

Энэ нь юу гэсэн үг вэ гэвэл хөгжүүлэлтийн самбар дээрх бүх LED нь гаралт гэж тодорхойлогдсон бөгөөд ашиглахад бэлэн байна.

 

3. Z долгионы S-д өөрчлөлт хийнэ үүampПрограм

Энэ дасгалд бид асаах/унтраах үед LED-д ашигласан GPIO-г өөрчлөх болноampпрограм. Өмнөх хэсэгт бид хөгжүүлэлтийн самбар дээрх бүх LED-үүдийг гаралт болгон эхлүүлж, ашиглахад бэлэн болсныг олж мэдсэн.

3.1 RGB LED ашиглана уу

Бид товчлуурын самбар дээрх LED-ийн оронд Z-Wave хөгжүүлэлтийн модуль дээрх RGB LED-ийг ашиглах болно.

1. SwitchOnOff.c үндсэн програмаас Зураг 6-д үзүүлсэн шиг RefreshMMI функцийг ол. file.

FIG 6 RefreshMMI ямар ч өөрчлөлтгүйгээр

Зураг 6: RefreshMMI ямар ч өөрчлөлтгүйгээр

2. Бид “Board_SetLed” функцийг ашиглах боловч GPIO-г өөрчилнө үү
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Зураг 3-д үзүүлсний дагуу “Board_SetLed” гэж 7 удаа OFF болон ON төлөвт залгана.

FIG 7 RefreshMMI нь RGB LED ашиглахаар өөрчлөгдсөн

Бидний шинэ өөрчлөлт одоо хэрэгжиж байгаа бөгөөд та эмхэтгэхэд бэлэн боллоо.
Төхөөрөмжийг програмчлах алхмуудыг "3А эмхэтгэх шилжүүлэгчийг унтрааж, дибаг хийхийг идэвхжүүлэх" дасгалд багтаасан бөгөөд энд товчхон давтлаа:

  1. "Бүтээх" дээр дарна уу. ICON 1 товчийг дарж төслийг барьж эхэлнэ.
  2. Барилга дууссаны дараа "Хоёртын файлууд" хавтсыг өргөжүүлж, *.hex дээр баруун товшино уу file "Төхөөрөмж рүү Flash"-ыг сонгохын тулд.
  3. Гарч ирэх цонхонд холбогдсон техник хангамжийг сонгоно уу. "Флаш программист" одоо шаардлагатай бүх мэдээллээр дүүргэгдсэн бөгөөд та "Програм" дээр дарахад бэлэн боллоо.
  4. "Хөтөлбөр" дээр дарна уу.

Хэсэг хугацааны дараа програмчлал дуусч, таны эцсийн төхөөрөмж одоо асаах/унтраах тохируулгын өөрчилсөн хувилбараар гэрэлтэх болно.

3.1.1 Үйл ажиллагааг шалгах

Өмнөх дасгалууд дээр бид SmartStart ашиглан төхөөрөмжийг аюулгүй Z-Wave сүлжээнд оруулсан. Зааврыг "SmartStart ашиглан оруулах" дасгалаас үзнэ үү.

Санамж Дотоод file дахин програмчлалын хооронд систем арилдаггүй. Энэ нь зангилаа сүлжээнд үлдэж, дахин програмчлах үед сүлжээний түлхүүрүүдийг ижил байлгах боломжийг олгодог.

Хэрэв та модулийн ажиллах давтамж эсвэл DSK гэх мэтийг өөрчлөх шаардлагатай бол шинэ давтамжийг дотоод NVM-д бичихээс өмнө чипийг "арилгах" хэрэгтэй.

Тиймээс таны төхөөрөмж сүлжээнд аль хэдийн орсон байна.

RGB LED-ийг асааж, унтрааж болохоо баталгаажуулах замаар ажиллагааг шалгана уу.

  • Компьютерийн хянагч дахь "Үндсэн багц ON" болон "Үндсэн тохиргоог унтраах"-ыг ашиглан ажиллагааг шалгана уу. RGB LED нь асаалттай, унтарсан байх ёстой.
  • RGB LED-ийг мөн тоног төхөөрөмж дээрх BTN0 ашиглан асааж, унтрааж болно.

Одоо бид өөрчлөлт нь хүлээгдэж буйгаар ажиллаж байгааг баталгаажуулж, S-д ашигласан GPIO-г амжилттай өөрчилсөнampПрограм

3.2 RGB өнгөний бүрэлдэхүүн хэсгийг өөрчлөх

Энэ хэсэгт бид RGB LED-ийг өөрчилж, өнгөт бүрэлдэхүүн хэсгүүдийг холихыг хичээх болно.

“RGB өнгөт загварт байгаа өнгийг улаан, ногоон, цэнхэр өнгө тус бүрд хэр их хэмжээгээр агуулагдаж байгааг зааж өгдөг. Өнгө нь RGB гурвалсан (r,g,b) хэлбэрээр илэрхийлэгддэг бөгөөд тэдгээрийн бүрдэл бүр нь тэгээс тогтоосон дээд утга хүртэл өөрчлөгдөж болно. Хэрэв бүх бүрэлдэхүүн хэсгүүд тэг байвал үр дүн нь хар өнгөтэй байна; Хэрэв бүгд дээд тал нь байвал үр дүн нь хамгийн тод цагаан өнгөтэй болно."

Википедиагаас RGB өнгөт загвар.

FIG 8 RGB өнгөт бүрэлдэхүүн хэсгүүдийг хольсон

Өмнөх хэсэгт бид бүх өнгөт бүрэлдэхүүн хэсгүүдийг идэвхжүүлсэн тул RGB LED нь асаалттай үед цагаан өнгөтэй байна. Тусдаа бүрэлдэхүүн хэсгүүдийг асааж, унтрааснаар бид LED-ийг өөрчлөх боломжтой. Үүнээс гадна өнгөний бүрэлдэхүүн хэсэг бүрийн эрч хүчийг тохируулснаар бид бүх өнгийг хооронд нь хийж чадна. Үүний тулд бид GPIO-г хянахын тулд PWM ашиглах болно.

  1. ApplicationTask() дээр Зураг 9-д үзүүлсэн шиг PwmTimer-ийг эхлүүлж, RGB зүүг PWM болгон тохируулна уу.                                                                                FIG 9 PWM-ийг ApplicationTask дээр эхлүүлсэн
  2. RefreshMMI()-д бид өнгөний бүрэлдэхүүн хэсэг бүрт санамсаргүй тоог ашиглана. LED асаах бүрт шинэ утгыг авахын тулд rand() ашиглана уу.
  3. Шинээр үүсгэсэн утгыг цуваа дибаг хийх порт руу бичихийн тулд DPRINTF()-г ашиглана уу.
  4. Санамсаргүй утгыг ашиглахын тулд Board_SetLed()-г Board_RgbLedSetPwm()-ээр солино уу.
  5. Шинэчлэгдсэн RefreshMMI()-г Зураг 10-аас үзнэ үү.

FIG 10 RefreshMMI нь PWM-ээр шинэчлэгдсэн

Зураг 10: RefreshMMI-г PWM-ээр шинэчилсэн

Бидний шинэ өөрчлөлт одоо хэрэгжиж байгаа бөгөөд та эмхэтгэхэд бэлэн боллоо.

  1. "Бүтээх" дээр дарна уу. ICON 1 товчийг дарж төслийг барьж эхэлнэ.
  2. Барилга дууссаны дараа "Хоёртын файлууд" хавтсыг өргөжүүлж, *.hex дээр баруун товшино уу file "Төхөөрөмж рүү Flash"-ыг сонгохын тулд.
  3. Гарч ирэх цонхонд холбогдсон техник хангамжийг сонгоно уу. "Флаш программист" одоо шаардлагатай бүх мэдээллээр дүүргэгдсэн бөгөөд та "Програм" дээр дарахад бэлэн боллоо.
  4. "Хөтөлбөр" дээр дарна уу.

Хэсэг хугацааны дараа програмчлал дуусч, таны эцсийн төхөөрөмж одоо асаах/унтраах тохируулгын өөрчилсөн хувилбараар гэрэлтэх болно.

3.2.1 Үйл ажиллагааг шалгах

RGB LED-ийн өнгийг өөрчлөх боломжтой эсэхийг шалгах замаар функцийг шалгана уу.

  1. Компьютерийн хянагч дахь "Үндсэн багц ON"-ыг ашиглан ажиллагааг шалгана уу.
  2. Өнгөний өөрчлөлтийг харахын тулд "Үндсэн багц ON" дээр дарна уу.

Одоо бид өөрчлөлт нь хүлээгдэж буйгаар ажиллаж байгааг баталгаажуулж, PWM ашиглахын тулд GPIO-г амжилттай өөрчилсөн.

4 Хэлэлцүүлэг

Энэ дасгалд бид асаах/унтраах тохиргоог энгийн LED-ийг удирдахаас олон өнгийн LED-ийг удирдах болгон өөрчилсөн. PWM-ийн утгуудаас хамааран бид одоо ямар ч өнгө, эрчимтэй өөрчлөгдөж болно.

  • "Хоёртын шилжүүлэгч"-ийг энэ програмын төхөөрөмжийн төрөл болгон ашиглах ёстой юу?
  • Олон өнгийн LED-д ямар командын анги илүү тохиромжтой вэ?

Асуултанд хариулахын тулд Z-Wave-ийн тодорхойлолтод хандах хэрэгтэй.

  • Z-Wave Plus v2 Төхөөрөмжийн төрлийн тодорхойлолт
  • Z-Wave програмын командын ангийн тодорхойлолт

Энэ нь Z-Wave S-ийн GPIO-г хэрхэн өөрчлөх, өөрчлөх тухай зааварчилгааг дуусгаж байна.ampПрограм.

 

Энэ гарын авлагын талаар дэлгэрэнгүй уншиж, PDF татаж авах:

Баримт бичиг / нөөц

SILICON LABS Lab 3B - Шилжүүлэгчийг асаах/унтраах [pdf] Хэрэглэгчийн гарын авлага
Lab 3B, Өөрчлөх шилжүүлэгч, Асаах, Унтраах, Z-Wave, SDK

Лавлагаа

Сэтгэгдэл үлдээгээрэй

Таны имэйл хаягийг нийтлэхгүй. Шаардлагатай талбаруудыг тэмдэглэсэн *