Wifi esp8266 Step Motor Kontrolü

Yeni bir step motor kontrol uygulaması ile karşınızdayız. Bu sefer cep telefonundan step motorumuzu kontrol edeceğiz. Oldukça yaygın olarak kullanılan ESP8266 wifi çipini kullanacağız. Her zaman olduğu gibi kodlar ve şema dahil tamamen açık kaynaklı bir proje yapıyoruz.

Bu sitede daha birçok esp8266 çipi ile yapılmış uygulamaları bulabilirsiniz.

Devre Şeması

Kodlar

#include <ESP8266WiFi.h>
 
const char* ssid = "wifi adınız";
const char* password = "şifreniz";
 
const int stepPin = 13 ;
const int dirPin = 12;


WiFiServer server(80);
 
void setup() {
Serial.begin(115200);
delay(10);
 
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT); 
 
Serial.println();
Serial.println();
Serial.print("Baglaniyor");
Serial.println(ssid);
 
WiFi.begin(ssid, password);
 
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi bagli");
 
 
server.begin();
Serial.println("Server Baslatildi");
 
 
Serial.print("Baglanmak icin bu URL'yi kullanin: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
 
}
 
void loop() {
  
  
 WiFiClient client = server.available();
if (!client) {
return;
}
 
 
Serial.println("Yeni kisi ");
while(!client.available()){
delay(1);
}
 
 
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
 
int value = LOW;
if (request.indexOf("/MOTOR-ILERI") != -1) {
digitalWrite(dirPin, HIGH);
 
for(int i = 0 ; i<100;i++){

    digitalWrite(stepPin,HIGH);
    delayMicroseconds(1500);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(1500);
  }
value = HIGH;
}
if (request.indexOf("/MOTOR-GERI") != -1) {
digitalWrite(dirPin, LOW);
 
for(int i = 0 ; i<100;i++){

    digitalWrite(stepPin,HIGH);
    delayMicroseconds(1500);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(1500);
  }
value = LOW;
}
 
 
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); 
client.println("<!DOCTYPE HTML>");
client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
client.println("<link rel=\"icon\" href=\"data:,\">");
client.println("<style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}");
client.println(".button { background-color: #195B6A; border: none; color: white; padding: 16px 40px;");
client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");
client.println(".button2 {background-color: #77878A;}</style></head>");
            
 
client.println("<body><h1>ESP8266 MOTOR KONROL</h1>");
client.println("<html>");
 

client.println("");

client.println("<a href=\"/MOTOR-ILERI\"><button class=\"button\">Ileri</button></a>");

client.println("<a href=\"/MOTOR-GERI\"><button class=\"button button2\">Geri</button></a>"); 
client.println("</html>");
client.println("<br>");
client.println("<br>");
delay(1);
client.print("<h3>Motor :</h3>");
 
if(value == HIGH) {
client.print("<h3>Ileriye döndü</h3>");
} else {
client.print("<h3>Geriye döndü</h3>");
}
Serial.println("Client disonnected");
Serial.println("");
 

}

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.