類比訊號處理
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。
輸出類比訊號的函數指令是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);