測試量度 ADC 接腳的電壓,最重要是程式的電壓轉換和處理,由於 ESP32 在 IDF 內已經有 ADC(模擬數碼轉換器 / Analog to Digital Converter) / DAC(數碼模擬轉換器 / Digital to Analog Converter) API 函數接口,所以編寫數字電壓錶(DVM / Digital Voltage Meter)時,編程便方便了。
ESP32 ADC DVM 數字電壓錶製作 |
// ADC Parameters
gpio_num_t new_adc_gpio;
uint8_t new_adc_channel = 7;
// Channel 7 = GPIO35
uint8_t new_adc_atten = 3; //
Atten=0=1100,1=1500,2=2200,3=3300
uint8_t new_adc_width = 3; // ADC_WIDTH_BIT_12 = 3
uint8_t new_adc_unit = 1; // ADC_UNIT_1 = 1, ADC_UNIT_2 = 2
uint8_t new_adc_setting[8];
// DAC Parameters
gpio_num_t new_dac_gpio;
uint8_t new_dac_channel = 2; // Channel 2
= GPIO26
uint16_t new_dac_output = 20; // 0 ~ 255
20=1042=321mV
uint16_t new_dac_vref = 1100; //
ADC reference voltage is 1000mV ~ 1200mV
uint16_t new_dac_max = 3300; //
VDD=0dB=1100,2.5dB=1500,6dB=2200,11dB=3300
|
ESP32 ADC DVM 數字電壓錶主程式:
void adc_task(void* arg)
{
uint32_t adc_raw = 0;
uint32_t adc_volt= 0;
while(1){
adc_raw = adc1_get_raw(new_adc_channel);
adc_volt =
esp_adc_cal_raw_to_voltage(adc_raw, adc_chars);
printf("ADC Raw=%d
Voltage=%dmV\n", adc_raw, adc_volt);
sprintf(dsp_buffer, "ADC=%4d
%4dmV ", adc_raw, adc_volt);
oled_Print(0,
6, dsp_buffer,1);
vTaskDelay(1000
/ portTICK_PERIOD_MS);
} // End While
}
|
操作系統:Windows 7 64-bit 版本
開發環境:AiThinker05 版本
原程碼: ESP32 ESP-IDF V3.0rc1
程式: DIY-ESP32-011-ADC_02_Voltmeter-20181211
ESP32 ADC DVM 數字電壓錶運行中 |
ESP32 ADC DVM 數字電壓錶電路製作顯示 |
ESP32 ADC DVM 數字電壓錶電路製作的設定菜單 |
ESP32 ADC DVM 數字電壓錶電路製作的 ADC設定菜單 |
ESP32 ADC DVM 數字電壓錶電路製作的 ADC GPIO 設定菜單 |
ESP32 ADC DVM 數字電壓錶電路製作的 DAC 設定菜單 |
ESP32 ADC DVM 數字電壓錶電路製作的 DAC 設定菜單 |
ESP32 ADC DVM 數字電壓錶電路製作和遙控器 |
※ DIY - ESP32:ESP32 ADC 模擬數碼轉換器介紹 (四十三)
※ DIY - ESP32:ESP32 ADC / DAC 模擬數碼轉換器電路 (四十四)
※ DIY - ESP32:ESP32 ADC / DAC 模擬數碼轉換器程式 (四十五)
※ DIY - ESP32:ESP32 ADC 模擬數碼轉換器 API 函數(四十六)
※ DIY - ESP32:ESP32 ADC 模擬數碼轉換器 API 函數巨集及其它(四十七)
※ DIY - ESP32:ESP32 DAC 數位類比轉換器 API 函數(四十八)
※ DIY - ESP32:ESP32 DAC 數位類比轉換器 API 函數巨集及其它(四十九)
※ DIY - ESP32:ESP32 ADC 類比數位轉換器測試(五十)
※ DIY - ESP32:ESP32 ADC DVM 數字電壓錶電路(五十一)
2018年 12月 15日 天氣報告
氣溫:18.7度 @ 21:40
相對濕度:百分之 76%
天氣:天色大致良好
沒有留言:
張貼留言