सिलिकन लोगो

SILICON LABS Lab 3B - स्विच अन/अफ प्रयोगकर्ता गाइड परिमार्जन गर्नुहोस्

SILICON LABS Lab 3B - स्विच अन/अफ परिमार्जन गर्नुहोस्

यो ह्यान्ड्स-अन अभ्यासले s मध्ये एकमा परिमार्जन कसरी गर्ने भनेर प्रदर्शन गर्नेछampले एप्लिकेसनहरू जुन Z-Wave SDK को भागको रूपमा पठाइन्छ।

यो अभ्यास "Z-Wave 1-Day Course" शृङ्खलाको अंश हो।

  1. SmartStart प्रयोग गरी समावेश गर्नुहोस्
  2. Zniffer प्रयोग गरेर Z-Wave RF फ्रेमहरू डिक्रिप्ट गर्नुहोस्
  3. 3A: कम्पाइल स्विच अन/अफ र डिबग सक्षम गर्नुहोस्
    3B: स्विच अन/अफ परिमार्जन गर्नुहोस्
  4. FLiRS उपकरणहरू बुझ्नुहोस्

 

मुख्य विशेषताहरु

  • GPIO परिवर्तन गर्नुहोस्
  • PWM लागू गर्नुहोस्
  • अन-बोर्ड RGB LED प्रयोग गर्नुहोस्

 

1. परिचय

यो अभ्यास अघिल्लो अभ्यास "3A: कम्पाइल स्विच अन/अफ र सक्षम डिबग" को शीर्षमा निर्माण गरिरहेको छ, जसले कसरी स्विच अन/अफ s कम्पाइल र प्रयोग गर्ने प्रदर्शन गरेको छ।ampआवेदन।

यस अभ्यासमा हामी s मा परिमार्जन गर्नेछौंample एप्लिकेसन, एलईडी नियन्त्रण गर्ने GPIO परिवर्तन गरेर। थप रूपमा, हामी RGB LED प्रयोग गर्नेछौं र रंगहरू परिवर्तन गर्न PWM कसरी प्रयोग गर्ने भनेर सिक्नेछौं।

1.1 हार्डवेयर आवश्यकताहरू

  • 1 WSTK मुख्य विकास बोर्ड
  • 1 Z-वेभ रेडियो विकास बोर्ड: ZGM130S SiP मोड्युल
  • 1 UZB नियन्त्रक
  • 1 USB Zniffer

1.2 सफ्टवेयर आवश्यकताहरू

  • सरलता स्टुडियो v4
  • Z-whog S SDK
  • Z-तरंग पीसी नियन्त्रक
  • Z-वेभ Zniffer

FIG 1 Z-Wave SiP मोड्युलको साथ मुख्य विकास बोर्ड

चित्र १: Z-Wave SiP मोड्युलको साथ मुख्य विकास बोर्ड

1.3 पूर्व शर्तहरू
अघिल्लो ह्यान्ड्स-अन अभ्यासहरूले Z-वेभ नेटवर्क निर्माण गर्न र विकास उद्देश्यका लागि RF सञ्चार क्याप्चर गर्न PC नियन्त्रक र Zniffer अनुप्रयोग कसरी प्रयोग गर्ने भनेर कभर गरेको छ। यो अभ्यास मानिन्छ कि तपाइँ यी उपकरणहरूसँग परिचित हुनुहुन्छ।

अघिल्लो ह्यान्ड्स-अन अभ्यासहरूले कसरी s प्रयोग गर्ने भनेर पनि कभर गरेको छampले एप्लिकेसनहरू जुन Z-Wave SDK सँग पठाइन्छ। यो अभ्यासले तपाइँ s मध्ये एउटा प्रयोग र कम्पाइल गर्नेसँग परिचित हुनुहुन्छ भनी मान्दछampअनुप्रयोगहरू।

 

2. बोर्ड इन्टरफेस नेभिगेट गर्नुहोस्

Z-Wave फ्रेमवर्क board.h र board.c द्वारा परिभाषित हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) सँग आउँछ, जसले तपाइँको प्रत्येक हार्डवेयर प्लेटफर्मको लागि कार्यान्वयन गर्ने सम्भावना प्रदान गर्दछ।

हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) प्रणालीको हार्डवेयर र यसको सफ्टवेयर बीचको प्रोग्राम कोड हो जसले विभिन्न हार्डवेयर प्लेटफर्महरूमा चल्न सक्ने एप्लिकेसनहरूको लागि एक सुसंगत इन्टरफेस प्रदान गर्दछ। एडभान लिनtagयो क्षमताको ई, अनुप्रयोगहरूले प्रत्यक्ष रूपमा सट्टा HAL द्वारा प्रदान गरिएको API मार्फत हार्डवेयर पहुँच गर्नुपर्छ। त्यसपछि, जब तपाइँ नयाँ हार्डवेयरमा जानुहुन्छ, तपाइँ मात्र HAL अद्यावधिक गर्न आवश्यक छ।

२.१ ओपन एसampपरियोजना
यस अभ्यासको लागि तपाईंले स्विच अन / अफ खोल्न आवश्यक छampआवेदन। यदि तपाईंले "3A कम्पाइल स्विच अनअफ र सक्षम डिबग" अभ्यास पूरा गर्नुभयो भने, यो पहिले नै तपाईंको सरलता स्टुडियो IDE मा खोलिएको हुनुपर्छ।

यस खण्डमा हामी बोर्ड हेर्नेछौं files र बुझ्नुहोस् कि कसरी LEDs प्रारम्भ गरिन्छ।

  1. मुख्य बाट file "SwitchOnOff.c", "ApplicationInit()" पत्ता लगाउनुहोस् र Board_Init() मा कल नोटिस गर्नुहोस्।
  2. आफ्नो पाठ्यक्रम बोर्ड_इनिट() मा राख्नुहोस् र घोषणा खोल्न F3 मा थिच्नुहोस्।

FIG 2 ओपन एसampपरियोजना

3. Board_Init() मा ध्यान दिनुहोस् कि कसरी BOARD_LED_COUNT मा समावेश LEDs लाई Board_Con-figLed() भनिन्छ द्वारा प्रारम्भ गरिएको छ।

FIG 3 ओपन एसampपरियोजना

4. आफ्नो कोर्सर BOARD_LED_COUNT मा राख्नुहोस् र घोषणा खोल्न F3 मा थिच्नुहोस्।
5. led_id_t मा परिभाषित LEDs निम्नानुसार छन्:

FIG 4 ओपन एसampपरियोजना

6. बोर्डमा फर्कनुहोस् file.
७. आफ्नो पाठ्यक्रम बोर्ड_कन्फिगलेड() मा राख्नुहोस् र घोषणा खोल्न F7 मा थिच्नुहोस्।
8. ध्यान दिनुहोस् led_id_t मा परिभाषित सबै LEDs त्यसपछि आउटपुटको रूपमा Board_ConfigLed() मा कन्फिगर गरिएको छ।

FIG 5 ओपन एसampपरियोजना

यसको अर्थ के हो, विकास बोर्डमा सबै एलईडीहरू पहिले नै आउटपुटको रूपमा परिभाषित र प्रयोगको लागि तयार छन्।

 

3. Z-Wave S मा परिमार्जन गर्नुहोस्ample आवेदन

यस अभ्यासमा हामी LED को लागि स्विच अन/अफ s मा प्रयोग हुने GPIOs परिमार्जन गर्नेछौं।ampआवेदन। अघिल्लो खण्डमा हामीले विकास बोर्डमा सबै LED हरू पहिले नै आउटपुटको रूपमा प्रारम्भिक र प्रयोगको लागि तयार भइसकेका छौँ भनेर सिक्यौँ।

3.1 RGB LED प्रयोग गर्नुहोस्

हामी Z-Wave विकास मोड्युलमा अनबोर्ड RGB LED प्रयोग गर्नेछौं, बटन बोर्डमा LED को सट्टा।

1. SwitchOnOff.c मुख्य अनुप्रयोगमा चित्र 6 मा देखिए अनुसार, RefreshMMI प्रकार्य पत्ता लगाउनुहोस्। file.

FIG 6 कुनै परिमार्जन बिना MMI ताजा गर्नुहोस्

चित्र 6: कुनै परिमार्जन बिना MMI ताजा गर्नुहोस्

2. हामीले "Board_SetLed" प्रकार्य प्रयोग गर्नेछौं तर GPIO लाई परिवर्तन गर्नेछौं
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. चित्र 3 मा देखाइए अनुसार "Board_SetLed" लाई बन्द अवस्थामा र ON स्थितिमा ३ पटक कल गर्नुहोस्।

FIG 7 RefreshMMI RGB LED प्रयोग गर्न परिमार्जन गरियो

हाम्रो नयाँ परिमार्जन अब लागू गरिएको छ, र तपाईं कम्पाइल गर्न तयार हुनुहुन्छ।
यन्त्रलाई प्रोग्राम गर्ने चरणहरू अभ्यास "3A कम्पाइल स्विच अनअफ र सक्षम डिबग" मा समेटिएको छ, र यहाँ छोटकरीमा दोहोर्याइएको छ:

  1. "निर्माण" मा क्लिक गर्नुहोस् ICON २०२० परियोजना निर्माण सुरु गर्न बटन।
  2. जब निर्माण समाप्त हुन्छ, "Binaries" फोल्डर विस्तार गर्नुहोस् र *.hex मा दायाँ क्लिक गर्नुहोस् file "यन्त्रमा फ्ल्यास..." चयन गर्न।
  3. पप-अप विन्डोमा जडान गरिएको हार्डवेयर चयन गर्नुहोस्। "फ्ल्याश प्रोग्रामर" अब सबै आवश्यक डाटाले भरिएको छ, र तपाइँ "कार्यक्रम" मा क्लिक गर्न तयार हुनुहुन्छ।
  4. "कार्यक्रम" मा क्लिक गर्नुहोस्।

केहि समय पछि प्रोग्रामिङ समाप्त हुन्छ, र तपाइँको अन्तिम यन्त्र अब तपाइँको स्विच अन/अफको परिमार्जित संस्करणको साथ फ्ल्यास हुन्छ।

3.1.1 कार्यक्षमता परीक्षण गर्नुहोस्

अघिल्लो अभ्यासहरूमा हामीले पहिले नै SmartStart प्रयोग गरी उपकरणलाई सुरक्षित Z-Wave नेटवर्कमा समावेश गरिसकेका छौं। निर्देशनहरूको लागि "स्मार्टस्टार्ट प्रयोग गरेर समावेश गर्नुहोस्" अभ्यासलाई सन्दर्भ गर्नुहोस्।

आन्तरिक संकेत गर्नुहोस् file प्रणाली reprogramming बीच मेटिएको छैन। यसले नोडलाई सञ्जालमा रहन अनुमति दिन्छ र तपाइँले यसलाई पुन: प्रोग्राम गर्दा उही नेटवर्क कुञ्जीहरू राख्नुहोस्।

यदि तपाइँ मोड्युल सञ्चालन हुने फ्रिक्वेन्सी वा DSK परिवर्तन गर्न आवश्यक छ भने, तपाइँले नयाँ फ्रिक्वेन्सी आन्तरिक NVM मा लेख्नु अघि चिप "मेटाउन" आवश्यक छ।

जस्तै, तपाईंको उपकरण पहिले नै नेटवर्कमा समावेश छ।

तपाईंले RGB LED अन र अफ गर्न सक्नुहुन्छ भनी प्रमाणित गरेर कार्यक्षमता परीक्षण गर्नुहोस्।

  • पीसी कन्ट्रोलरमा "आधारभूत सेट अन" र "आधारभूत सेट अफ" प्रयोग गरेर कार्यक्षमता परीक्षण गर्नुहोस्। RGB LED सक्रिय र बन्द हुनुपर्छ।
  • RGB LED लाई हार्डवेयरमा BTN0 प्रयोग गरेर अन र अफ पनि गर्न सकिन्छ।

हामीले अब परिमार्जन अपेक्षित रूपमा काम गरिरहेको छ भनेर प्रमाणित गरेका छौं र सफलतापूर्वक एक S मा प्रयोग गरिएको GPIO परिवर्तन गरेका छौं।ample आवेदन

3.2 RGB रंग घटक परिवर्तन गर्नुहोस्

यस खण्डमा, हामी RGB LED परिमार्जन गर्नेछौं र रंग घटकहरू मिश्रण गर्ने प्रयास गर्नेछौं।

"RGB रङ मोडेलमा एक रङ रातो, हरियो, र नीलोमा कति समावेश छ भनेर संकेत गरेर वर्णन गरिएको छ। रङलाई RGB triplet (r,g,b) को रूपमा व्यक्त गरिएको छ, जसको प्रत्येक कम्पोनेन्ट शून्य देखि परिभाषित अधिकतम मानमा भिन्न हुन सक्छ। यदि सबै कम्पोनेन्टहरू शून्यमा छन् भने परिणाम कालो हुन्छ; यदि सबै अधिकतममा छन् भने, परिणाम सबैभन्दा उज्यालो प्रतिनिधित्व गर्न योग्य सेतो हो।"

विकिपिडिया बाट RGB रङ मोडेल।

FIG 8 RGB रङ कम्पोनेन्टहरू सँगै मिश्रित

हामीले अघिल्लो खण्डमा सबै रङ कम्पोनेन्टहरू सक्षम गरेको हुनाले RGB LED सक्रिय हुँदा सेतो हुन्छ। व्यक्तिगत कम्पोनेन्टहरू अन र अफ गरेर, हामी एलईडी परिवर्तन गर्न सक्छौं। थप रूपमा, प्रत्येक रङ घटकहरूको तीव्रता समायोजन गरेर, हामी बीचमा सबै रङहरू बनाउन सक्छौं। त्यसको लागि, हामी GPIOs नियन्त्रण गर्न PWM प्रयोग गर्नेछौं।

  1. ApplicationTask() मा PwmTimer सुरु गर्नुहोस् र RGB पिनहरूलाई PWM मा सेटअप गर्नुहोस्, चित्र 9 मा देखाइए अनुसार।                                                                                FIG 9 PWM ApplicationTask मा प्रारम्भ गरियो
  2. RefreshMMI(), मा हामी प्रत्येक रङ कम्पोनेन्टको लागि अनियमित नम्बर प्रयोग गर्नेछौं। प्रत्येक पटक LED अन हुँदा नयाँ मान प्राप्त गर्न rand() प्रयोग गर्नुहोस्।
  3. सिरियल डिबग पोर्टमा नयाँ उत्पन्न मान लेख्न DPRINTF() प्रयोग गर्नुहोस्।
  4. अनियमित मान प्रयोग गर्न Board_SetLed() को Board_RgbLedSetPwm() सँग बदल्नुहोस्।
  5. अद्यावधिक गरिएको RefreshMMI() को लागी चित्र 10 लाई सन्दर्भ गर्नुहोस्।

FIG 10 RefreshMMI PWM सँग अद्यावधिक गरियो

चित्र १०: RefreshMMI PWM सँग अपडेट गरियो

हाम्रो नयाँ परिमार्जन अब लागू गरिएको छ, र तपाईं कम्पाइल गर्न तयार हुनुहुन्छ।

  1. "निर्माण" मा क्लिक गर्नुहोस् ICON २०२० परियोजना निर्माण सुरु गर्न बटन।
  2. जब निर्माण समाप्त हुन्छ, "Binaries" फोल्डर विस्तार गर्नुहोस् र *.hex मा दायाँ क्लिक गर्नुहोस् file "यन्त्रमा फ्ल्यास..." चयन गर्न।
  3. पप-अप विन्डोमा जडान गरिएको हार्डवेयर चयन गर्नुहोस्। "फ्ल्याश प्रोग्रामर" अब सबै आवश्यक डाटाले भरिएको छ, र तपाइँ "कार्यक्रम" मा क्लिक गर्न तयार हुनुहुन्छ।
  4. "कार्यक्रम" मा क्लिक गर्नुहोस्।

केहि समय पछि प्रोग्रामिङ समाप्त हुन्छ, र तपाइँको अन्तिम यन्त्र अब तपाइँको स्विच अन/अफको परिमार्जित संस्करणको साथ फ्ल्यास हुन्छ।

3.2.1 कार्यक्षमता परीक्षण गर्नुहोस्

तपाईंले RGB LED को रंग परिवर्तन गर्न सक्नुहुन्छ भनी प्रमाणित गरेर कार्यक्षमता परीक्षण गर्नुहोस्।

  1. पीसी कन्ट्रोलरमा "आधारभूत सेट अन" प्रयोग गरेर कार्यक्षमता परीक्षण गर्नुहोस्।
  2. रंगमा परिवर्तन हेर्नको लागि "आधारभूत सेट अन" मा क्लिक गर्नुहोस्।

हामीले अब परिमार्जन अपेक्षित रूपमा काम गरिरहेको प्रमाणित गरेका छौं र PWM प्रयोग गर्न GPIO लाई सफलतापूर्वक परिवर्तन गरेका छौं।

4 छलफल

यस अभ्यासमा हामीले एक साधारण एलईडी नियन्त्रणबाट बहु-रङ एलईडी नियन्त्रण गर्न स्विच अन/अफलाई परिमार्जन गरेका छौं। PWM मानहरूमा निर्भर गर्दै, हामी अब कुनै पनि रंग र तीव्रतामा परिवर्तन गर्न सक्छौं।

  • के यो अनुप्रयोगको लागि यन्त्र प्रकारको रूपमा "बाइनरी स्विच" प्रयोग गर्नुपर्छ?
  • बहु-रङ एलईडीको लागि कुन कमाण्ड कक्षाहरू राम्रोसँग उपयुक्त छन्?

प्रश्नको जवाफ दिनको लागि, तपाईंले Z-Wave विशिष्टतालाई सन्दर्भ गर्नुपर्छ:

  • Z-Wave Plus v2 उपकरण प्रकार विशिष्टता
  • Z-तरंग अनुप्रयोग आदेश वर्ग विशिष्टता

यसले Z-Wave S को GPIOs कसरी परिमार्जन र परिवर्तन गर्ने भन्ने ट्यूटोरियलको अन्त्य गर्दछ।ampले आवेदन।

 

यस म्यानुअल बारे थप पढ्नुहोस् र PDF डाउनलोड गर्नुहोस्:

कागजातहरू / स्रोतहरू

SILICON LABS Lab 3B - स्विच अन/अफ परिमार्जन गर्नुहोस् [pdf] प्रयोगकर्ता गाइड
Lab 3B, परिमार्जन स्विच, अन, अफ, Z-वेभ, SDK

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *