სილიკონის ლოგო

SILICON LABS Lab 3B – შეცვლა ჩართვის/გამორთვის მომხმარებლის სახელმძღვანელო

SILICON LABS Lab 3B - შეცვლა ჩართვის/გამორთვის შეცვლა

ეს პრაქტიკული სავარჯიშო გვიჩვენებს, თუ როგორ უნდა გააკეთოთ მოდიფიკაცია ერთ-ერთ სampაპლიკაციები, რომლებიც იგზავნება Z-Wave SDK-ის ნაწილად.

ეს სავარჯიშო ნაწილია სერიის "Z-Wave 1-დღიანი კურსი".

  1. ჩართეთ SmartStart-ის გამოყენება
  2. Z-Wave RF ჩარჩოების გაშიფვრა Zniffer-ის გამოყენებით
  3. 3A: შეადგინეთ ჩართვის/გამორთვის და გამართვის ჩართვა
    3B: შეცვლა/გამორთვის შეცვლა
  4. გაიგეთ FLiRS მოწყობილობები

 

ძირითადი მახასიათებლები

  • შეცვალეთ GPIO
  • PWM-ის დანერგვა
  • გამოიყენეთ ბორტზე RGB LED

 

1. შესავალი

ეს სავარჯიშო ეფუძნება წინა სავარჯიშოს „3A: შეადგინე ჩართვის/გამორთვის და გამართვის ჩართვა“, რომელიც აჩვენა, როგორ შევადგინოთ და გამოიყენოთ Switch On/Off s.ampგანაცხადი.

ამ სავარჯიშოში ჩვენ შევცვლით სampაპლიკაციით, შეცვალეთ GPIO, რომელიც აკონტროლებს LED-ს. გარდა ამისა, ჩვენ გამოვიყენებთ 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 კონტროლერი
  • Z-ტალღა Zniffer

ფიგურა 1 განვითარების მთავარი დაფა Z-Wave SiP მოდულით

სურათი 1: განვითარების მთავარი დაფა Z-Wave SiP მოდულით

1.3 წინაპირობები
წინა Hands-On სავარჯიშოები მოიცავდა, თუ როგორ გამოვიყენოთ PC Controller და Zniffer აპლიკაცია Z-Wave ქსელის შესაქმნელად და RF კომუნიკაციის გადასაღებად განვითარების მიზნით. ეს სავარჯიშო ვარაუდობს, რომ თქვენ იცნობთ ამ ინსტრუმენტებს.

წინა Hands-On სავარჯიშოებმა ასევე მოიცვა, თუ როგორ გამოიყენოთ sampაპლიკაციები, რომლებიც მიწოდებულია Z-Wave SDK-ით. ეს სავარჯიშო ვარაუდობს, რომ თქვენ იცნობთ ერთ-ერთის გამოყენებას და შედგენასampაპლიკაციები.

 

2. გადადით დაფის ინტერფეისზე

Z-Wave Framework მოყვება ტექნიკის აბსტრაქციის ფენას (HAL), რომელიც განსაზღვრულია board.h და board.c მიერ, რაც უზრუნველყოფს თქვენი ტექნიკის თითოეული პლატფორმისთვის განხორციელების შესაძლებლობას.

Hardware Abstraction Layer (HAL) არის პროგრამის კოდი სისტემის აპარატურასა და მის პროგრამულ უზრუნველყოფას შორის, რომელიც უზრუნველყოფს თანმიმდევრულ ინტერფეისს აპლიკაციებისთვის, რომლებიც შეიძლება მუშაობდეს რამდენიმე სხვადასხვა აპარატურულ პლატფორმაზე. წინსვლისთვისtagამ შესაძლებლობიდან გამომდინარე, აპლიკაციებს უნდა ჰქონდეთ წვდომა აპარატურაზე HAL-ის მიერ მოწოდებული API-ის მეშვეობით და არა უშუალოდ. შემდეგ, როდესაც გადახვალთ ახალ აპარატურაზე, საჭიროა მხოლოდ HAL-ის განახლება.

2.1 გახსენით Sample პროექტი
ამ სავარჯიშოსთვის თქვენ უნდა გახსნათ ჩართვის / გამორთვის sampგანაცხადი. თუ დაასრულეთ სავარჯიშო „3A Compile Switch OnOff და ჩართეთ გამართვა“, ის უკვე უნდა გაიხსნას თქვენს Simplicity Studio IDE-ში.

ამ განყოფილებაში ჩვენ გადავხედავთ დაფას files და გაიგეთ როგორ ხდება LED-ების ინიციალიზაცია.

  1. ძირითადიდან file „SwitchOnOff.c“, იპოვნეთ „ApplicationInit()“ და შენიშნეთ ზარი Board_Init().
  2. მოათავსეთ თქვენი კურსი Board_Init()-ზე და დააჭირეთ F3 დეკლარაციის გასახსნელად.

ნახაზი 2 გახსენით Sample პროექტი

3. Board_Init()-ში შენიშნეთ, თუ როგორ ხდება BOARD_LED_COUNT-ში შემავალი LED-ების ინიციალიზაცია სახელწოდებით Board_Con-figLed()

ნახაზი 3 გახსენით Sample პროექტი

4. მოათავსეთ თქვენი კურსი BOARD_LED_COUNT-ზე და დააჭირეთ F3 დეკლარაციის გასახსნელად.
5. led_id_t-ში განსაზღვრული LED-ები შემდეგია:

ნახაზი 4 გახსენით Sample პროექტი

6. დაფაზე დაბრუნება.გ file.
7. მოათავსეთ თქვენი კურსი Board_ConfigLed()-ზე და დააჭირეთ F3 დეკლარაციის გასახსნელად.
8. გაითვალისწინეთ, რომ led_id_t-ში განსაზღვრული ყველა LED-ები კონფიგურირებულია Board_ConfigLed()-ში, როგორც გამომავალი.

ნახაზი 5 გახსენით Sample პროექტი

ეს ნიშნავს, რომ განვითარების დაფაზე ყველა LED-ები უკვე განსაზღვრულია, როგორც გამოსავალი და მზადაა გამოსაყენებლად.

 

3. შეიტანეთ მოდიფიკაცია Z-Wave S-ზეampგანაცხადი

ამ სავარჯიშოში ჩვენ შევცვლით GPIO-ებს, რომლებიც გამოიყენება LED-სთვის ჩართვა/გამორთვის ს.ampგანაცხადი. წინა განყოფილებაში ჩვენ ვისწავლეთ, თუ როგორ არის ყველა LED-ები განვითარების დაფაზე, როგორც გამომავალი და მზადაა გამოსაყენებლად.

3.1 გამოიყენეთ RGB LED

ჩვენ გამოვიყენებთ ბორტ RGB LED-ს Z-Wave განვითარების მოდულზე, ღილაკების დაფაზე LED-ის ნაცვლად.

1. იპოვნეთ RefreshMMI ფუნქცია, როგორც ეს ჩანს 6-ში, SwitchOnOff.c მთავარ აპლიკაციაში file.

ნახაზი 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.

ფიგურა 7 RefreshMMI შეცვლილია RGB LED გამოსაყენებლად

ჩვენი ახალი მოდიფიკაცია ახლა განხორციელებულია და თქვენ მზად ხართ შედგენისთვის.
მოწყობილობის დაპროგრამების ნაბიჯები დაფარულია სავარჯიშოში „3A Compile Switch Off and Enable Debug“ და მოკლედ განმეორდება აქ:

  1. დააჭირეთ "აშენებას" ხატი 1 ღილაკი პროექტის მშენებლობის დასაწყებად.
  2. როდესაც build დასრულდება, გააფართოვეთ "Binaries" საქაღალდე და დააწკაპუნეთ მარჯვენა ღილაკით *.hex file აირჩიეთ "Flash to Device...".
  3. ამომხტარ ფანჯარაში აირჩიეთ დაკავშირებული აპარატურა. "Flash Programmer" ახლა წინასწარ ივსება ყველა საჭირო მონაცემით და თქვენ მზად ხართ დააჭიროთ "პროგრამას".
  4. დააჭირეთ "პროგრამას".

მცირე ხნის შემდეგ პროგრამირება სრულდება და თქვენი ბოლო მოწყობილობა ახლა ციმციმდება Switch On/Off-ის შეცვლილი ვერსიით.

3.1.1 შეამოწმეთ ფუნქციონირება

წინა სავარჯიშოებში ჩვენ უკვე ჩავრთეთ მოწყობილობა უსაფრთხო Z-Wave ქსელში SmartStart-ის გამოყენებით. ინსტრუქციებისთვის იხილეთ სავარჯიშო „ SmartStart-ის გამოყენების ჩართვა“.

მინიშნება შიდა file სისტემა არ იშლება რეპროგრამირებას შორის. ეს საშუალებას აძლევს კვანძს დარჩეს ქსელში და შეინარჩუნოს იგივე ქსელის კლავიშები, როდესაც მას ხელახლა დაპროგრამებთ.

თუ საჭიროა შეცვალოთ მაგ. სიხშირე, რომლითაც მუშაობს მოდული ან DSK, თქვენ უნდა „წაშალოთ“ ჩიპი, სანამ ახალი სიხშირე ჩაიწერება შიდა NVM-ზე.

როგორც ასეთი, თქვენი მოწყობილობა უკვე შედის ქსელში.

შეამოწმეთ ფუნქციონირება და დაადასტურეთ, რომ შეგიძლიათ ჩართოთ და გამორთოთ RGB LED.

  • შეამოწმეთ ფუნქციონირება „Basic Set ON“ და „Basic Set OFF“ კომპიუტერის კონტროლერში. RGB LED უნდა იყოს ჩართული და გამორთული.
  • RGB LED ასევე შეიძლება ჩართოთ და გამორთოთ BTN0-ის გამოყენებით აპარატურაზე.

ჩვენ ახლა დავადასტურეთ, რომ მოდიფიკაცია მუშაობს ისე, როგორც მოსალოდნელი იყო და წარმატებით შევცვალეთ S-ში გამოყენებული GPIOampგანაცხადი

3.2 შეცვალეთ RGB ფერის კომპონენტი

ამ განყოფილებაში ჩვენ შევცვლით RGB LED-ს და შევეცდებით შევურიოთ ფერის კომპონენტები.

„RGB ფერის მოდელის ფერი აღწერილია იმის მითითებით, თუ რამდენი შედის თითოეული წითელი, მწვანე და ლურჯი. ფერი გამოიხატება როგორც RGB სამეული (r,g,b), რომლის თითოეული კომპონენტი შეიძლება იცვლებოდეს ნულიდან განსაზღვრულ მაქსიმალურ მნიშვნელობამდე. თუ ყველა კომპონენტი ნულზეა, შედეგი შავია; თუ ყველა მაქსიმუმზეა, შედეგი არის ყველაზე ნათელი წარმომადგენლობითი თეთრი“.

ვიკიპედიიდან RGB ფერის მოდელი.

FIG 8 RGB ფერის კომპონენტები შერეული ერთად

მას შემდეგ, რაც წინა განყოფილებაში გავააქტიურეთ ყველა ფერის კომპონენტი, RGB LED არის თეთრი, როდესაც ჩართულია. ცალკეული კომპონენტების ჩართვით და გამორთვით, ჩვენ შეგვიძლია შევცვალოთ LED. გარდა ამისა, თითოეული ფერის კომპონენტის ინტენსივობის რეგულირებით, ჩვენ შეგვიძლია შევქმნათ ყველა ფერი მათ შორის. ამისათვის ჩვენ გამოვიყენებთ PWM-ს GPIO-ების გასაკონტროლებლად.

  1. ApplicationTask()-ში მოაწყვეთ PwmTimer და დააყენეთ RGB ქინძისთავები PWM-ზე, როგორც ნაჩვენებია სურათზე 9.                                                                                ნახაზი 9 PWM ინიციალიზებულია ApplicationTask-ში
  2. RefreshMMI()-ში ჩვენ გამოვიყენებთ შემთხვევით რიცხვს ყველა ფერის კომპონენტისთვის. გამოიყენეთ rand() ახალი მნიშვნელობის მისაღებად ყოველ ჯერზე, როცა LED ჩართულია.
  3. გამოიყენეთ DPRINTF() ახლად გენერირებული მნიშვნელობის ჩასაწერად სერიულ გამართვის პორტში.
  4. შეცვალეთ Board_SetLed() Board_RgbLedSetPwm()-ით, რათა გამოვიყენოთ შემთხვევითი მნიშვნელობა.
  5. იხილეთ სურათი 10 განახლებული RefreshMMI().

ფიგურა 10 RefreshMMI განახლებულია PWM-ით

სურათი 10: RefreshMMI განახლებულია PWM-ით

ჩვენი ახალი მოდიფიკაცია ახლა განხორციელებულია და თქვენ მზად ხართ შედგენისთვის.

  1. დააჭირეთ "აშენებას" ხატი 1 ღილაკი პროექტის მშენებლობის დასაწყებად.
  2. როდესაც build დასრულდება, გააფართოვეთ "Binaries" საქაღალდე და დააწკაპუნეთ მარჯვენა ღილაკით *.hex file აირჩიეთ "Flash to Device...".
  3. ამომხტარ ფანჯარაში აირჩიეთ დაკავშირებული აპარატურა. "Flash Programmer" ახლა წინასწარ ივსება ყველა საჭირო მონაცემით და თქვენ მზად ხართ დააჭიროთ "პროგრამას".
  4. დააჭირეთ "პროგრამას".

მცირე ხნის შემდეგ პროგრამირება სრულდება და თქვენი ბოლო მოწყობილობა ახლა ციმციმდება Switch On/Off-ის შეცვლილი ვერსიით.

3.2.1 შეამოწმეთ ფუნქციონალობა

შეამოწმეთ ფუნქციონირება და დაადასტურეთ, რომ შეგიძლიათ შეცვალოთ RGB LED-ის ფერი.

  1. შეამოწმეთ ფუნქციონირება კომპიუტერის კონტროლერში "Basic Set ON"-ის გამოყენებით.
  2. დააწკაპუნეთ ღილაკზე „ძირითადი ჩართვა“ ფერის ცვლილების სანახავად.

ჩვენ ახლა დავადასტურეთ, რომ მოდიფიკაცია მუშაობს ისე, როგორც მოსალოდნელი იყო და წარმატებით შევცვალეთ GPIO PWM-ის გამოსაყენებლად.

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

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *