ESP32 Attivare due segnali PWM su PIN diversi e con frequenza diversa contemporaneamente

`Ciaoo a tutti volevo chiedervi un consiglio su una ESP32 stavo cercando di far funzionare due led indipendenti ognuno tramite un segnale PWM diverso su due PIN diversi, per il primo led ci sono riuscito , pero ho problemi nel compilare lo sketch su come aggiungere un nuovo segnale PWM per far funzionale l'altro led indipendente, grazie a tutti per eventuali consigli

void setup() {
  int freq = 5000;          
  int res  = 8;       
  ledcAttach(4, freq, res); 
  ledcAttach(2, freq, res); 
  }

void loop() {
  for (int i = 0; i < 256; i++){
    ledcWrite(2, i);
    ledcWrite(4, i);
    delay(5);
  }
  for (int i = 255; i >= 0; i--){
    ledcWrite(2, i);
    ledcWrite(4, i);
    delay(5);
    
  }

Ciao ho provato a fare delle modifiche in totale ho aggiunto 4 led.
ho notato che i led sul pin 2 e 4 , ed i led sui pin 5 e 19 lavorano in coppia, in pratica sia i led sul pin 2 e 4 funzionano a 60 KHz, invece i led sui pin 5 e 19 funzionano a 30KHz, come mai non lavorano ognuno modo indipendente?

void setup() {
  int freq1 = 3000;
  int res1 = 8 ;  
   
  int freq2 = 60000;
  int res2 = 8 ;
  
  int freq3 = 1000;
  int res3 = 8 ;
  
  int freq4 = 30000;
  int res4 = 8 ;
  ledcAttach(2, freq1, res1);
  ledcAttach(4, freq2, res2);
  ledcAttach(5, freq3, res3);
  ledcAttach(19,freq4, res4);
  }

void loop() {
  for (int i = 0; i < 256; i++){
    ledcWrite(2, i);
    ledcWrite(4, i);
    ledcWrite(5, i);
    ledcWrite(19, i);
    delay(5);
  }
  
  for (int i = 255; i >= 0; i--){
    ledcWrite(2, i);
    ledcWrite(4, i);
    ledcWrite(5, i);
    ledcWrite(19, i);
    delay(5);
  }
  
    
  
}

Ciao ho trovato la soluzione nel caso possa servire a qualcuno
ledcAttachChannel
Questa funzione viene utilizzata per impostare il pin LEDC con frequenza, risoluzione e canale specificati.

bool ledcAttachChannel(uint8_t pin, uint32_t freq, uint8_t resolution, uint8_t channel);

  • pin seleziona il pin LEDC.
  • freq seleziona la frequenza del pwm.
  • resolution seleziona la risoluzione per il canale LEDC.
  • channel seleziona il canale LEDC.
    • l'intervallo è 1-14 bit (1-20 bit per ESP32).

Questa funzione verrà restituita true se la configurazione ha esito positivo. Se false viene restituita, si verifica un errore e il canale LEDC non è stato configurato.
Trovate tutto qui su questo sito;
https://espressif-docs.readthedocs-hosted.com/projects/arduino-esp32/en/latest/api/ledc.html

void setup() {
  ledcAttachChannel(2, 10000, 8, 1);
  ledcAttachChannel(4, 20000, 8, 2);
}

void loop() {
  for (int i = 0; i < 256; i++){
    ledcWrite(2, i);
    ledcWrite(4, i);
    delay(5);
  }
  for (int i = 255; i >= 0; i--){
    ledcWrite(2, i);
    ledcWrite(4, i);
    delay(5);
  }
  
}

Scusa avevo letto, ma non avevo compreso bene.

Ciao.