首頁 > 評測 > NXP i.MX7D與AndroidThings系列之六:PWM輸出

NXP i.MX7D與AndroidThings系列之六:PWM輸出

NXP   i.MX7D    AndroidThings    PWM   
  • 作者:SATURN
  • 來源:21ic
  • [導讀]
  • 本文是AndroidThings的第六篇,將為大家演示如何通過PWM實現(xiàn)電燈。

 本文是AndroidThings的第六篇,將為大家演示如何在IMX7D上通過PWM實現(xiàn)電燈。需要注意的是,PWM輸出并不是模擬信號,而是利用數(shù)字輸出來達到模擬信號的特性,通過調整頻率及占空比,可以實現(xiàn)常規(guī)模擬信號不能達到的要求,在電機控制、燈光調光方面應用非常廣泛。在AndroidThings設備中使用PWM,方法更簡單!

歡迎加入Android Things交流群:452863046

脈寬調制 PWM)是使用數(shù)字輸出引腳向外部器件施加比例控制信號的常用方法。例如,伺服電機使用輸入PWM信號的脈沖寬度來確定它們的旋轉角度。LCD顯示器根據(jù)PWM信號的平均值調整其亮度。

PWM是一種數(shù)字(即方波)信號,它根據(jù)給定的頻率和占空比振蕩

• 頻率(以Hz表示)描述輸出脈沖重復的頻率。

• 周期是每個周期所需的時間,并且是頻率的倒數(shù)。

• 占空比(以百分比表示)描述該頻率窗內(nèi)的脈沖寬度。

例如,設置為50%占空比的PWM信號在每個周期的一半時間內(nèi)有效:

QQ截圖20180719093340.png

i.MX7D提供的PWM接口如下 

rId22.png

接口引腳圖上看到有兩個PWM,即PWM1PWM2,這一點可以通過如下的代碼來加以驗證

Log.d(TAG, "PWM" + PeripheralManager.getInstance().getPwmList());
 
LogCat輸出信息如下:
 
/com.example.netlh.pwm D/AndroidThings: PWM[PWM1, PWM2]

接下來我們使用LED燈來做一個呼吸燈效果,實現(xiàn)PWM輸出測試。

IMG_20180702_103608_copy.jpg 

LED燈連接到PWM1接口,使用Handler.postDelay()來做簡單的定時功能。當然在此之前記得打開IO權限

<uses-permission android:name="com.google.android.things.permission.USE_PERIPHERAL_IO" />

接下來看代碼,如何來實現(xiàn)呼吸燈的效果

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉載!

網(wǎng)友評論