ESP32学习记录<四>ADC和DAC
前言
ADC和DAC是单片机比较常用的,ESP32具有12位的ADC和8位的DAC。今天我就简单地记录它们的使用。
一、ADC
ADC也就是我们通常所说的模数转换,模拟信号转数字信号。ESP32本身自带12位ADC功能的库,好多引脚都具有adc,至于是哪些引脚可以去参考芯片手册,针对不同型号的芯片会有的不同。
`analogRead(引脚名称);
可使用analoread函数读取模拟信号输入的数字输出。下面简单举个例子,我用一个电位器简单试了下,通过串口打印出数据。
const int adc=14;
int x=0;
void setup() {
Serial.begin(115200);
}
void loop() {
x=analogRead(adc);
Serial.println(x);
delay(100);
}
二、DAC
DAC的使用也很简单,esp32的io25和26都有dac,esp32的dac是八位的,所以输入的数值不要大于255。
dacWrite(io引脚,数值);
可用dacwrite()函数进行数模转换,我们可以用万用表测量引脚输出电压的大小
代码如下(示例):
#include <Arduino.h>
const int dac=25;
int x=255;
void setup() {
Serial.begin(115200);
}
void loop() {
dacWrite(dac,x);
delay(100);
}
通过改变x的数值就可以改变输出电压的大小。
总结
对于esp32来说,ADC和DAC的使用都相对简单,我们只需学会调用arduino库里的函数。可能会有一些小错误,还望各位大佬指正。
以上为本次记录。。