05. Пиезо-зумер

/*
В този пример пиезо-зумера (свързан към пин D26) ... .
*/

// константи, описващи използваните пинове
const int PB_pin = 26;

// константи, описващи използваните PWM канали
const int PB_ch = 3;

void setup() {
// настройване на PWM канала, използван за управление на пиезо-зумера:
ledcSetup(PB_ch, 2000, 8);      // канал 3, честота 2 kHz, 8 бита (0-255)

// свързване на PWM-канала към пина на пиезо-зумера
ledcAttachPin(PB_pin, PB_ch);   // червен светодиод към канал 0
}

void loop() {
// генериране на постоянен тон с честоте 2 kHz...
ledcWriteTone(PB_ch, 2000); 

// ...и постепенно променяне на силата на тона (0-255, стъпка 10)
for (int dc = 0; dc <= 255; dc=dc+10){
    ledcWrite(PB_ch, dc);
    delay(1000);
}


// постоянна сила на тона (125/255)...
ledcWrite(PB_ch, 125);

// ...и постепенно променяне на честотата на генерирания тон (255 Hz - 10 kHz, стъпка 250 Hz)
for (int freq = 255; freq < 10000; freq = freq + 250){
    ledcWriteTone(PB_ch, freq);
    delay(1000);
}
}