@@ -6,65 +6,35 @@ icon: tachometer
66
77## 简介
88
9- 本章介绍使用arduino烧录Air001开发板测量ADC 。
9+ 本章介绍使用 Arduino 烧录 Air001 开发板测量 ADC 。
1010
1111## 硬件准备
1212
13- 1 . 按[ ☁️ Air001开发板入门 ] ( /tutorial-advanced/Air001_start.html ) ,将Air001和DAPLink调试器使用排针排母连接 。
14- 2 . 可控电压源,负极接Air001的GND引脚(地)、正极接引脚PA_0(ADC) 。
13+ 1 . 按 [ ☁️ Air001 开发板入门 ] ( /tutorial-advanced/Air001_start.html ) ,将 Air001 和 DAPLink 调试器使用排针排母连接 。
14+ 2 . 可控电压源,负极接 Air001 的 GND 引脚(地)、正极接引脚 PA0 以及 PA1 。
1515
1616## 软件部分
1717
18- 按前文下载Arduino IDE、安装Air MCU,并选择接口和Air001 Dev Chip 。
18+ 按前文下载 Arduino IDE、安装 AirMCU,并选择接口和 AirM2M Air001 Board 。
1919
20- 开头添加代码定义ADC引脚` PA_0 `
21-
22- ``` cpp
23- #define ADC_PIN PA_0
24- ```
25-
26- 在`setup()`函数中,添加如下代码
20+ 添加如下代码:
2721
2822``` cpp
2923void setup () {
3024 Serial.begin(115200);
31- pinMode(ADC_PIN, INPUT );
25+ analogReadResolution (12 );
3226}
33- ```
34-
35- 使用`pinMode`函数初始化ADC引脚`PA_0`,并且设置为`INPUT`输入模式。
36-
37- 在`loop()`函数中添加其余代码
3827
39- ```cpp
4028void loop () {
41- int adc_value = 0;
42- int u;
43- adc_value = analogRead(ADC_PIN);
44- delay (1000);
45- u = adc_value* 3.3* 1000/1023;
46- Serial.printf("Current Reading on Pin(%d)=%d,Current Voltage=%d\n",ADC_PIN,adc_value,u);
47- delay (1000);
29+ Serial.printf("PA0 Voltage is %d mv \n", analogReadMillivolts(PA0));
30+ Serial.printf("PA1 Voltage is %d mv \n", analogReadMillivolts(PA1));
31+ Serial.printf("Chip temp is %d C \n", analogReadTempSensor());
32+ Serial.printf("Vref is %d mv \n", analogReadVref());
33+ delay (500);
4834}
49- ```
50-
51- - 首先新建变量` adc_value ` 赋予初值0、新建变量` u `
52- - 用` analogRead ` 函数来读取ADC引脚` PA_0 ` 的原始值并赋给` adc_value `
53- - 使用` delay(1000) ` 延时一秒
54- - 计算实际AD的值
55- - 然后使用` prinf ` 函数打印出获得的引脚` PA_0 ` 的值` adc_value ` 和实际AD的值` u `
56- - 使用` delay(1000) ` 延时一秒
57-
58- ::: tip
5935
60- 由于Air001的ADC为` 10bit ` ,所以` ADC原始值 ` 的范围为` 0-1023 ` 。
61- 由此可以得到一个方程: ` 原始值 / 1023 = 实际 / 3.3 ` ,
62- 即实际AD的计算公式为(单位换算为mV):` 实际AD = 原始值 * 3.3 * 1000 / 1023 `
63-
64- :::
36+ ```
6537
6638## 输出结果
6739
68- 将波特率调为115200,在串口监视器中可观察到当前串口输出和实际AD的值(mV)
69-
70- ![ 输入电压为3V时的串口输出] ( img/adc_res.png )
40+ 将波特率调为 115200,在串口监视器中可观察到当前串口输出和引脚上的实际电压。
0 commit comments