/* Sur la broche GPIO 25 de l'ESP32,
production d'un sinus dont l'amplitude
et la fréquence sont contrôlés par des
potentiomètres Plus d'infos:
https://electroniqueamateur.blogspot.com/2019/09/esp32-production-dun-signal-analogique.html*/
const int potAmplitude = 33;
// potentiomètre à GPIO 33 pour régler l'amplitudeconst
int potFrequence = 32; // potentiomètre à GPIO 32 pour régler la fréquence
unsigned long dernierTemps;
int intervalle; //nombre de microsecondes entre deux changements de valeurs consécutifs
int compteur = 0;
void setup() {
dernierTemps = micros();
}
void loop() {
unsigned long nouveauTemps = micros();
intervalle = analogRead(potFrequence) / 20;
if ((nouveauTemps - dernierTemps) >= intervalle) {
dacWrite(25, 128 + analogRead(potAmplitude) / 32 * sin(2 * PI * compteur / 255.0));
compteur++;
if (compteur == 256) {
compteur = 0;
}
dernierTemps = nouveauTemps;
}
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
pot1:VCC
pot1:SIG
pot1:GND