የሲሊኮን አርማ

SILICON LABS Lab 3B - ማብሪያ / ማጥፊያ የተጠቃሚ መመሪያን ቀይር

SILICON LABS Lab 3B - ማብሪያ / ማጥፊያን ቀይር

ይህ የእጅ ላይ ልምምድ በአንደኛው s ላይ እንዴት ማሻሻያ ማድረግ እንደሚቻል ያሳያልampእንደ የZ-Wave SDK አካል የሚላኩ መተግበሪያዎች።

ይህ ልምምድ ተከታታይ "Z-Wave 1-day ኮርስ" አካል ነው.

  1. SmartStart በመጠቀም ያካትቱ
  2. Znifferን በመጠቀም የZ-Wave RF ክፈፎችን ዲክሪፕት ያድርጉ
  3. 3A፡ ማብሪያ / ማጥፊያን ሰብስብ እና ማረም ያንቁ
    3B፡ ማብራት/ማጥፋትን ቀይር
  4. የ FLiRS መሳሪያዎችን ይረዱ

 

ቁልፍ ባህሪያት

  • GPIO ቀይር
  • PWM ተግብር
  • በቦርዱ ላይ RGB LED ይጠቀሙ

 

1. መግቢያ

ይህ መልመጃ በቀደመው መልመጃ ላይ በመገንባት ላይ ነው "3A: ማሰባሰብ ማብሪያ / ማጥፊያ እና ማረም" ይህም እንዴት ማሰባሰብ እና ማብሪያ / ማጥፊያን መጠቀም እንደሚቻል አሳይቷል.ample መተግበሪያ.

በዚህ ልምምድ በ s ላይ ማሻሻያ እናደርጋለንample መተግበሪያ, LED የሚቆጣጠረው GPIO በመቀየር. በተጨማሪም፣ የ RGB LEDን እንጠቀማለን እና PWMን እንዴት ቀለሞችን እንደምንቀይር እንማራለን።

1.1 የሃርድዌር መስፈርቶች

  • 1 WSTK ዋና ልማት ቦርድ
  • 1 ዜድ-ሞገድ ሬዲዮ ልማት ቦርድ፡ ZGM130S ሲፒ ሞዱል
  • 1 የ UZB መቆጣጠሪያ
  • 1 ዩኤስቢ ዚኒፈር

1.2 የሶፍትዌር መስፈርቶች

  • ቀላልነት ስቱዲዮ v4
  • Z-Wave 7 ኤስዲኬ
  • Z-Wave PC መቆጣጠሪያ
  • Z-Wave Zniffer

FIG 1 ዋና የልማት ቦርድ ከ Z-Wave SiP Module ጋር

ምስል 1፡ ዋና የልማት ቦርድ ከZ-Wave SiP Module ጋር

1.3 ቅድመ-ሁኔታዎች
ከዚህ ቀደም የእጅ ላይ ልምምዶች የፒሲ መቆጣጠሪያ እና የዚኒፈር አፕሊኬሽን እንዴት የZ-Wave ኔትወርክን ለመገንባት እና የ RF ኮሙኒኬሽንን ለልማት ዓላማ እንዴት እንደምንይዝ ተሸፍኗል። ይህ መልመጃ እነዚህን መሳሪያዎች እንደምታውቁት ይገምታል.

ከዚህ ቀደም የእጅ ላይ ልምምዶች ኤስን እንዴት መጠቀም እንደሚቻልም ተሸፍኗልampከZ-Wave SDK ጋር የሚላኩ መተግበሪያዎች። ይህ መልመጃ ከ s ውስጥ አንዱን መጠቀም እና ማጠናቀር እንዳለቦት ያስባልample መተግበሪያዎች.

 

2. የቦርዱን በይነገጽ ያስሱ

የZ-Wave ማዕቀፍ በboard.h እና board.c ከተገለጸ የሃርድዌር abstraction Layer (HAL) ጋር አብሮ ይመጣል፣ ይህም ለእያንዳንዱ የሃርድዌር መድረኮችዎ አተገባበር እንዲኖር እድል ይሰጣል።

የሃርድዌር አብስትራክሽን ንብርብር (HAL) በተለያዩ የሃርድዌር መድረኮች ላይ ለሚሰሩ አፕሊኬሽኖች ወጥነት ያለው በይነገጽ የሚያቀርብ በስርዓቱ ሃርድዌር እና በሶፍትዌሩ መካከል የፕሮግራም ኮድ ነው። አድቫን ለመውሰድtagበዚህ አቅም፣ አፕሊኬሽኖች ሃርድዌርን በቀጥታ ከመያዝ ይልቅ በ HAL የቀረበውን ኤፒአይ ማግኘት አለባቸው። ከዚያ ወደ አዲስ ሃርድዌር ሲዘዋወሩ ኤችኤልን ማዘመን ብቻ ያስፈልግዎታል።

2.1 ክፈት ኤስample ፕሮጀክት
ለዚህ ልምምድ ማብሪያ / ማጥፊያውን መክፈት ያስፈልግዎታልample መተግበሪያ. መልመጃውን "3A Compile Switch OnOff እና ማረምን አንቃ" ከጨረሱ፣ አስቀድሞ በእርስዎ Simplicity Studio IDE ውስጥ መከፈት አለበት።

በዚህ ክፍል ውስጥ ሰሌዳውን እንመለከታለን files እና LEDs እንዴት እንደተጀመሩ ይረዱ።

  1. ከዋናው file “SwitchOnOff.c”፣ “ApplicationInit()”ን አግኝ እና ጥሪውን ወደ Board_Init() አስተውል።
  2. መግለጫውን ለመክፈት ኮርስዎን በቦርድ_Init() ላይ ያስቀምጡ እና F3 ን ይጫኑ።

ምስል 2 ክፈት ኤስample ፕሮጀክት

3. በቦርድ_ኢኒት() ውስጥ በBOARD_LED_COUNT ውስጥ የተካተቱት ኤልኢዲዎች በቦርድ_Con-figLed () እንዴት እንደሚጀመሩ አስተውል።

ምስል 3 ክፈት ኤስample ፕሮጀክት

4. ኮርስዎን በBOARD_LED_COUNT ላይ ያስቀምጡ እና መግለጫውን ለመክፈት F3 ላይ ይጫኑ።
5. በ led_id_t ውስጥ የተገለጹት ኤልኢዲዎች እንደሚከተለው ናቸው።

ምስል 4 ክፈት ኤስample ፕሮጀክት

6. ወደ ሰሌዳው ይመለሱ.c file.
7. ኮርስዎን በቦርድ_ConfigLed() ላይ ያስቀምጡ እና መግለጫውን ለመክፈት F3 ላይ ይጫኑ።
8. በ led_id_t ውስጥ የተገለጹት ሁሉም LED ዎች በቦርድ_ConfigLed () እንደ ውፅዓት የተዋቀሩ መሆናቸውን አስተውል።

ምስል 5 ክፈት ኤስample ፕሮጀክት

ይህ ማለት በልማት ሰሌዳው ላይ ያሉት ሁሉም ኤልኢዲዎች እንደ ውፅዓት ተገልጸዋል እና ለመጠቀም ዝግጁ ናቸው።

 

3. በZ-Wave S ላይ ማሻሻያ ያድርጉample ትግበራ

በዚህ ልምምድ ውስጥ ለ LED ጥቅም ላይ የዋሉትን GPIOs በማብራት / ማጥፊያ s ውስጥ እናስተካክላለንample መተግበሪያ. በቀድሞው ክፍል ውስጥ በልማት ሰሌዳው ላይ ያሉት ሁሉም LEDs እንዴት እንደ ውፅዓት እንደተጀመሩ እና ለመጠቀም ዝግጁ እንደሆኑ ተምረናል።

3.1 የ RGB LEDን ይጠቀሙ

በአዝራር ሰሌዳው ላይ ካለው ኤልኢዲ ይልቅ የቦርድ RGB LEDን በZ-Wave ልማት ሞጁል ላይ እንጠቀማለን።

1. የRefreshMMI ተግባርን በስእል 6 እንደሚታየው በSwitchOnOff.c ዋና መተግበሪያ ውስጥ አግኝ። file.

ምስል 6 ያለ ምንም ማሻሻያ አድስMMI

ምስል 6፡ ያለምንም ማሻሻያ ኤምኤምአይ አድስ

2. "Board_SetLed" የሚለውን ተግባር እንጠቀማለን ነገርግን GPIO ን እንለውጣለን
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. በስእል 3 እንደሚታየው በሁለቱም Off state እና በON state ውስጥ "Board_SetLed" 7 ጊዜ ይደውሉ።

FIG 7 RefreshMMI RGB LEDን ለመጠቀም ተሻሽሏል።

አዲሱ ማሻሻያችን አሁን ተተግብሯል፣ እና እርስዎ ለማጠናቀር ዝግጁ ነዎት።
መሣሪያን ለማቀድ የሚወሰዱት እርምጃዎች በ “3A Compile Switch On Off and Enable Debug” በመልመጃ ተሸፍነዋል፣ እና እዚህ በአጭሩ ተደጋግሟል፡-

  1. “ግንባታ” ላይ ጠቅ ያድርጉ ICON 1 እ.ኤ.አ. ፕሮጀክቱን መገንባት ለመጀመር አዝራር.
  2. ግንባታው ሲጠናቀቅ የ"Binaries" አቃፊውን ዘርጋ እና በ*.hex ላይ በቀኝ ጠቅ ያድርጉ file "ብልጭታ ወደ መሣሪያ..." ለመምረጥ.
  3. በብቅ ባዩ መስኮት ውስጥ የተገናኘውን ሃርድዌር ይምረጡ. የ"ፍላሽ ፕሮግራመር" አሁን በሁሉም አስፈላጊ መረጃዎች ተሞልቷል፣ እና "ፕሮግራም" ላይ ጠቅ ለማድረግ ዝግጁ ነዎት።
  4. "ፕሮግራም" ን ጠቅ ያድርጉ።

ከጥቂት ቆይታ በኋላ ፕሮግራሚንግ ሲጠናቀቅ፣ እና የመጨረሻ መሳሪያዎ አሁን በተሻሻለው የማብራት/አጥፋ ስሪት ብልጭ ብሏል።

3.1.1 ተግባራዊነቱን ይፈትሹ

ቀደም ባሉት ልምምዶች ስማርት ስታርትን በመጠቀም መሣሪያውን ደህንነቱ በተጠበቀ የZ-Wave አውታረ መረብ ውስጥ አካትተናል። ለመመሪያዎች "SmartStart ን በመጠቀም አካትት" የሚለውን የአካል ብቃት እንቅስቃሴ ይመልከቱ።

የውስጥ ፍንጭ file በፕሮግራም አወጣጥ መካከል ስርዓቱ አይጠፋም። ይህ መስቀለኛ መንገድ በአውታረ መረብ ውስጥ እንዲቆይ እና እንደገና ፕሮግራም ሲያደርጉት ተመሳሳይ የአውታረ መረብ ቁልፎችን እንዲይዝ ያስችለዋል።

ለምሳሌ ሞጁሉ የሚሰራበትን ድግግሞሽ ወይም DSK መቀየር ከፈለጉ አዲሱ ድግግሞሽ ወደ ውስጣዊው NVM ከመጻፉ በፊት ቺፑን "መጥፋት" ያስፈልግዎታል።

እንደዚያው፣ መሳሪያዎ አስቀድሞ በአውታረ መረቡ ውስጥ ተካትቷል።

የ RGB LEDን ማብራት እና ማጥፋት እንደሚችሉ በማረጋገጥ ተግባራዊነቱን ይሞክሩ።

  • በፒሲ መቆጣጠሪያ ውስጥ "መሰረታዊ አዘጋጅ ON" እና "መሠረታዊ አዘጋጅ ኦፍ" በመጠቀም ተግባራቱን ይፈትሹ. የ RGB LED መብራት እና ማጥፋት አለበት።
  • የ RGB LED በሃርድዌር ላይ BTN0ን በመጠቀም ማብራት እና ማጥፋት ይችላል።

አሁን ማሻሻያው እንደተጠበቀው እየሰራ መሆኑን አረጋግጠናል እና በኤስ ውስጥ ጥቅም ላይ የዋለውን GPIO በተሳካ ሁኔታ ቀይረነዋልample ትግበራ

3.2 የ RGB ቀለም ክፍልን ይቀይሩ

በዚህ ክፍል የ RGB LEDን እናስተካክላለን እና የቀለም ክፍሎችን ለመደባለቅ እንሞክራለን.

"በአርጂቢ ቀለም ሞዴል ውስጥ ያለ ቀለም የሚገለፀው እያንዳንዱ ቀይ፣ አረንጓዴ እና ሰማያዊ ምን ያህል እንደሚካተት በማመልከት ነው። ቀለሙ እንደ RGB triplet (r,g,b) ተገልጿል, እያንዳንዱ አካል ከዜሮ ወደ ከፍተኛው እሴት ሊለያይ ይችላል. ሁሉም ኮምፖ-ነሮች በዜሮ ላይ ከሆኑ ውጤቱ ጥቁር ነው; ሁሉም ቢበዛ ውጤቱ በጣም ደማቅ የሚወከለው ነጭ ነው።

ከዊኪፔዲያ ላይ የ RGB ቀለም ሞዴል.

FIG 8 RGB የቀለም ክፍሎች አንድ ላይ ተቀላቅለዋል።

በቀደመው ክፍል ሁሉንም የቀለም ክፍሎች ስላነቃን RGB LED ሲበራ ነጭ ነው። የነጠላ ክፍሎችን በማብራት እና በማጥፋት, LED ን መለወጥ እንችላለን. በተጨማሪም, የእያንዳንዱን የቀለም አካላት ጥንካሬ በማስተካከል, በመካከላቸው ያሉትን ሁሉንም ቀለሞች መስራት እንችላለን. ለዚያ፣ GPIOዎችን ለመቆጣጠር PWM እንጠቀማለን።

  1. በApplicationTask() ውስጥ PwmTimerን ያስጀምሩ እና RGB ፒኖችን ወደ PWM ያዋቅሩ፣ በስእል 9 እንደሚታየው።                                                                                FIG 9 PWM በመተግበሪያ ተግባር ውስጥ ተጀምሯል።
  2. RefreshMMI() ላይ ለእያንዳንዱ የቀለም ክፍል የዘፈቀደ ቁጥር እንጠቀማለን። ኤልኢዲ በበራ ቁጥር አዲስ እሴት ለማግኘት ራንድ () ይጠቀሙ።
  3. አዲስ የተፈጠረውን እሴት ወደ ተከታታይ ማረም ወደብ ለመፃፍ DPRINTF() ይጠቀሙ።
  4. የዘፈቀደ እሴቱን ለመጠቀም Board_SetLed () በBoard_RgbLedSetPwm () ይተኩ።
  5. ለተሻሻለው RefreshMMI() ቁጥር ​​10 ይመልከቱ።

FIG 10 አድስMMI በPWM ተዘምኗል

ምስል 10፡ አድስMMI በPWM ተዘምኗል

አዲሱ ማሻሻያችን አሁን ተተግብሯል፣ እና እርስዎ ለማጠናቀር ዝግጁ ነዎት።

  1. “ግንባታ” ላይ ጠቅ ያድርጉ ICON 1 እ.ኤ.አ. ፕሮጀክቱን መገንባት ለመጀመር አዝራር.
  2. ግንባታው ሲጠናቀቅ የ"Binaries" አቃፊውን ዘርጋ እና በ*.hex ላይ በቀኝ ጠቅ ያድርጉ file "ብልጭታ ወደ መሣሪያ..." ለመምረጥ.
  3. በብቅ ባዩ መስኮት ውስጥ የተገናኘውን ሃርድዌር ይምረጡ. የ"ፍላሽ ፕሮግራመር" አሁን በሁሉም አስፈላጊ መረጃዎች ተሞልቷል፣ እና "ፕሮግራም" ላይ ጠቅ ለማድረግ ዝግጁ ነዎት።
  4. "ፕሮግራም" ን ጠቅ ያድርጉ።

ከጥቂት ቆይታ በኋላ ፕሮግራሚንግ ሲጠናቀቅ፣ እና የመጨረሻ መሳሪያዎ አሁን በተሻሻለው የማብራት/አጥፋ ስሪት ብልጭ ብሏል።

3.2.1 ተግባራዊነቱን ይፈትሹ

የ RGB LEDን ቀለም መቀየር እንደሚችሉ በማረጋገጥ ተግባራዊነቱን ይፈትሹ.

  1. በፒሲ መቆጣጠሪያ ውስጥ ያለውን "መሰረታዊ አዘጋጅ ON" በመጠቀም ተግባራዊነቱን ይፈትሹ.
  2. የቀለም ለውጥ ለማየት "መሰረታዊ አዘጋጅ በርቷል" ን ጠቅ ያድርጉ።

አሁን ማሻሻያው እንደተጠበቀው እየሰራ መሆኑን አረጋግጠናል እና GPIO በተሳካ ሁኔታ PWM ለመጠቀም ቀይረነዋል።

4 ውይይት

በዚህ ልምምድ ማብሪያ / ማጥፊያን ቀላል LED ከመቆጣጠር ወደ ባለብዙ ቀለም LED አስተካክለነዋል። በ PWM ዋጋዎች ላይ በመመስረት, አሁን ወደ ማንኛውም ቀለም እና ጥንካሬ መለወጥ እንችላለን.

  • ለዚህ መተግበሪያ "ሁለትዮሽ ማብሪያ / ማጥፊያ" እንደ የመሣሪያ ዓይነት መጠቀም አለበት?
  • ለባለብዙ ቀለም LED የትኞቹ የትዕዛዝ ክፍሎች የተሻሉ ናቸው?

ጥያቄውን ለመመለስ የZ-Wave ዝርዝር መግለጫን መመልከት አለቦት፡-

  • Z-Wave Plus v2 የመሣሪያ አይነት መግለጫ
  • Z-Wave መተግበሪያ ትዕዛዝ ክፍል መግለጫ

ይህ የZ-Wave S ጂፒኦዎችን እንዴት ማሻሻል እና መለወጥ እንደሚቻል ትምህርቱን ያጠናቅቃልample መተግበሪያ.

 

ስለዚህ መመሪያ የበለጠ ያንብቡ እና ፒዲኤፍ ያውርዱ፡-

ሰነዶች / መርጃዎች

SILICON LABS Lab 3B - ማብሪያ / ማጥፊያን ቀይር [pdf] የተጠቃሚ መመሪያ
ቤተ-ሙከራ 3ቢ፣ ቀይር፣ አብርቶ፣ ጠፍቷል፣ ዜድ-ሞገድ፣ ኤስዲኬ

ዋቢዎች

አስተያየት ይስጡ

የኢሜል አድራሻዎ አይታተምም። አስፈላጊ መስኮች ምልክት ተደርጎባቸዋል *