Soru & Cevap

ARDUINO MEGA VE ESP8266 İLE LED KONTROLU

26.03.2016 - 12:50

Merhaba arkadaslar esp8266 wifi modülünü kullanarak led kontrolu yapmak ıstıyorum kodları arduınoya yollayıp tarayıcıyı actıgımda ON OFF butonum belırıyor butonların komut gönderdıgını serial porttan görüyorum ancak arduınogönderilen degerlerı döndürmüyor sorun nerde acaba
     #define Durum true
void setup() {
Serial1.begin(115200);
Serial.begin(9600);
pinMode(10,OUTPUT);
ATkomut("AT+RST\r\n",1000,Durum);
ATkomut("AT+CWMODE=2\r\n",1000,Durum);
//ATkomut("AT+CWJAP=\"GARGAMELPC\",\"GARGAMEL\"\r\n",10000,Durum);
ATkomut("AT+CIFSR\r\n",10000,Durum);
ATkomut("AT+CIPMUX=1\r\n",1000,Durum);
ATkomut("AT+CIPSERVER=1,80\r\n",5000,Durum);
}
void loop() {
if(Serial1.available()>0){
if(Serial1.find("+IPD,"))
delay(500);
int baglanti=Serial1.read()-48;
 String gonder;
 gonder +="<br><a href=\"?pin=ON\"><button><h1>ON</h1></button></a>";
gonder +="<br><a href=\"?pin=OFF\"><button><h1>OFF</h1></button></a>";
String cipsend="AT+CIPSEND=";
cipsend +=baglanti;
cipsend +=",";
cipsend +=gonder.length();
cipsend +="\r\n";
ATkomut(cipsend,1000,Durum);
ATkomut(gonder,1000,Durum);
String kapat="AT+CIPCLOSE=";
kapat +=baglanti;
kapat +="\r\n";
ATkomut(kapat,1000,Durum);
}
}
String ATkomut(String komut,const int sure,boolean durum)
{
String gelen="";
Serial1.print(komut);
long int zaman=millis();
while((zaman+sure)>millis())
{
while(Serial1.available()){
char c=Serial1.read();
gelen+=c;
//Serial1.write(c);
}
}
if(durum){
Serial.print(gelen);
if(gelen.indexOf(":GET/?pin=ON")>0){
digitalWrite(10,1);
}
if(gelen.indexOf(":GET/?pin=OFF")>0){
digitalWrite(10,0);
}
}
return (gelen);
}
 

6 Görüntülenme

0 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.