Академический Документы
Профессиональный Документы
Культура Документы
h>
#include<Timer.h>
#include <SoftwareSerial.h>
Timer t;
int output_value ;
int output_value1 ;
int output_value2 ;
float temp1;
float temp2;
float temp3;
float vout;
float time=0,voltage=0,current=0,power=0;
void setup()
{
pinMode(sensor_pin,INPUT);
pinMode(sensor_pin1,INPUT);
lcd.begin(16, 2);
lcd.clear();
Serial1.begin(9600);
Serial.begin(9600);
lcd.clear();
lcd.print("WIFI Connecting");
lcd.setCursor(0,1);
lcd.print("Please wait....");
Serial.println("Connecting Wifi....");
connect_wifi("AT",1000);
connect_wifi("AT+CWMODE=1",1000);
connect_wifi("AT+CWQAP",1000);
connect_wifi("AT+RST",1000);
connect_wifi("AT+CWJAP=\"Windmill\",\"12345678\"",5000);
Serial.println("Wifi Connected");
lcd.clear();
lcd.print("WIFI Connected.");
delay(2000);
t.every(20000, send2server);
}
void loop()
{
lcd.clear();
lcd.print("Measuring Windmill");
lcd.setCursor(0,1);
lcd.print("Parameters......");
delay(2000);
lcd.clear();
lcd.print("connect Windmill");
lcd.setCursor(0,1);
lcd.print("To the i/p Pin");
delay(2000);
while (1)
lcd.clear();
vout=analogRead(sensor_pin);
temp1=(vout/100);
vout=analogRead(sensor_pin1);
temp2=(vout/100);
temp2=(temp2/10);
temp3=temp1*temp2;
voltage=temp1;
current=temp2;
power=temp3;
lcd.print("vtg:- ");
lcd.print(voltage);
lcd.setCursor(0,1);
lcd.print("curn:-");
lcd.print(current);
delay(2000);
lcd.clear();
lcd.print("Power:- ");
lcd.print(power);
delay(2000);
t.update();
void send2server()
{
char vtgStr[8];
char curStr[8];
char poweStr[8];
dtostrf(voltage, 5, 3, vtgStr);
dtostrf(current, 5, 3, curStr);
dtostrf(power, 5, 3, poweStr);
sprintf(postUrl,"update?api_key=%s&field1=%s&field2=%s&field3=
%s",api_key,voltage,current,power);
httpGet("api.thingspeak.com", postUrl, 80);
}
//GET https://api.thingspeak.com/update?
api_key=TIN4XHHP71376NL7&field1=014.85&field2=2.15&field3=029.85
connect_wifi(atSendCmd,1000);
connect_wifi(atHttpGetCmd,1000);
i=8;
}
delay(t);
if(i>5)
break;
i++;
}
if(i==8)
{
Serial.println("OK");
lcd.setCursor(0,1);
lcd.print("OK");
}
else
{
Serial.println("Error");
lcd.setCursor(0,1);
lcd.print("Error");
}
}