SILICON LABS Lab 3B – შეცვლა ჩართვის/გამორთვის მომხმარებლის სახელმძღვანელო
ეს პრაქტიკული სავარჯიშო გვიჩვენებს, თუ როგორ უნდა გააკეთოთ მოდიფიკაცია ერთ-ერთ სampაპლიკაციები, რომლებიც იგზავნება Z-Wave SDK-ის ნაწილად.
ეს სავარჯიშო ნაწილია სერიის "Z-Wave 1-დღიანი კურსი".
- ჩართეთ SmartStart-ის გამოყენება
- Z-Wave RF ჩარჩოების გაშიფვრა Zniffer-ის გამოყენებით
- 3A: შეადგინეთ ჩართვის/გამორთვის და გამართვის ჩართვა
3B: შეცვლა/გამორთვის შეცვლა - გაიგეთ 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.3 წინაპირობები
წინა Hands-On სავარჯიშოები მოიცავდა, თუ როგორ გამოვიყენოთ PC Controller და Zniffer აპლიკაცია Z-Wave ქსელის შესაქმნელად და RF კომუნიკაციის გადასაღებად განვითარების მიზნით. ეს სავარჯიშო ვარაუდობს, რომ თქვენ იცნობთ ამ ინსტრუმენტებს.
წინა Hands-On სავარჯიშოებმა ასევე მოიცვა, თუ როგორ გამოიყენოთ sampაპლიკაციები, რომლებიც მიწოდებულია Z-Wave SDK-ით. ეს სავარჯიშო ვარაუდობს, რომ თქვენ იცნობთ ერთ-ერთის გამოყენებას და შედგენასampაპლიკაციები.
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-ების ინიციალიზაცია.
- ძირითადიდან file „SwitchOnOff.c“, იპოვნეთ „ApplicationInit()“ და შენიშნეთ ზარი Board_Init().
- მოათავსეთ თქვენი კურსი Board_Init()-ზე და დააჭირეთ F3 დეკლარაციის გასახსნელად.
3. Board_Init()-ში შენიშნეთ, თუ როგორ ხდება BOARD_LED_COUNT-ში შემავალი LED-ების ინიციალიზაცია სახელწოდებით Board_Con-figLed()
4. მოათავსეთ თქვენი კურსი BOARD_LED_COUNT-ზე და დააჭირეთ F3 დეკლარაციის გასახსნელად.
5. led_id_t-ში განსაზღვრული LED-ები შემდეგია:
6. დაფაზე დაბრუნება.გ file.
7. მოათავსეთ თქვენი კურსი Board_ConfigLed()-ზე და დააჭირეთ F3 დეკლარაციის გასახსნელად.
8. გაითვალისწინეთ, რომ led_id_t-ში განსაზღვრული ყველა LED-ები კონფიგურირებულია Board_ConfigLed()-ში, როგორც გამომავალი.
ეს ნიშნავს, რომ განვითარების დაფაზე ყველა 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 ყოველგვარი ცვლილებების გარეშე
2. ჩვენ გამოვიყენებთ ფუნქციას „Board_SetLed“, მაგრამ შევცვლით GPIO-ს
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. გამოიძახეთ „Board_SetLed“ 3-ჯერ როგორც OFF, ასევე ON-ის მდგომარეობაში, როგორც ნაჩვენებია სურათზე 7.
ჩვენი ახალი მოდიფიკაცია ახლა განხორციელებულია და თქვენ მზად ხართ შედგენისთვის.
მოწყობილობის დაპროგრამების ნაბიჯები დაფარულია სავარჯიშოში „3A Compile Switch Off and Enable Debug“ და მოკლედ განმეორდება აქ:
- დააჭირეთ "აშენებას"
ღილაკი პროექტის მშენებლობის დასაწყებად.
- როდესაც build დასრულდება, გააფართოვეთ "Binaries" საქაღალდე და დააწკაპუნეთ მარჯვენა ღილაკით *.hex file აირჩიეთ "Flash to Device...".
- ამომხტარ ფანჯარაში აირჩიეთ დაკავშირებული აპარატურა. "Flash Programmer" ახლა წინასწარ ივსება ყველა საჭირო მონაცემით და თქვენ მზად ხართ დააჭიროთ "პროგრამას".
- დააჭირეთ "პროგრამას".
მცირე ხნის შემდეგ პროგრამირება სრულდება და თქვენი ბოლო მოწყობილობა ახლა ციმციმდება 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 ფერის მოდელი.
მას შემდეგ, რაც წინა განყოფილებაში გავააქტიურეთ ყველა ფერის კომპონენტი, RGB LED არის თეთრი, როდესაც ჩართულია. ცალკეული კომპონენტების ჩართვით და გამორთვით, ჩვენ შეგვიძლია შევცვალოთ LED. გარდა ამისა, თითოეული ფერის კომპონენტის ინტენსივობის რეგულირებით, ჩვენ შეგვიძლია შევქმნათ ყველა ფერი მათ შორის. ამისათვის ჩვენ გამოვიყენებთ PWM-ს GPIO-ების გასაკონტროლებლად.
- ApplicationTask()-ში მოაწყვეთ PwmTimer და დააყენეთ RGB ქინძისთავები PWM-ზე, როგორც ნაჩვენებია სურათზე 9.
- RefreshMMI()-ში ჩვენ გამოვიყენებთ შემთხვევით რიცხვს ყველა ფერის კომპონენტისთვის. გამოიყენეთ rand() ახალი მნიშვნელობის მისაღებად ყოველ ჯერზე, როცა LED ჩართულია.
- გამოიყენეთ DPRINTF() ახლად გენერირებული მნიშვნელობის ჩასაწერად სერიულ გამართვის პორტში.
- შეცვალეთ Board_SetLed() Board_RgbLedSetPwm()-ით, რათა გამოვიყენოთ შემთხვევითი მნიშვნელობა.
- იხილეთ სურათი 10 განახლებული RefreshMMI().
სურათი 10: RefreshMMI განახლებულია PWM-ით
ჩვენი ახალი მოდიფიკაცია ახლა განხორციელებულია და თქვენ მზად ხართ შედგენისთვის.
- დააჭირეთ "აშენებას"
ღილაკი პროექტის მშენებლობის დასაწყებად.
- როდესაც build დასრულდება, გააფართოვეთ "Binaries" საქაღალდე და დააწკაპუნეთ მარჯვენა ღილაკით *.hex file აირჩიეთ "Flash to Device...".
- ამომხტარ ფანჯარაში აირჩიეთ დაკავშირებული აპარატურა. "Flash Programmer" ახლა წინასწარ ივსება ყველა საჭირო მონაცემით და თქვენ მზად ხართ დააჭიროთ "პროგრამას".
- დააჭირეთ "პროგრამას".
მცირე ხნის შემდეგ პროგრამირება სრულდება და თქვენი ბოლო მოწყობილობა ახლა ციმციმდება Switch On/Off-ის შეცვლილი ვერსიით.
3.2.1 შეამოწმეთ ფუნქციონალობა
შეამოწმეთ ფუნქციონირება და დაადასტურეთ, რომ შეგიძლიათ შეცვალოთ RGB LED-ის ფერი.
- შეამოწმეთ ფუნქციონირება კომპიუტერის კონტროლერში "Basic Set ON"-ის გამოყენებით.
- დააწკაპუნეთ ღილაკზე „ძირითადი ჩართვა“ ფერის ცვლილების სანახავად.
ჩვენ ახლა დავადასტურეთ, რომ მოდიფიკაცია მუშაობს ისე, როგორც მოსალოდნელი იყო და წარმატებით შევცვალეთ 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 |