<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[RemoteXY community — Построение двух графиков]]></title>
	<link rel="self" href="https://forum.remotexy.com/extern.php?action=feed&amp;tid=1635&amp;type=atom" />
	<updated>2023-03-31T09:47:46Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.remotexy.com/viewtopic.php?id=1635</id>
		<entry>
			<title type="html"><![CDATA[Re: Построение двух графиков]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=5078#p5078" />
			<content type="html"><![CDATA[<p>Похоже, что данная тема мало кого интересует, раз никто ничего не сообщил в ответ. Жаль, что никто не помог, пришлось самому разбираться. Но это было полезно, так как показало, что оказывается delay не только не препятствует, но и наоборот помогает в работе программы. Хотя в инструкции наоборот написано, что употреблять его не следует.Хотелось бы по этому поводу спросить разработчиков все-таки когда его следует употреблять , а когда не следует.</p>]]></content>
			<author>
				<name><![CDATA[gorchakov]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2370</uri>
			</author>
			<updated>2023-03-31T09:47:46Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=5078#p5078</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Построение двух графиков]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=5077#p5077" />
			<content type="html"><![CDATA[<p>Вдогонку еще пару комментариев. Одновременно строить два разных графика не получится, так как у них разный масштаб. В моем случае частоты- это тысячи, а амплитуда-это единицы и получается , что одного графика практически не видно. Поэтому, чтобы вывести их оба нужно привести их к одному масштабу, например задавать частоту в килогерцах или строить два разных графика</p><div class="quotebox"><cite>gorchakov wrote:</cite><blockquote><p>Сам себе не поможешь-никто не поможет. Победил-упростил программу совсем, использовал пример из описания графика и пришлось как ни странно добавить в цикл задержку, которую не рекомендуют добавлять.</p><p>// определение режима соединения и подключение библиотеки RemoteXY <br />#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT<br />#include &lt;ESP8266WiFi.h&gt;</p><p>#include &lt;RemoteXY.h&gt;</p><p>// настройки соединения <br />#define REMOTEXY_WIFI_SSID &quot;one&quot;<br />#define REMOTEXY_WIFI_PASSWORD &quot;12345678&quot;<br />#define REMOTEXY_SERVER_PORT 6377<br />const byte dynPin=2;<br />//генерация звука на втором пине<br />int frec;<br />// конфигурация интерфейса&nbsp; <br />#pragma pack(push, 1)<br />uint8_t RemoteXY_CONF[] =&nbsp; &nbsp;// 45 bytes<br />&nbsp; { 255,1,0,4,0,38,0,16,126,0,68,49,7,7,87,42,94,186,97,109,<br />&nbsp; 112,108,105,116,117,100,101,0,2,0,33,51,22,11,2,26,31,31,79,78,<br />&nbsp; 0,79,70,70,0 };<br />&nbsp; <br />// структура определяет все переменные и события вашего интерфейса управления <br />struct {</p><p>&nbsp; &nbsp; // input variables<br />&nbsp; uint8_t switch_1; // =1 если переключатель включен и =0 если отключен </p><p>&nbsp; &nbsp; // output variables<br />&nbsp; float onlineGraph_1;</p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY;<br />#pragma pack(pop)</p><p>/////////////////////////////////////////////<br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />/////////////////////////////////////////////</p><br /><br /><p>void setup() <br />{<br />&nbsp; RemoteXY_Init (); <br />&nbsp; &nbsp;pinMode(dynPin,OUTPUT);<br />&nbsp; frec=3000;//исходное значение частоты 3000 Гц<br />&nbsp; <br />&nbsp; <br />}</p><p>void loop() <br />{ <br />&nbsp; RemoteXY_Handler ();<br />&nbsp; if ((RemoteXY.switch_1!=0)and (frec&lt;5000)){<br /> //инициализируем переменные<br />tone(dynPin,frec);//запускаем генератор звука<br />delay(1000); //добавлена задержка и ловим любое значение сигнала не усредняя<br />RemoteXY.onlineGraph_1 = float (analogRead(A0)) / 204.8;//взято из примера<br />//нашли размах амплитуды<br />&nbsp; &nbsp; &nbsp; &nbsp;frec=frec+100;//увеличиваем частоту на 100 для следующего измерения<br />&nbsp; &nbsp; noTone(dynPin);//отключаем звук<br />&nbsp; &nbsp; &nbsp; &nbsp;}<br /> else {<br />&nbsp; &nbsp; /*&nbsp; выключатель выключен */<br />&nbsp; }<br />&nbsp; }<br /> стал стоится график.<br /></p><div class="quotebox"><cite>gorchakov wrote:</cite><blockquote><p>упростил программу до предела, должна строить всего один график-не строит. Во время цикла значения все время нули и лишь последнее значение верное. Такое впечатление, что программа не посылает измеренные значения. Значения измеряет-проверял отдельно без вай-фая.</p><br /><p>// определение режима соединения и подключение библиотеки RemoteXY <br />#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT<br />#include &lt;ESP8266WiFi.h&gt;</p><p>#include &lt;RemoteXY.h&gt;</p><p>// настройки соединения <br />#define REMOTEXY_WIFI_SSID &quot;one&quot;<br />#define REMOTEXY_WIFI_PASSWORD &quot;12345678&quot;<br />#define REMOTEXY_SERVER_PORT 6377<br />const byte dynPin=2;<br />//генерация звука на втором пине<br />const int IN_PIN = A0;<br />//прием звука на аналоговом пине а0<br />const int MAX_ADC_VALUE = 1023;//возможно изменить на 255<br />int frec;</p><p>// конфигурация интерфейса&nbsp; <br />#pragma pack(push, 1)<br />uint8_t RemoteXY_CONF[] =&nbsp; &nbsp;// 45 bytes<br />&nbsp; { 255,1,0,4,0,38,0,16,126,0,68,49,7,7,87,42,94,186,97,109,<br />&nbsp; 112,108,105,116,117,100,101,0,2,0,33,51,22,11,2,26,31,31,79,78,<br />&nbsp; 0,79,70,70,0 };<br />&nbsp; <br />// структура определяет все переменные и события вашего интерфейса управления <br />struct {</p><p>&nbsp; &nbsp; // input variables<br />&nbsp; uint8_t switch_1; // =1 если переключатель включен и =0 если отключен </p><p>&nbsp; &nbsp; // output variables<br />&nbsp; float onlineGraph_1;</p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY;<br />#pragma pack(pop)</p><p>/////////////////////////////////////////////<br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />/////////////////////////////////////////////</p><br /><br /><p>void setup() <br />{<br />&nbsp; RemoteXY_Init (); <br />&nbsp; &nbsp;pinMode(dynPin,OUTPUT);<br />&nbsp; pinMode(IN_PIN, INPUT);<br />frec=3000;//исходное значение частоты 3000 Гц<br />&nbsp; <br />&nbsp; <br />&nbsp; <br />}</p><p>void loop() <br />{ <br />&nbsp; RemoteXY_Handler ();<br />&nbsp; if ((RemoteXY.switch_1!=0)and (frec&lt;5000)){<br /> //инициализируем переменные<br />int mn = 1024;<br />int mx = 0;<br />tone(dynPin,frec);//запускаем генератор звука<br />for (int i=0; i &lt; 1000; ++i) {//ищем макс и мин значения амплитуды<br />int val = analogRead(IN_PIN);<br />mn = min(mn, val);<br />mx = max(mx, val);<br />}<br />//нашли размах амплитуды<br />&nbsp; &nbsp; &nbsp; &nbsp;frec=frec+100;//увеличиваем частоту на 100 для следующего измерения<br />&nbsp; &nbsp; noTone(dynPin);//отключаем звук<br />&nbsp; &nbsp; &nbsp; &nbsp;RemoteXY.onlineGraph_1 = float (5.0 / MAX_ADC_VALUE* (mx - mn));<br /> }<br /> else {<br />&nbsp; &nbsp; /*&nbsp; выключатель выключен */<br />&nbsp; }<br />&nbsp; }</p></blockquote></div></blockquote></div>]]></content>
			<author>
				<name><![CDATA[gorchakov]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2370</uri>
			</author>
			<updated>2023-03-31T04:44:13Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=5077#p5077</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Построение двух графиков]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=5076#p5076" />
			<content type="html"><![CDATA[<p>Сам себе не поможешь-никто не поможет. Победил-упростил программу совсем, использовал пример из описания графика и пришлось как ни странно добавить в цикл задержку, которую не рекомендуют добавлять.</p><p>// определение режима соединения и подключение библиотеки RemoteXY <br />#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT<br />#include &lt;ESP8266WiFi.h&gt;</p><p>#include &lt;RemoteXY.h&gt;</p><p>// настройки соединения <br />#define REMOTEXY_WIFI_SSID &quot;one&quot;<br />#define REMOTEXY_WIFI_PASSWORD &quot;12345678&quot;<br />#define REMOTEXY_SERVER_PORT 6377<br />const byte dynPin=2;<br />//генерация звука на втором пине<br />int frec;<br />// конфигурация интерфейса&nbsp; <br />#pragma pack(push, 1)<br />uint8_t RemoteXY_CONF[] =&nbsp; &nbsp;// 45 bytes<br />&nbsp; { 255,1,0,4,0,38,0,16,126,0,68,49,7,7,87,42,94,186,97,109,<br />&nbsp; 112,108,105,116,117,100,101,0,2,0,33,51,22,11,2,26,31,31,79,78,<br />&nbsp; 0,79,70,70,0 };<br />&nbsp; <br />// структура определяет все переменные и события вашего интерфейса управления <br />struct {</p><p>&nbsp; &nbsp; // input variables<br />&nbsp; uint8_t switch_1; // =1 если переключатель включен и =0 если отключен </p><p>&nbsp; &nbsp; // output variables<br />&nbsp; float onlineGraph_1;</p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY;<br />#pragma pack(pop)</p><p>/////////////////////////////////////////////<br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />/////////////////////////////////////////////</p><br /><br /><p>void setup() <br />{<br />&nbsp; RemoteXY_Init (); <br />&nbsp; &nbsp;pinMode(dynPin,OUTPUT);<br />&nbsp; frec=3000;//исходное значение частоты 3000 Гц<br />&nbsp; <br />&nbsp; <br />}</p><p>void loop() <br />{ <br />&nbsp; RemoteXY_Handler ();<br />&nbsp; if ((RemoteXY.switch_1!=0)and (frec&lt;5000)){<br /> //инициализируем переменные<br />tone(dynPin,frec);//запускаем генератор звука<br />delay(1000); //добавлена задержка и ловим любое значение сигнала не усредняя<br />RemoteXY.onlineGraph_1 = float (analogRead(A0)) / 204.8;//взято из примера<br />//нашли размах амплитуды<br />&nbsp; &nbsp; &nbsp; &nbsp;frec=frec+100;//увеличиваем частоту на 100 для следующего измерения<br />&nbsp; &nbsp; noTone(dynPin);//отключаем звук<br />&nbsp; &nbsp; &nbsp; &nbsp;}<br /> else {<br />&nbsp; &nbsp; /*&nbsp; выключатель выключен */<br />&nbsp; }<br />&nbsp; }<br /> стал стоится график.<br /></p><div class="quotebox"><cite>gorchakov wrote:</cite><blockquote><p>упростил программу до предела, должна строить всего один график-не строит. Во время цикла значения все время нули и лишь последнее значение верное. Такое впечатление, что программа не посылает измеренные значения. Значения измеряет-проверял отдельно без вай-фая.</p><br /><p>// определение режима соединения и подключение библиотеки RemoteXY <br />#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT<br />#include &lt;ESP8266WiFi.h&gt;</p><p>#include &lt;RemoteXY.h&gt;</p><p>// настройки соединения <br />#define REMOTEXY_WIFI_SSID &quot;one&quot;<br />#define REMOTEXY_WIFI_PASSWORD &quot;12345678&quot;<br />#define REMOTEXY_SERVER_PORT 6377<br />const byte dynPin=2;<br />//генерация звука на втором пине<br />const int IN_PIN = A0;<br />//прием звука на аналоговом пине а0<br />const int MAX_ADC_VALUE = 1023;//возможно изменить на 255<br />int frec;</p><p>// конфигурация интерфейса&nbsp; <br />#pragma pack(push, 1)<br />uint8_t RemoteXY_CONF[] =&nbsp; &nbsp;// 45 bytes<br />&nbsp; { 255,1,0,4,0,38,0,16,126,0,68,49,7,7,87,42,94,186,97,109,<br />&nbsp; 112,108,105,116,117,100,101,0,2,0,33,51,22,11,2,26,31,31,79,78,<br />&nbsp; 0,79,70,70,0 };<br />&nbsp; <br />// структура определяет все переменные и события вашего интерфейса управления <br />struct {</p><p>&nbsp; &nbsp; // input variables<br />&nbsp; uint8_t switch_1; // =1 если переключатель включен и =0 если отключен </p><p>&nbsp; &nbsp; // output variables<br />&nbsp; float onlineGraph_1;</p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY;<br />#pragma pack(pop)</p><p>/////////////////////////////////////////////<br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />/////////////////////////////////////////////</p><br /><br /><p>void setup() <br />{<br />&nbsp; RemoteXY_Init (); <br />&nbsp; &nbsp;pinMode(dynPin,OUTPUT);<br />&nbsp; pinMode(IN_PIN, INPUT);<br />frec=3000;//исходное значение частоты 3000 Гц<br />&nbsp; <br />&nbsp; <br />&nbsp; <br />}</p><p>void loop() <br />{ <br />&nbsp; RemoteXY_Handler ();<br />&nbsp; if ((RemoteXY.switch_1!=0)and (frec&lt;5000)){<br /> //инициализируем переменные<br />int mn = 1024;<br />int mx = 0;<br />tone(dynPin,frec);//запускаем генератор звука<br />for (int i=0; i &lt; 1000; ++i) {//ищем макс и мин значения амплитуды<br />int val = analogRead(IN_PIN);<br />mn = min(mn, val);<br />mx = max(mx, val);<br />}<br />//нашли размах амплитуды<br />&nbsp; &nbsp; &nbsp; &nbsp;frec=frec+100;//увеличиваем частоту на 100 для следующего измерения<br />&nbsp; &nbsp; noTone(dynPin);//отключаем звук<br />&nbsp; &nbsp; &nbsp; &nbsp;RemoteXY.onlineGraph_1 = float (5.0 / MAX_ADC_VALUE* (mx - mn));<br /> }<br /> else {<br />&nbsp; &nbsp; /*&nbsp; выключатель выключен */<br />&nbsp; }<br />&nbsp; }</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[gorchakov]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2370</uri>
			</author>
			<updated>2023-03-31T04:39:25Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=5076#p5076</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Построение двух графиков]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=5074#p5074" />
			<content type="html"><![CDATA[<p>упростил программу до предела, должна строить всего один график-не строит. Во время цикла значения все время нули и лишь последнее значение верное. Такое впечатление, что программа не посылает измеренные значения. Значения измеряет-проверял отдельно без вай-фая.</p><br /><p>// определение режима соединения и подключение библиотеки RemoteXY <br />#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT<br />#include &lt;ESP8266WiFi.h&gt;</p><p>#include &lt;RemoteXY.h&gt;</p><p>// настройки соединения <br />#define REMOTEXY_WIFI_SSID &quot;one&quot;<br />#define REMOTEXY_WIFI_PASSWORD &quot;12345678&quot;<br />#define REMOTEXY_SERVER_PORT 6377<br />const byte dynPin=2;<br />//генерация звука на втором пине<br />const int IN_PIN = A0;<br />//прием звука на аналоговом пине а0<br />const int MAX_ADC_VALUE = 1023;//возможно изменить на 255<br />int frec;</p><p>// конфигурация интерфейса&nbsp; <br />#pragma pack(push, 1)<br />uint8_t RemoteXY_CONF[] =&nbsp; &nbsp;// 45 bytes<br />&nbsp; { 255,1,0,4,0,38,0,16,126,0,68,49,7,7,87,42,94,186,97,109,<br />&nbsp; 112,108,105,116,117,100,101,0,2,0,33,51,22,11,2,26,31,31,79,78,<br />&nbsp; 0,79,70,70,0 };<br />&nbsp; <br />// структура определяет все переменные и события вашего интерфейса управления <br />struct {</p><p>&nbsp; &nbsp; // input variables<br />&nbsp; uint8_t switch_1; // =1 если переключатель включен и =0 если отключен </p><p>&nbsp; &nbsp; // output variables<br />&nbsp; float onlineGraph_1;</p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY;<br />#pragma pack(pop)</p><p>/////////////////////////////////////////////<br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />/////////////////////////////////////////////</p><br /><br /><p>void setup() <br />{<br />&nbsp; RemoteXY_Init (); <br />&nbsp; &nbsp;pinMode(dynPin,OUTPUT);<br />&nbsp; pinMode(IN_PIN, INPUT);<br />frec=3000;//исходное значение частоты 3000 Гц<br />&nbsp; <br />&nbsp; <br />&nbsp; <br />}</p><p>void loop() <br />{ <br />&nbsp; RemoteXY_Handler ();<br />&nbsp; if ((RemoteXY.switch_1!=0)and (frec&lt;5000)){<br /> //инициализируем переменные<br />int mn = 1024;<br />int mx = 0;<br />tone(dynPin,frec);//запускаем генератор звука<br />for (int i=0; i &lt; 1000; ++i) {//ищем макс и мин значения амплитуды<br />int val = analogRead(IN_PIN);<br />mn = min(mn, val);<br />mx = max(mx, val);<br />}<br />//нашли размах амплитуды<br />&nbsp; &nbsp; &nbsp; &nbsp;frec=frec+100;//увеличиваем частоту на 100 для следующего измерения<br />&nbsp; &nbsp; noTone(dynPin);//отключаем звук<br />&nbsp; &nbsp; &nbsp; &nbsp;RemoteXY.onlineGraph_1 = float (5.0 / MAX_ADC_VALUE* (mx - mn));<br /> }<br /> else {<br />&nbsp; &nbsp; /*&nbsp; выключатель выключен */<br />&nbsp; }<br />&nbsp; }</p>]]></content>
			<author>
				<name><![CDATA[gorchakov]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2370</uri>
			</author>
			<updated>2023-03-31T03:55:32Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=5074#p5074</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Построение двух графиков]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=5073#p5073" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>gorchakov wrote:</cite><blockquote><p>Попытался построить одновременно два графика по следующей программе<br />// определение режима соединения и подключение библиотеки RemoteXY <br />#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT<br />#include &lt;ESP8266WiFi.h&gt;</p><p>#include &lt;RemoteXY.h&gt;</p><p>// настройки соединения <br />#define REMOTEXY_WIFI_SSID &quot;two&quot;<br />#define REMOTEXY_WIFI_PASSWORD &quot;12345678&quot;<br />#define REMOTEXY_SERVER_PORT 6377<br />const byte dynPin=2;<br />//генерация звука на втором пине<br />const int IN_PIN = A0;<br />//прием звука на аналоговом пине а0<br />const int MAX_ADC_VALUE = 1023;//возможно изменить на 255<br />int frec;<br />char myStr[15];<br />// конфигурация интерфейса&nbsp; <br />#pragma pack(push, 1)<br />uint8_t RemoteXY_CONF[] =&nbsp; &nbsp;// 56 bytes<br />&nbsp; { 255,1,0,8,0,49,0,16,126,0,68,50,7,7,87,42,94,186,135,70,<br />&nbsp; 114,101,113,117,101,110,99,121,0,65,109,112,108,105,116,117,100,101,0,2,<br />&nbsp; 0,33,51,22,11,2,26,31,31,79,78,0,79,70,70,0 };<br />&nbsp; <br />// структура определяет все переменные и события вашего интерфейса управления <br />struct {</p><p>&nbsp; &nbsp; // input variables<br />&nbsp; uint8_t switch_1; // =1 если переключатель включен и =0 если отключен </p><p>&nbsp; &nbsp; // output variables<br />&nbsp; float onlineGraph_1_var1;<br />&nbsp; float onlineGraph_1_var2;</p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY;<br />#pragma pack(pop)</p><p>/////////////////////////////////////////////<br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />/////////////////////////////////////////////</p><br /><br /><p>void setup() <br />{&nbsp; RemoteXY_Init (); <br /> pinMode(dynPin,OUTPUT);<br />&nbsp; pinMode(IN_PIN, INPUT);<br />frec=3000;//исходное значение частоты 3000 Гц<br />}</p><p>void loop() <br />{&nbsp; &nbsp;RemoteXY_Handler ();<br />&nbsp; if (RemoteXY.switch_1!=0) {<br />&nbsp; &nbsp; /*&nbsp; выключатель включен&nbsp; */<br />&nbsp; &nbsp; if (frec&lt;5000){<br /> //инициализируем переменные<br />int mn = 1024;<br />int mx = 0;<br />tone(dynPin,frec);//запускаем генератор звука<br />for (int i=0; i &lt; 1000; ++i) {//ищем макс и мин значения амплитуды<br />int val = analogRead(IN_PIN);<br />mn = min(mn, val);<br />mx = max(mx, val);<br />}<br />//нашли размах амплитуды<br />&nbsp; &nbsp; //RemoteXY.onlineGraph_1_var1 = float (frec);<br />&nbsp; &nbsp; RemoteXY.onlineGraph_1_var1 = 0.0;<br />&nbsp; &nbsp; RemoteXY.onlineGraph_1_var2 = float (5.0 / MAX_ADC_VALUE* (mx - mn));<br />frec=frec+100;//увеличиваем частоту на 100 для следующего измерения<br />noTone(dynPin);//отключаем звук<br /> }<br /> else {<br />&nbsp; &nbsp; /*&nbsp; выключатель выключен */<br />&nbsp; }<br />&nbsp; }<br />}<br />Графики не строятся, выдается только первая и последняя точка, хотя вроде в цикле должны быть построены два графика. В программе без вай-фая все точки выводятся в последовательный порт,т.е. точки вычисляются. ПОчему же здесь они не выводятся. Может кто объяснит мне причину. Видимо что-то связано с взаимодействием с сервером или я не туда вывод поставил. Может tone конфликтует с onlineGraph?<br />Переставил вывод на график после отключения звука, чтобы избавится от влияния tone -результат тот же.</p></blockquote></div><p>Похоже, что такой вариант в этой оболочке не пройдет. Скорее всего конфликтует RemoteXY_Handler (); с остальной частью программы, а вот как это обойти-вопрос.</p>]]></content>
			<author>
				<name><![CDATA[gorchakov]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2370</uri>
			</author>
			<updated>2023-03-31T03:21:00Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=5073#p5073</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Построение двух графиков]]></title>
			<link rel="alternate" href="https://forum.remotexy.com/viewtopic.php?pid=5071#p5071" />
			<content type="html"><![CDATA[<p>Попытался построить одновременно два графика по следующей программе<br />// определение режима соединения и подключение библиотеки RemoteXY <br />#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT<br />#include &lt;ESP8266WiFi.h&gt;</p><p>#include &lt;RemoteXY.h&gt;</p><p>// настройки соединения <br />#define REMOTEXY_WIFI_SSID &quot;two&quot;<br />#define REMOTEXY_WIFI_PASSWORD &quot;12345678&quot;<br />#define REMOTEXY_SERVER_PORT 6377<br />const byte dynPin=2;<br />//генерация звука на втором пине<br />const int IN_PIN = A0;<br />//прием звука на аналоговом пине а0<br />const int MAX_ADC_VALUE = 1023;//возможно изменить на 255<br />int frec;<br />char myStr[15];<br />// конфигурация интерфейса&nbsp; <br />#pragma pack(push, 1)<br />uint8_t RemoteXY_CONF[] =&nbsp; &nbsp;// 56 bytes<br />&nbsp; { 255,1,0,8,0,49,0,16,126,0,68,50,7,7,87,42,94,186,135,70,<br />&nbsp; 114,101,113,117,101,110,99,121,0,65,109,112,108,105,116,117,100,101,0,2,<br />&nbsp; 0,33,51,22,11,2,26,31,31,79,78,0,79,70,70,0 };<br />&nbsp; <br />// структура определяет все переменные и события вашего интерфейса управления <br />struct {</p><p>&nbsp; &nbsp; // input variables<br />&nbsp; uint8_t switch_1; // =1 если переключатель включен и =0 если отключен </p><p>&nbsp; &nbsp; // output variables<br />&nbsp; float onlineGraph_1_var1;<br />&nbsp; float onlineGraph_1_var2;</p><p>&nbsp; &nbsp; // other variable<br />&nbsp; uint8_t connect_flag;&nbsp; // =1 if wire connected, else =0 </p><p>} RemoteXY;<br />#pragma pack(pop)</p><p>/////////////////////////////////////////////<br />//&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END RemoteXY include&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //<br />/////////////////////////////////////////////</p><br /><br /><p>void setup() <br />{&nbsp; RemoteXY_Init (); <br /> pinMode(dynPin,OUTPUT);<br />&nbsp; pinMode(IN_PIN, INPUT);<br />frec=3000;//исходное значение частоты 3000 Гц<br />}</p><p>void loop() <br />{&nbsp; &nbsp;RemoteXY_Handler ();<br />&nbsp; if (RemoteXY.switch_1!=0) {<br />&nbsp; &nbsp; /*&nbsp; выключатель включен&nbsp; */<br />&nbsp; &nbsp; if (frec&lt;5000){<br /> //инициализируем переменные<br />int mn = 1024;<br />int mx = 0;<br />tone(dynPin,frec);//запускаем генератор звука<br />for (int i=0; i &lt; 1000; ++i) {//ищем макс и мин значения амплитуды<br />int val = analogRead(IN_PIN);<br />mn = min(mn, val);<br />mx = max(mx, val);<br />}<br />//нашли размах амплитуды<br />&nbsp; &nbsp; //RemoteXY.onlineGraph_1_var1 = float (frec);<br />&nbsp; &nbsp; RemoteXY.onlineGraph_1_var1 = 0.0;<br />&nbsp; &nbsp; RemoteXY.onlineGraph_1_var2 = float (5.0 / MAX_ADC_VALUE* (mx - mn));<br />frec=frec+100;//увеличиваем частоту на 100 для следующего измерения<br />noTone(dynPin);//отключаем звук<br /> }<br /> else {<br />&nbsp; &nbsp; /*&nbsp; выключатель выключен */<br />&nbsp; }<br />&nbsp; }<br />}<br />Графики не строятся, выдается только первая и последняя точка, хотя вроде в цикле должны быть построены два графика. В программе без вай-фая все точки выводятся в последовательный порт,т.е. точки вычисляются. ПОчему же здесь они не выводятся. Может кто объяснит мне причину. Видимо что-то связано с взаимодействием с сервером или я не туда вывод поставил. Может tone конфликтует с onlineGraph?<br />Переставил вывод на график после отключения звука, чтобы избавится от влияния tone -результат тот же.</p>]]></content>
			<author>
				<name><![CDATA[gorchakov]]></name>
				<uri>https://forum.remotexy.com/profile.php?id=2370</uri>
			</author>
			<updated>2023-03-30T16:25:11Z</updated>
			<id>https://forum.remotexy.com/viewtopic.php?pid=5071#p5071</id>
		</entry>
</feed>
