<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; ESP32 генератор, регулировка частоты]]></title>
		<link>http://forum.rcl-radio.ru/viewtopic.php?id=705</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=705&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «ESP32 генератор, регулировка частоты».]]></description>
		<lastBuildDate>Sat, 17 May 2025 18:49:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[ESP32 генератор, регулировка частоты]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?pid=11824#p11824</link>
			<description><![CDATA[<p>Пытаюсь менять частоту грнератора используя кнопк, но делаю чо то не так . Может кто то знает что делаю неправельно.<br /></p><div class="codebox"><pre><code>//https://www.i-programmer.info/programming/148-hardware/17804-programming-the-esp32-in-c-pwm-first-example.html?start=4#google_vignette
#include &lt;driver/ledc.h&gt;
int k;
//const int btn_inc = 16;
//const int btn_dec = 17;
const int maxFreq = 18000;
const int minFreq = 5000;
//unsigned long tim_btn_inc, tim_btn_dec;
//+++++++++++++++++++++++++++++++
// variables will change:
int freq = maxFreq;
int interval = 1; // variables will change:

void setup() {
  Serial.begin(115200);
  pinMode(32, INPUT_PULLUP);    //k++
  pinMode(33, INPUT_PULLUP);   //k--
  /*
    ledc_timer_config_t timerConfig = {
      .speed_mode = LEDC_LOW_SPEED_MODE,
      .duty_resolution = LEDC_TIMER_10_BIT,
      .timer_num = LEDC_TIMER_0,
      .freq_hz = 10000,              //+++++++++++++++++++++++++++++
      .clk_cfg = LEDC_AUTO_CLK
    };
    ledc_timer_config(&amp;timerConfig);
  */

  ledc_channel_config_t channelConfig1 = {
    .gpio_num = 12,
    .speed_mode = LEDC_LOW_SPEED_MODE,
    .channel = LEDC_CHANNEL_0,
    .timer_sel = LEDC_TIMER_0,
    .duty = 512,
    .hpoint = 0
  };
  ledc_channel_config(&amp;channelConfig1);


  ledc_channel_config_t channelConfig2 = {
    .gpio_num = 27,
    .speed_mode = LEDC_LOW_SPEED_MODE,
    .channel = LEDC_CHANNEL_1,
    .timer_sel = LEDC_TIMER_0,
    .duty = 512,
    .hpoint = 256
  };
  ledc_channel_config(&amp;channelConfig2);
}


void loop()
{
}

//++++++++++++
void frequencyChange()  //void somefunc()
// your variable here
{
  if (digitalRead(32) == LOW) {
    k++;
    if (k &gt; 18000) k = 18000;
   // Serial.println(k); //for debugging purposes
  }
  if (digitalRead(33) == LOW) {
    k--;
    if (k &lt; 5000) k = 5000;
   // Serial.println(k); //for debugging purposes
  }

  ledc_timer_config_t timerConfig = {
    .speed_mode = LEDC_LOW_SPEED_MODE,
    .duty_resolution = LEDC_TIMER_10_BIT,
    .timer_num = LEDC_TIMER_0,
    .freq_hz = k,              //+++++++++++++++++++++++++++++
    .clk_cfg = LEDC_AUTO_CLK
  };
  ledc_timer_config(&amp;timerConfig);

  //+++++++++++++++++++++++++++++++
  Serial.print(&quot;  k3 =  &quot;);
  Serial.println(k);
  delay( 2 );
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (galina)]]></author>
			<pubDate>Sat, 17 May 2025 18:49:27 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?pid=11824#p11824</guid>
		</item>
	</channel>
</rss>
