Signal Generate for DAC
Posted: Thu Jan 24, 2019 4:38 pm
[ENG - Google Translate]
Hi.
I am new to the ESP32 world and I try to learn everything you can offer.
I want to do: To start, when I press a button, the DAC will generate a sinusoidal signal with the Hz indicated in a Variable (example v_Hz = 100Hz/s). and when you stop pressing it stops.
How could I do that, some idea of the code?
Do the sine wave:
You can give me a hand.
Thank you.
[SPANISH]
Hola.
Soy nuevo en el mundo del ESP32 e intento aprender todo lo qye puede ofrecer.
Quiero hacer: Para empezar, al pulsar un botón el DAC me genere una señal senoidal con los Hz indicados en una Variable (ejemplo v.Hz = 100Hz/s). y cuando lo deje de pulsar que se detenga.
¿Como podría hacer eso, alguna idea del código?
Se hacer la onda senoidal:
Pueden echarme una mano.
Gracias.
Hi.
I am new to the ESP32 world and I try to learn everything you can offer.
I want to do: To start, when I press a button, the DAC will generate a sinusoidal signal with the Hz indicated in a Variable (example v_Hz = 100Hz/s). and when you stop pressing it stops.
How could I do that, some idea of the code?
Do the sine wave:
Code: Select all
int v_Hz = 100; // Hz/s of the signal (not yet used).
int v_ampli = 256; // DAC 8 bits
void setup ()
{
pinMode (25, OUTPUT); // DAC_1
}
void loop ()
{
for (int deg = 0; deg <360; deg = deg + 1)
{
int f_dac_out = v_ampli * (without (deg * PI / 180)); // Function generates Sine Wave.
dacWrite (25, f_dac_out); // Take the Signal by DAC0 (pin25)
}
}
Thank you.
[SPANISH]
Hola.
Soy nuevo en el mundo del ESP32 e intento aprender todo lo qye puede ofrecer.
Quiero hacer: Para empezar, al pulsar un botón el DAC me genere una señal senoidal con los Hz indicados en una Variable (ejemplo v.Hz = 100Hz/s). y cuando lo deje de pulsar que se detenga.
¿Como podría hacer eso, alguna idea del código?
Se hacer la onda senoidal:
Code: Select all
int v_Hz = 100; // Hz/s de la señal.
int v_ampli = 256; //DAC 8 bits
void setup()
{
pinMode(25, OUTPUT); //DAC_1
}
void loop()
{
for (int deg = 0; deg < 360; deg = deg + 1)
{
int f_dac_out = v_ampli*(sin(deg*PI/180)); // Función genera Onda Senoidal.
dacWrite(25, f_dac_out); // Saca por el DAC0 (pin25) la Señal
}
}
Gracias.