/*const int rele = 8;
const int voltage = 10;
const int testbutton = A0;

int value = 0;
float voltage;
float R1 = 47000.0;
float R2 = 33000.0;

void setup(){
  
}

void loop(){
  value = analogRead(A0);
  voltage = value * (5.0/1024)*((R1 + R2)/R2);
  Serial.println(voltage);
  delay(500);
}*/

/*
   -- voltage meter --
   
   This source code of graphical user interface 
   has been generated automatically by RemoteXY editor.
   To compile this code using RemoteXY library 3.1.11 or later version 
   download by link http://remotexy.com/en/library/
   To connect using RemoteXY mobile app by link http://remotexy.com/en/download/                   
     - for ANDROID 4.11.4 or later version;
     - for iOS 1.9.1 or later version;
    
   This source code is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.    
*/

//////////////////////////////////////////////
//        RemoteXY include library          //
//////////////////////////////////////////////

// RemoteXY select connection mode and include library 
#define REMOTEXY_MODE__ESP32CORE_WIFI_CLOUD
#include <WiFi.h>

#include <RemoteXY.h>

// RemoteXY connection settings 
#define REMOTEXY_WIFI_SSID "Free WiFi"
#define REMOTEXY_WIFI_PASSWORD "12341234"
#define REMOTEXY_CLOUD_SERVER "cloud.remotexy.com"
#define REMOTEXY_CLOUD_PORT 6376
#define REMOTEXY_CLOUD_TOKEN "a7af53c4bfd05f1590d591d7e710cdf2"


// RemoteXY configurate  
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =   // 44 bytes
  { 255,1,0,12,0,37,0,16,31,1,2,0,21,49,22,11,2,26,31,31,
  79,78,0,79,70,70,0,67,5,12,4,40,13,2,26,11,66,131,8,23,
  47,23,8,1 };
  
// this structure defines all the variables and events of your control interface 
struct {

    // input variables
  uint8_t switch_1; // =1 if switch ON and =0 if OFF 

    // output variables
  char voltage[11];  // string UTF8 end zero 
  int8_t level_1; // =0..100 level position 

    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0 

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////



const int relay = 8;

int value = 0;
float voltage;
float R1 = 47000.0;
float R2 = 33000.0;


void setup() 
{
  RemoteXY_Init (); 
  
  
  // TODO you setup code
  pinMode(relay, OUTPUT);
}

void loop() 
{ 
  RemoteXY_Handler ();
  
  
  // TODO you loop code
  // use the RemoteXY structure for data transfer
  // do not call delay(), use instead RemoteXY_delay() 



  value = analogRead(A0);
  voltage = value * (5.0/1024)*((R1 + R2)/R2);
  Serial.println(voltage);
  char voltage = voltage + "V";
  RemoteXY_delay(500);

  digitalWrite(relay, (RemoteXY.switch_1==0)?LOW:HIGH);
}

NOCOMNCVCCGNDINLED1PWRRelay Module