How can we help you today?
【感測】供電電壓 | DUAL22-2s
簡介
Dual22開發板具有內建供電電壓偵測電路,GPIO腳位為36。本單元提供相關電路資訊並提供 Arduino C 與 yesioBlockly積木程式範例。
準備
材料與工具
本文範例使用【DUAL22-2s開發板】為示範。
GPIO與電路
DUAL22-2s開發板內建供電電壓感測電路接於【G36】腳位。此接腳採用分壓電路輸入,如圖所示。
注意:供電時,鋰電池供電與外接供電之間,不可同時使用,否則將造成燒毀危險。原因是同時使用時,將造成外接電源對鋰電池充電現象,而鋰電池充電必須介接充電管理晶片,才能確保充電安全性。
函數與補充
我們依據DUAL22-2s的電路規劃特性,提供專用的函數庫以方便【快速應用與學習】的用途。當然,你也可以選擇不使用此函數庫,一樣可以完整地控制DUAL22-2s硬體功能。我們的函數庫完全開放、使用簡明的C/C++語法撰寫,你也可以據此修改更加適合你使用需求的函數庫。
函數使用方式,請參照本文、韌體範例。
函數庫 | 控制元件 | 內建數 | 類別 | 方法 |
---|---|---|---|---|
dual2s.h | 供電電壓 | 1 | Power | + float Power::voltage() |
韌體範例
本單元提供Arduino C、yesioBlockly兩種簡易程式範例。程式功能:每秒讀取Dual22開發板供電電壓後,將讀取的電壓值輸出於序列埠介面之上。
Arduino C
【dual2s函數庫是小幫手,功用在快速上手】
dual2s函數庫開放,有需要者,你可以修改成所需的功能。
- 行數 4-26:DUAL22-2s開發板GPIO腳位定義。依據需求開啟相對腳位即可。
- 行數30-38:PWM通道使用定義。
#include <dual2s.h>
//DC電機GPIO
#define PIN_MOTO_1A 14
#define PIN_MOTO_1B 32
#define PIN_MOTO_2A 12
#define PIN_MOTO_2B 33
#define PIN_MOTO_3A 25
#define PIN_MOTO_3B 26
#define PIN_MOTO_4A 23
#define PIN_MOTO_4B 22
//蜂鳴器GPIO
#define PIN_BUZZER 15
//超音波GPIO
#define PIN_USC_FRONT_ECHO 13
#define PIN_USC_FRONT_TRIG 27
#define PIN_USC_RIGHT_ECHO 5
#define PIN_USC_RIGHT_TRIG 4
#define PIN_USC_LEFT_ECHO 19
#define PIN_USC_LEFT_TRIG 18
//短距紅外線GPIO
#define PIN_IR_LEFT 34
#define PIN_IR_MIDDLE 35
#define PIN_IR_RIGHT 39
//供電偵測GPIO
#define PIN_BATTERY 36
//esp32 has 16 PWM channel
//Reserve 0-6 Channel for Servo, LED ...
#define PWM_CH_BUZZER 7
#define PWM_CH_M1A 8
#define PWM_CH_M1B 9
#define PWM_CH_M2A 10
#define PWM_CH_M2B 11
#define PWM_CH_M3A 12
#define PWM_CH_M3B 13
#define PWM_CH_M4A 14
#define PWM_CH_M4B 15
//取得Power電壓偵測物件
Power power(PIN_BATTERY);
void setup() {
Serial.begin(115200);
}
void loop() {
//每秒於RS232介面上所取的電壓偵測值
Serial.println(power.voltage());
delay(1000);
}