Topic: The building of a graph
The program dasn't build a Graph. What is the problem?
// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT
#include <ESP8266WiFi.h>
#include <RemoteXY.h>
// настройки соединения
#define REMOTEXY_WIFI_SSID "one"
#define REMOTEXY_WIFI_PASSWORD "12345678"
#define REMOTEXY_SERVER_PORT 6377
const byte dynPin=2;
//генерация звука на втором пине
const int IN_PIN = A0;
//прием звука на аналоговом пине а0
const int MAX_ADC_VALUE = 1023;//возможно изменить на 255
int frec;
// конфигурация интерфейса
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] = // 45 bytes
{ 255,1,0,4,0,38,0,16,126,0,68,49,7,7,87,42,94,186,97,109,
112,108,105,116,117,100,101,0,2,0,33,51,22,11,2,26,31,31,79,78,
0,79,70,70,0 };
// структура определяет все переменные и события вашего интерфейса управления
struct {
// input variables
uint8_t switch_1; // =1 если переключатель включен и =0 если отключен
// output variables
float onlineGraph_1;
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
void setup()
{
RemoteXY_Init ();
pinMode(dynPin,OUTPUT);
pinMode(IN_PIN, INPUT);
frec=3000;//исходное значение частоты 3000 Гц
}
void loop()
{
RemoteXY_Handler ();
if ((RemoteXY.switch_1!=0)and (frec<5000)){
//инициализируем переменные
int mn = 1024;
int mx = 0;
tone(dynPin,frec);//запускаем генератор звука
for (int i=0; i < 1000; ++i) {//ищем макс и мин значения амплитуды
int val = analogRead(IN_PIN);
mn = min(mn, val);
mx = max(mx, val);
}
//нашли размах амплитуды
frec=frec+100;//увеличиваем частоту на 100 для следующего измерения
noTone(dynPin);//отключаем звук
RemoteXY.onlineGraph_1 = float (5.0 / MAX_ADC_VALUE* (mx - mn));
}
else {
/* выключатель выключен */
}
}