Está en la página 1de 3

CONVERSORES DIGITAL ANALÓGICO

Usando DACs

OBJETIVOS

 Crear una señal analógica con el ESP32

MATERIAL REQUERIDO

DACs

El Conversor Digital Analógico (DAC), a diferencia del ADC, entrega un valor de tensión que
podemos elegir con código. Ese valor podemos hacer que cambie en el tiempo para reproducir
una señal analógica senoidal, triangular, etc.

El ESP32 tiene dos DACs de 8 bits de precisión cada uno, lo cual significa que tiene una
resolución de 256 valores desde 0V a la tensión de referencia (3.3V).

Los DACs del ESP32 se encuentran en los pines 25 y 26 del embebido, para probar el
funcionamiento de ambos vamos a realizar un pequeño código.

CÓDIGO
Este código envia una señal que aumenta su valor de tensión cada 10ms, para poder leer esa
señal utilizamos uno de los pines del ESP32 como ADC y conectamos el pin 25 al 33.
int val = 0;
void setup() {
Serial.begin(115200);
}

void loop() {
dacWrite(25, val++);
Serial.println(analogRead(33));
delay(10);
}

Profesor: Julián Félix González Greslebin


Si abrimos el Serial Plotter podemos ver como la señal que emite el ESP32 es recibida por el
mismo y graficada. (obviando el ruido producido por la conexión).

Podemos alterar el gráfico de la función dándole una distinta serie de valores al programa:
int i = 0;
void setup() {
Serial.begin(115200);
}
void loop() {
for(i = -255; i<256;i++){
dacWrite(25, abs(i));
Serial.println(analogRead(33));
delay(10);
}
i = -255;
}

Acá se puede ver una señal triangular.

Profesor: Julián Félix González Greslebin


Ahora como tarea para el alumno intenten recrear una señal senoidal con el DAC , recuerden
que el DAC no puede tirar tensión negativa por lo cual la senoidal va a tener valores todos
positivos. Ejemplo de cómo tiene que quedar:

Pista: usar la función sin() o cos().

Ambas funciones devuelven lo mismo que devolvería la función en una calculadora.

Profesor: Julián Félix González Greslebin

También podría gustarte