Arduino ESP32 D/A转换程序示例
- D/A转换精度是8位的,也就是0-255.
实验效果:接入在esp32上的25和26引脚上的Led灯忽亮忽灭,呼吸灯效果。
程序代码
#define LED1 25
#define LED2 26
void setup(){
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
}
void loop()
{
for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle = dutyCycle + 1) // 逐渐变亮
{
dacWrite(LED1, dutyCycle); // 输出DAC
dacWrite(LED2, 255 - dutyCycle); // 输出DAC
delay(25);
}
for (int dutyCycle = 255; dutyCycle >= 0; dutyCycle = dutyCycle - 1) // 逐渐变暗
{
dacWrite(LED1, dutyCycle); // 输出DAC
dacWrite(LED2, 255 - dutyCycle); // 输出DAC
delay(25);
}
}