LOGO СИЛИКОН

SILICON LABS Lab 3B – Тағйир додани дастури корбари фурӯзон/хомӯш

SILICON LABS Lab 3B - Тағйир Гузариш фурӯзон / Хомӯш

Ин машқи амалӣ нишон медиҳад, ки чӣ гуна тағирот дар яке аз сample барномаҳое, ки ҳамчун як қисми Z-Wave SDK интиқол дода мешаванд.

Ин машқ қисми силсилаи "Курс 1-рӯзи Z-Wave" мебошад.

  1. Истифодаи SmartStart-ро дохил кунед
  2. Рамзкунии чаҳорчӯбаҳои Z-Wave RF бо истифода аз Zniffer
  3. 3A: Тартиб додани Гузариш / Хомӯш ва Фаъолсозии Debug
    3B: Тағйир додани фурӯзон/хомӯш
  4. Фаҳмидани дастгоҳҳои FLiRS

 

Хусусиятҳои АСОСӢ

  • GPIO-ро тағир диҳед
  • Татбиқи PWM
  • LED RGB-ро дар борт истифода баред

 

1. Муқаддима

Ин машқ дар болои машқи қаблии "3A: Compile Switch On/Off and enable debug" сохта мешавад, ки чӣ тавр тартиб додан ва истифода бурдани тугмаҳои Гузариш/Хомӯшро нишон медиҳад.ampариза.

Дар ин машқ мо тағиротро ба сample ариза, бо тағйир додани GPIO, ки назорат LED. Илова бар ин, мо LED RGB-ро истифода мебарем ва чӣ гуна истифода бурдани PWM-ро барои тағир додани рангҳо меомӯзем.

1.1 Талаботи сахтафзор

  • 1 Шӯрои асосии рушди WSTK
  • 1 Шӯрои рушди радиои Z-мавҷ: Модули ZGM130S SiP
  • 1 UZB Controller
  • 1 USB Zniffer

1.2 Талабот ба нармафзор

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Назоратчии компютери Z-Wave
  • Z-Wave Zniffer

Анҷири 1 Шӯрои асосии рушд бо модули Z-Wave SiP

Расми 1: Шӯрои асосии рушд бо модули Z-Wave SiP

1.3 Шартҳои пешакӣ
Машқҳои қаблии дастӣ дар бораи чӣ гуна истифода бурдани Controller PC ва барномаи Zniffer барои сохтани шабакаи Z-Wave ва гирифтани иртиботи РБ бо мақсади рушд фаро гирифта шудаанд. Ин машқ тахмин мекунад, ки шумо бо ин асбобҳо шиносед.

Машқҳои қаблии дастӣ инчунин тарзи истифодаи сample барномаҳое, ки бо Z-Wave SDK фиристода мешаванд. Ин машқ тахмин мекунад, ки шумо бо истифода ва тартиб додани яке аз сampбарномаҳо.

 

2. Дар интерфейси Раёсат паймоиш кунед

Чаҳорчӯбаи Z-Wave бо қабати абстраксияи сахтафзор (HAL) меояд, ки аз ҷониби board.h ва board.c муайян карда шудааст, ки имкони татбиқи ҳар як платформаи сахтафзори шуморо фароҳам меорад.

Қабати абстраксияи сахтафзор (HAL) рамзи барномавӣ байни сахтафзори система ва нармафзори он мебошад, ки интерфейси пайвастаро барои барномаҳое таъмин мекунад, ки метавонанд дар якчанд платформаҳои сахтафзор кор кунанд. Барои гирифтани пешtagд аз ин қобилият, барномаҳо бояд ба сахтафзор тавассути API пешниҳодкардаи HAL дастрас шаванд, на мустақим. Пас, вақте ки шумо ба сахтафзори нав мегузаред, шумо танҳо бояд HAL-ро навсозӣ кунед.

2.1 Кушодани Sample Лоиҳа
Барои ин машқ ба шумо лозим аст, ки тугмаи Гузариш / Хомӯшро кушоедampариза. Агар шумо машқи "3A Compile Switch OnOff" ва фаъолсозии дебагро анҷом дода бошед, он бояд аллакай дар Simplicity Studio IDE-и шумо кушода шавад.

Дар ин бахш мо ба тахта назар мекунем fileс ва фаҳмед, ки чӣ тавр LEDҳо оғоз карда мешаванд.

  1. Аз асосй file "SwitchOnOff.c", ҷойгир "ApplicationInit ()" ва огоҳ занг ба Board_Init ().
  2. Курси худро дар Board_Init () ҷойгир кунед ва F3 -ро пахш кунед, то эъломияро кушоед.

FIG 2 Кушодани Сample Лоиҳа

3. Дар Board_Init() аҳамият диҳед, ки чӣ тавр LED-ҳои дар BOARD_LED_COUNT мавҷудбуда бо номи Board_Con-figLed() оғоз карда мешаванд.

FIG 3 Кушодани Сample Лоиҳа

4. Курси худро дар BOARD_LED_COUNT ҷойгир кунед ва F3-ро пахш кунед, то эъломияро кушоед.
5. LED-ҳои дар led_id_t муайяншуда чунинанд:

FIG 4 Кушодани Сample Лоиҳа

6. Бозгашт ба тахта.c file.
7. Курси худро дар Board_ConfigLed() ҷойгир кунед ва F3-ро пахш кунед, то эъломияро кушоед.
8. Аҳамият диҳед, ки ҳамаи LED-ҳои дар led_id_t муайяншуда баъдан дар Board_ConfigLed() ҳамчун баромад танзим карда мешаванд.

FIG 5 Кушодани Сample Лоиҳа

Ин чӣ маъно дорад, ки ҳама LED-ҳо дар тахтаи таҳия аллакай ҳамчун натиҷаҳо муайян карда шудаанд ва барои истифода омодаанд.

 

3. Ба Z-Wave S тағирот ворид кунедample Ариза

Дар ин машқ мо GPIO-ҳоеро, ки барои LED дар фурӯзон/хомӯш истифода мешаванд, тағир медиҳемampариза. Дар фасли қаблӣ мо фаҳмидем, ки чӣ гуна ҳама LED-ҳои тахтаи рушд аллакай ҳамчун баромад оғоз карда шудаанд ва барои истифода омодаанд.

3.1 LED RGB-ро истифода баред

Мо ба ҷои LED дар панели тугмаҳо, мо LED-и RGB-ро дар модули таҳияи Z-Wave истифода хоҳем кард.

1. Функсияи RefreshMMI-ро, ки дар расми 6 дида мешавад, дар барномаи асосии SwitchOnOff.c ҷойгир кунед. file.

FIG 6 RefreshMMI бе ягон тағйирот

Тасвири 6: RefreshMMI бидуни тағирот

2. Мо функсияи "Board_SetLed" -ро истифода мебарем, аммо GPIO -ро ба тағир медиҳем
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. «Board_SetLed» -ро 3 маротиба дар ҳолати OFF ва ҳам дар ҳолати ON, тавре ки дар расми 7 нишон дода шудааст, занг занед.

FIG 7 RefreshMMI барои истифодаи RGB LED тағир дода шудааст

Тағироти нави мо ҳоло амалӣ карда мешавад ва шумо омодаед, ки тартиб диҳед.
Қадамҳои барномарезии дастгоҳ дар машқи "3A Compile Switch OnOff ва имкон debug" фаро гирифта шудаанд ва дар ин ҷо ба таври мухтасар такрор мешаванд:

  1. Тугмаи "Сохта" -ро клик кунед ИКОН 1 тугмаи барои оғози сохтани лоиҳа.
  2. Вақте ки сохтмон ба итмом мерасад, папкаи "Бинарҳо" -ро васеъ кунед ва тугмаи ростро пахш кунед *.hex file барои интихоб кардани "Flash to Device...".
  3. Дар равзанаи поп-ап сахтафзори пайвастшударо интихоб кунед. Ҳоло "Flash Programmer" бо ҳама маълумоти зарурӣ пур карда шудааст ва шумо омодаед, ки "Барнома" -ро пахш кунед.
  4. "Барнома" -ро клик кунед.

Пас аз як муддати кӯтоҳ барномасозӣ ба итмом мерасад ва дастгоҳи ниҳоии шумо ҳоло бо версияи тағирёфтаи фурӯзон/хомӯш дурахшанда мешавад.

3.1.1 Санҷиши функсияҳо

Дар машқҳои қаблӣ мо аллакай дастгоҳро ба шабакаи бехатари Z-Wave бо истифода аз SmartStart дохил кардаем. Барои дастурҳо ба машқи "Истифодаи SmartStart дохил кунед" муроҷиат кунед.

Маслиҳат дохилӣ file система дар байни аз нав барномасозӣ нест карда намешавад. Ин имкон медиҳад, ки гиреҳ дар шабака бимонад ва ҳангоми аз нав барномарезӣ кардани он як калидҳои шабакаро нигоҳ дорад.

Агар ба шумо лозим ояд, масалан басомаде, ки модул дар он кор мекунад ё DSK-ро тағир диҳед, шумо бояд чипро "Тоза кунед" пеш аз он ки басомади нав ба NVM-и дохилӣ навишта шавад.

Ҳамин тариқ, дастгоҳи шумо аллакай ба шабака дохил карда шудааст.

Функсияро тавассути тасдиқи он, ки шумо метавонед LED-и RGB-ро фурӯзон ва хомӯш кунед, санҷед.

  • Функсияро бо истифода аз "Маҷмӯи асосӣ фурӯзон" ва "Маҷмӯи асосӣ хомӯш" дар контроллери компютер санҷед. LED RGB бояд фурӯзон ва хомӯш шавад.
  • LED RGB инчунин метавонад бо истифода аз BTN0 дар сахтафзор фурӯзон ва хомӯш карда шавад.

Мо ҳоло тасдиқ кардем, ки тағирот тавре ки интизор мерафт кор мекунад ва GPIO-ро, ки дар Sample Ариза

3.2 Тағйир додани ҷузъи ранги RGB

Дар ин бахш, мо LED RGB-ро тағир медиҳем ва кӯшиш мекунем ҷузъҳои рангро омехта кунем.

"Ранг дар модели ранги RGB бо нишон додани миқдори ҳар як аз сурх, сабз ва кабуд тавсиф карда мешавад. Ранг ҳамчун сегонаи RGB (r,g,b) ифода карда мешавад, ки ҳар як ҷузъи он метавонад аз сифр то арзиши максималии муайяншуда фарқ кунад. Агар ҳамаи ҷузъҳо дар сифр бошанд, натиҷа сиёҳ аст; агар ҳама дар ҳадди аксар бошанд, натиҷа сафедтарин равшантарин аст."

Аз Википедиа Модели ранги RGB.

FIG 8 RGB ҷузъҳои ранги якҷоя омехта

Азбаски мо ҳама ҷузъҳои рангро дар фасли қаблӣ фаъол кардем, LED RGB ҳангоми фурӯзон сафед аст. Бо фурӯзон ва хомӯш кардани ҷузъҳои алоҳида, мо метавонем LED-ро тағир диҳем. Илова бар ин, бо танзими шиддатнокии ҳар як ҷузъҳои ранг, мо метавонем ҳамаи рангҳоро дар байни онҳо созем. Барои ин, мо барои идоракунии GPIOs PWM-ро истифода хоҳем бурд.

  1. Дар ApplicationTask() PwmTimer-ро оғоз кунед ва пинҳои RGB-ро ба PWM насб кунед, тавре ки дар расми 9 нишон дода шудааст.                                                                                FIG 9 PWM дар ApplicationTask оғоз карда шудааст
  2. Дар RefreshMMI(), мо барои ҳар як ҷузъи ранг рақами тасодуфиро истифода хоҳем бурд. rand() -ро истифода баред, то ҳар дафъае, ки LED фурӯзон шавад, арзиши нав гиред.
  3. Истифодаи DPRINTF() барои навиштани арзиши навтаъсис ба порти debug силсилавии.
  4. Барои истифодаи арзиши тасодуфӣ Board_SetLed() -ро бо Board_RgbLedSetPwm () иваз кунед.
  5. Барои навсозии RefreshMMI() ба расми 10 муроҷиат кунед.

FIG 10 RefreshMMI бо PWM навсозӣ шудааст

Тасвири 10: RefreshMMI бо PWM навсозӣ шудааст

Тағироти нави мо ҳоло амалӣ карда мешавад ва шумо омодаед, ки тартиб диҳед.

  1. Тугмаи "Сохта" -ро клик кунед ИКОН 1 тугмаи барои оғози сохтани лоиҳа.
  2. Вақте ки сохтмон ба итмом мерасад, папкаи "Бинарҳо" -ро васеъ кунед ва тугмаи ростро пахш кунед *.hex file барои интихоб кардани "Flash to Device...".
  3. Дар равзанаи поп-ап сахтафзори пайвастшударо интихоб кунед. Ҳоло "Flash Programmer" бо ҳама маълумоти зарурӣ пур карда шудааст ва шумо омодаед, ки "Барнома" -ро пахш кунед.
  4. "Барнома" -ро клик кунед.

Пас аз як муддати кӯтоҳ барномасозӣ ба итмом мерасад ва дастгоҳи ниҳоии шумо ҳоло бо версияи тағирёфтаи фурӯзон/хомӯш дурахшанда мешавад.

3.2.1 Санҷиши функсияҳо

Функсияро тавассути тасдиқи он санҷед, ки шумо метавонед ранги RGB LED-ро тағир диҳед.

  1. Функсияро бо истифода аз "Маҷмӯи асосӣ ON" дар Controller PC санҷед.
  2. Барои дидани тағирот дар ранг тугмаи "Маҷмӯи асосӣ ON" -ро клик кунед.

Мо ҳоло тасдиқ кардем, ки тағирот мувофиқи интизорӣ кор мекунад ва GPIO-ро барои истифодаи PWM бомуваффақият иваз кардем.

4 Муҳокима

Дар ин машқ мо Гузариш / Хомӯшро аз назорати LED-и оддӣ ба идоракунии LED-и гуногунранг тағир додем. Вобаста аз арзишҳои PWM, мо ҳоло метавонем ба ҳама гуна ранг ва шиддат иваз кунем.

  • Оё "Гузариши дуӣ" ҳамчун навъи дастгоҳ барои ин барнома истифода мешавад?
  • Кадом синфҳои фармонҳо барои LED-и гуногунранг беҳтаранд?

Барои ҷавоб додан ба савол, шумо бояд ба мушаххасоти Z-Wave муроҷиат кунед:

  • Мушаххасоти навъи дастгоҳи Z-Wave Plus v2
  • Мушаххасоти Синфи Фармони Ариза Z-Wave

Ин дарсро дар бораи чӣ гуна тағир додан ва тағир додани GPIO-ҳои Z-Wave S ба анҷом мерасонад.ample Ариза.

 

Муфассалтар дар бораи ин дастур хонед ва PDF-ро зеркашӣ кунед:

Ҳуҷҷатҳо / Сарчашмаҳо

SILICON LABS Lab 3B - Тағйир Гузариш фурӯзон / Хомӯш [pdf] Дастури корбар
Lab 3B, Тағир Гузариш, Фаъол, Хомӯш, Z-Wave, SDK

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *