Merhaba
Arduinonun pwm uclarından daha düşük frekans elde edebilirmiyiz. Bunun için nasıl ayarlamalar yapmalıyız.
Alıntı: (https://forum.arduino.cc/t/need-a-low-frequency-can-preset-at-each-value-of-15hz-to-25hz-pwm-signal/527164/21)
double frequency_Hz = 20.0; // adjust this to what your board needs
uint32_t wavelength_us = 1000000.0 / frequency_Hz;
double dutycycle_pct = 35;
uint32_t ontime_us = (double) wavelength_us * dutycycle_pct / 100.0;
uint32_t cycleStart_us;
void setup() {
cycleStart_us = micros();
pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);
}
void loop() {
uint32_t us = micros() - cycleStart_us;
while(us >= wavelength_us) {
// this method of adjusting the cyclestart gives more accurate cycles
cycleStart_us += wavelength_us;
us -= wavelength_us;
}
digitalWrite(pin, us < ontime_us ? HIGH : LOW);
}
https://electronoobs.com/eng_arduino_tut140.php