LOGO SILICON

SILICON LABS Lab 3B - Sửa đổi Hướng dẫn sử dụng Bật / Tắt Công tắc

SILICON LABS Lab 3B - Sửa đổi Bật / Tắt Công tắc

Bài tập thực hành này sẽ trình bày cách thực hiện sửa đổi đối với một trong cácample các ứng dụng được cung cấp như một phần của Z-Wave SDK.

Bài tập này là một phần của loạt bài “Z-Wave 1-Day Course”.

  1. Bao gồm sử dụng SmartStart
  2. Giải mã khung Z-Wave RF bằng Zniffer
  3. 3A: Bật / Tắt biên dịch và Bật gỡ lỗi
    3B: Sửa đổi Bật / Tắt Công tắc
  4. Hiểu thiết bị FLiRS

 

ĐẶC ĐIỂM CHÍNH

  • Thay đổi GPIO
  • Triển khai PWM
  • Sử dụng đèn LED RGB trên bo mạch

 

1. Giới thiệu

Bài tập này được xây dựng dựa trên bài tập trước “3A: Compile Switch On / Off and enable debug”, đã trình bày cách biên dịch và sử dụng Switch On / Off sampứng dụng le.

Trong bài tập này, chúng tôi sẽ thực hiện một sửa đổi đối vớiampứng dụng le, bằng cách thay đổi GPIO điều khiển đèn LED. Ngoài ra, chúng tôi sẽ sử dụng đèn LED RGB và học cách sử dụng PWM để thay đổi màu sắc.

1.1 Yêu cầu về phần cứng

  • 1 Ban phát triển chính của WSTK
  • 1 Bảng phát triển vô tuyến Z-Wave: Mô-đun ZGM130S SiP
  • 1 Bộ điều khiển UZB
  • 1 cổng USB

1.2 Yêu cầu phần mềm

  • Đơn giản Studio v4
  • SDK Z-Wave 7
  • Bộ điều khiển Z-Wave PC
  • Z-Wave Zniffer

Hình 1 Bảng phát triển chính với mô-đun Z-Wave SiP

Hình 1: Bảng phát triển chính với mô-đun Z-Wave SiP

1.3 Điều kiện tiên quyết
Các bài thực hành trước đây đã đề cập đến cách sử dụng Bộ điều khiển PC và ứng dụng Zniffer để xây dựng mạng Z-Wave và nắm bắt giao tiếp RF cho mục đích phát triển. Bài tập này giả định rằng bạn đã quen thuộc với các công cụ này.

Các bài tập Thực hành trước đây cũng đã đề cập đến cách sử dụng sample các ứng dụng đi kèm với Z-Wave SDK. Bài tập này giả định rằng bạn đã quen với việc sử dụng và biên dịch một trong cácampứng dụng le.

 

2. Điều hướng giao diện bảng

Khung công tác Z-Wave đi kèm với lớp trừu tượng phần cứng (HAL) được xác định bởi board.h và board.c, cung cấp khả năng triển khai cho từng nền tảng phần cứng của bạn.

Lớp trừu tượng phần cứng (HAL) là mã chương trình giữa phần cứng của hệ thống và phần mềm của nó cung cấp giao diện nhất quán cho các ứng dụng có thể chạy trên một số nền tảng phần cứng khác nhau. Để có advantagVới khả năng này, các ứng dụng nên truy cập phần cứng thông qua API do HAL cung cấp, thay vì trực tiếp. Sau đó, khi chuyển sang phần cứng mới, bạn chỉ cần cập nhật HAL.

2.1 Mở Sampdự án le
Đối với bài tập này, bạn cần mở nút Bật / Tắtampứng dụng le. Nếu bạn đã hoàn thành bài tập “3A Compile Switch OnOff and enable debug”, thì nó sẽ được mở trong IDE Simp Simply Studio của bạn.

Trong phần này, chúng ta sẽ xem xét bảng filevà hiểu cách các đèn LED được khởi tạo.

  1. Từ chính file “SwitchOnOff.c”, tìm “ApplicationInit ()” và thông báo lệnh gọi tới Board_Init ().
  2. Đặt courser của bạn trên Board_Init () và nhấn F3 để mở khai báo.

HÌNH 2 Mở Sampdự án le

3. Trong Board_Init (), lưu ý cách các đèn LED chứa trong BOARD_LED_COUNT đang được khởi tạo bằng tên gọi Board_Con-figLed ()

HÌNH 3 Mở Sampdự án le

4. Đặt bộ học của bạn trên BOARD_LED_COUNT và nhấn F3 để mở tờ khai.
5. Các đèn LED được định nghĩa trong led_id_t như sau:

HÌNH 4 Mở Sampdự án le

6. Quay lại hội đồng quản trị.c file.
7. Đặt courser của bạn trên Board_ConfigLed () và nhấn F3 để mở khai báo.
8. Lưu ý rằng tất cả các đèn LED được định nghĩa trong led_id_t sau đó được cấu hình trong Board_ConfigLed () làm đầu ra.

HÌNH 5 Mở Sampdự án le

Điều này có nghĩa là tất cả các đèn LED trên bảng phát triển đã được xác định là đầu ra và sẵn sàng sử dụng.

 

3. Thực hiện sửa đổi đối với Z-Wave Sample Ứng dụng

Trong bài tập này, chúng tôi sẽ sửa đổi các GPIO được sử dụng cho đèn LED trong nút Bật / Tắtampứng dụng le. Trong phần trước, chúng ta đã tìm hiểu cách tất cả các đèn LED trên bảng phát triển đã được khởi tạo dưới dạng đầu ra và sẵn sàng sử dụng.

3.1 Sử dụng đèn LED RGB

Chúng tôi sẽ sử dụng đèn LED RGB tích hợp trên mô-đun phát triển Z-Wave, thay vì đèn LED trên bảng nút.

1. Định vị chức năng RefreshMMI, như trong Hình 6, trong ứng dụng chính SwitchOnOff.c file.

FIG 6 RefreshMMI mà không có bất kỳ sửa đổi nào

Hình 6: RefreshMMI mà không có bất kỳ sửa đổi nào

2. Chúng tôi sẽ sử dụng chức năng “Board_SetLed” nhưng thay đổi GPIO thành
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Gọi “Board_SetLed” 3 lần ở cả trạng thái TẮT và BẬT, như trong Hình 7.

Hình 7 RefreshMMI được sửa đổi để sử dụng đèn LED RGB

Sửa đổi mới của chúng tôi hiện đã được triển khai và bạn đã sẵn sàng để biên dịch.
Các bước để lập trình một thiết bị được đề cập trong bài tập “3A Compile Switch OnOff and enable debug” và được lặp lại ngắn gọn tại đây:

  1. Nhấp vào "Xây dựng" ICON 1 nút để bắt đầu xây dựng dự án.
  2. Khi quá trình xây dựng hoàn tất, hãy mở rộng thư mục “Binaries” và nhấp chuột phải vào * .hex file để chọn “Flash tới thiết bị ..”.
  3. Chọn phần cứng được kết nối trong cửa sổ bật lên. “Trình lập trình Flash” hiện đã được điền sẵn tất cả dữ liệu cần thiết và bạn đã sẵn sàng nhấp vào “Chương trình”.
  4. Nhấp vào "Chương trình".

Sau một thời gian ngắn quá trình lập trình kết thúc và thiết bị cuối của bạn hiện đã được nhấp nháy với phiên bản Bật / Tắt đã sửa đổi của bạn.

3.1.1 Kiểm tra chức năng

Trong các bài thực hành trước, chúng tôi đã đưa thiết bị vào mạng Z-Wave an toàn bằng SmartStart. Tham khảo bài tập “Bao gồm sử dụng SmartStart” để được hướng dẫn.

Gợi ý Nội bộ file hệ thống không bị xóa giữa các lần lập trình lại. Điều này cho phép một nút ở trong mạng và giữ nguyên các khóa mạng khi bạn lập trình lại nó.

Nếu bạn cần thay đổi, ví dụ như tần số mà mô-đun hoạt động hoặc DSK, bạn cần “Xóa” chip trước khi tần số mới sẽ được ghi vào NVM bên trong.

Như vậy, thiết bị của bạn đã được bao gồm trong mạng.

Kiểm tra chức năng bằng cách xác minh rằng bạn có thể BẬT và TẮT đèn LED RGB.

  • Kiểm tra chức năng bằng cách sử dụng “BẬT Cài đặt Cơ bản” và “TẮT Cài đặt Cơ bản” trong Bộ điều khiển PC. Đèn LED RGB phải BẬT và TẮT.
  • Đèn LED RGB cũng có thể được BẬT và TẮT bằng cách sử dụng BTN0 trên phần cứng.

Hiện chúng tôi đã xác minh rằng sửa đổi đang hoạt động như mong đợi và đã thay đổi thành công GPIO được sử dụng trong Sample Ứng dụng

3.2 Thay đổi thành phần màu RGB

Trong phần này, chúng tôi sẽ sửa đổi đèn LED RGB và cố gắng trộn các thành phần màu sắc.

“Một màu trong mô hình màu RGB được mô tả bằng cách cho biết mỗi màu đỏ, xanh lục và xanh lam được đưa vào. Màu được biểu thị dưới dạng bộ ba RGB (r, g, b), mỗi thành phần có thể thay đổi từ XNUMX đến một giá trị lớn nhất xác định. Nếu tất cả các compo-nent bằng XNUMX, kết quả là màu đen; nếu tất cả đều ở mức tối đa, kết quả là màu trắng sáng nhất có thể đại diện được. "

Từ Wikipedia trên Mô hình màu RGB.

Hình 8 Các thành phần màu RGB được trộn lẫn với nhau

Vì chúng ta đã bật tất cả các thành phần màu trong phần trước nên đèn LED RGB có màu trắng khi BẬT. Bằng cách bật và tắt các thành phần riêng lẻ, chúng ta có thể thay đổi đèn LED. Ngoài ra, bằng cách điều chỉnh cường độ của từng thành phần màu, chúng ta có thể tạo ra tất cả các màu ở giữa. Vì vậy, chúng tôi sẽ sử dụng PWM để kiểm soát các GPIO.

  1. Trong ApplicationTask (), hãy khởi tạo PwmTimer và thiết lập các chân RGB thành PWM, như thể hiện trong Hình 9.                                                                                Hình 9 PWM được khởi tạo trong ApplicationTask
  2. Trong RefreshMMI (), chúng tôi sẽ sử dụng một số ngẫu nhiên cho mọi thành phần màu. Sử dụng hàm rand () để nhận giá trị mới mỗi khi đèn LED được BẬT.
  3. Sử dụng DPRINTF () để ghi giá trị mới được tạo vào cổng gỡ lỗi nối tiếp.
  4. Thay thế Board_SetLed () bằng Board_RgbLedSetPwm (), để sử dụng giá trị ngẫu nhiên.
  5. Tham khảo Hình 10 để biết RefreshMMI () được cập nhật.

Hình 10 RefreshMMI được cập nhật với PWM

Hình 10: RefreshMMI được cập nhật với PWM

Sửa đổi mới của chúng tôi hiện đã được triển khai và bạn đã sẵn sàng để biên dịch.

  1. Nhấp vào "Xây dựng" ICON 1 nút để bắt đầu xây dựng dự án.
  2. Khi quá trình xây dựng hoàn tất, hãy mở rộng thư mục “Binaries” và nhấp chuột phải vào * .hex file để chọn “Flash tới thiết bị ..”.
  3. Chọn phần cứng được kết nối trong cửa sổ bật lên. “Trình lập trình Flash” hiện đã được điền sẵn tất cả dữ liệu cần thiết và bạn đã sẵn sàng nhấp vào “Chương trình”.
  4. Nhấp vào "Chương trình".

Sau một thời gian ngắn quá trình lập trình kết thúc và thiết bị cuối của bạn hiện đã được nhấp nháy với phiên bản Bật / Tắt đã sửa đổi của bạn.

3.2.1 Kiểm tra chức năng

Kiểm tra chức năng bằng cách xác minh rằng bạn có thể thay đổi màu của đèn LED RGB.

  1. Kiểm tra chức năng bằng cách sử dụng “BẬT Cài đặt Cơ bản” trong Bộ điều khiển PC.
  2. Nhấp vào “BẬT Cài đặt Cơ bản” để xem sự thay đổi về màu sắc.

Hiện chúng tôi đã xác minh rằng sửa đổi đang hoạt động như mong đợi và đã thay đổi thành công GPIO để sử dụng PWM.

4. Thảo luận

Trong bài thực hành này, chúng tôi đã sửa đổi tính năng Bật / Tắt từ điều khiển đèn LED đơn giản sang điều khiển đèn LED nhiều màu. Tùy thuộc vào các giá trị PWM, bây giờ chúng ta có thể thay đổi thành bất kỳ màu sắc và cường độ nào.

  • Có nên sử dụng “Công tắc nhị phân” làm Loại thiết bị cho ứng dụng này không?
  • Các lớp lệnh nào phù hợp hơn với đèn LED nhiều màu?

Để trả lời câu hỏi, bạn nên tham khảo thông số kỹ thuật của Z-Wave:

  • Đặc điểm kỹ thuật loại thiết bị Z-Wave Plus v2
  • Đặc điểm kỹ thuật lớp lệnh ứng dụng Z-Wave

Phần này kết thúc hướng dẫn về cách sửa đổi và thay đổi GPIO của Z-Wave Sample Ứng dụng.

 

Đọc thêm về hướng dẫn này và tải xuống PDF:

Tài liệu / Tài nguyên

SILICON LABS Lab 3B - Sửa đổi Bật / Tắt Công tắc [tập tin pdf] Hướng dẫn sử dụng
Lab 3B, Sửa đổi công tắc, Bật, Tắt, Z-Wave, SDK

Tài liệu tham khảo

Để lại bình luận

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *