跳到主要內容
物聯網 / Arduino程式設計 / 類比訊號處理

類比訊號處理

nodeMCU僅有一個類比訊號輸入接腳A0,Arduino有六個類比訊號輸入接腳A0~A5

進行類比訊號處理時,不需要使用pinMode設定該接腳的模式

 

讀取類比訊號的函數指令是analogRead,其指令格式如下:

analogRead(接腳編號);

範例:將讀取A0接腳的類比訊號,並將數值給變數i

i=analogRead(A0);

 

輸出類比訊號,nodeMCU及Arduino都是使用PWM(Pulse Width Modulation,脈衝寬度調變)

PWM 是使用高、低電壓時間週期來輸出類比訊號,以模擬類比訊號為例,基本原理是若在一個時間周期中,50% 的時間輸出高電位 5V,而 50% 輸出的時間輸出低電位 0V,那麼就整個時間周期來說,平均電壓可視為 2.5V,如果 90% 的時間輸出高電位 5V,那麼就整個時間周期來說,平均電壓可視為 4.5V,若 10% 的時間輸出高電位 5V,那麼就整個時間周期來說,平均電壓可視為 0.5V。

1

1

輸出類比訊號的函數指令是analogWrite,其指令格式如下:

analogWrite(接腳編號,輸出值);

nodeMCU的輸出值為0~1023

50% duty cycle = 512 (nodeMcu最大電壓為3.3V,所以100%是3.3V,50%是1.7V)

25% duty cycle = 256 

例如:讓D6接腳輸出1.7V電壓

analogWrite(D6,512);

跳至網頁頂部