【開箱教學】DSI5168物聯網開發板應用測試範例

六畜興旺發佈於2020-03-18 03:08:26

瀏覽42399

回覆1

最後編輯於2024-04-26 01:36:57

為了快速、有效的解決物聯網產品在研發及行銷上的需求,並且可以讓物聯網新創團隊更快速完成初期的原型開發,找到早期使用者進行測試,因此,一套能加快開發的物聯網建置環境會對團隊有很大的幫助。

在筆者另一篇文章《快速上手精簡易用的物聯網開發板-DSI5168》中介紹了DSI5168這塊專為IoT新創設計的開發板,它提供完全兼容Arduino的開發特性,還一舉整合MCU、Wi-Fi、Ethernet及豐富的接腳介面,並搭配提供標準化的Arduino函式庫,是一套完整的物聯網方案開發板,更可快速打造出IoT產品的雛形,進而經由量產輔導機制,很務實地幫團隊加速跨越開發、實作的過程,順利將創意商品量產推入市場。

本文將針對此開發板的一些特色功能進行介紹,並提供相關的範例程式,有興趣的讀者可實際執行看看,會更有心得。

DSI5168 PWM應用測試

在電子元件的操控上,常會使用到PWM,PWM 全名叫做 pulse width modulation(脈衝寬度調變),最主要的核心概念為 工作週期(Duty Cycle)。簡單來說,PWM 原理是用 analogWrite() 輸出0~255的值來產生對應電壓,透過電壓值的變化產生亮度或不同顏色的變化。

DSI5168開發板提供4個PWM GPIO Pin(D10、D11、D12、D13),如下圖,本範例利用RGB LED來驅動全彩LED亮燈的顏色,此範例的接線方式為 V :5V、R:PWM (D10)、 G:PWM (D11)、 B:PWM (D12)。

範例程式如下:

int redPin = 10;
int greenPin = 11;
int bluePin = 12;
//uncomment this line if using a Common Anode LED
#define COMMON_ANODE
void setup()
{
 pinMode(redPin, OUTPUT);
 pinMode(greenPin, OUTPUT);
 pinMode(bluePin, OUTPUT);
}

void loop()
{
 setColor(255, 0, 0); // red
 delay(1000);
 setColor(0, 255, 0); // green
 delay(1000);
 setColor(0, 0, 255); // blue
 delay(1000);
 setColor(255, 255, 0); // yellow
 delay(1000);
 setColor(80, 0, 80); // purple
 delay(1000);
 setColor(0, 255, 255); // aqua
 delay(1000);
}

void setColor(int red, int green, int blue)
{
 #ifdef COMMON_ANODE
 red = 255 - red;
 green = 255 - green;
 blue = 255 - blue;
 #endif

 analogWrite(redPin, red);
 analogWrite(greenPin, green);
 analogWrite(bluePin, blue);
}

 

共1條回覆 最後由六畜興旺回覆於2020-03-30 02:02:48
#1
六畜興旺 回覆於 2020-03-30 02:02:48

感謝分享