/* 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