Arduino ile Step Motoru İnternet Üzerinden Kontrol Etmek! Step Motor Nedir? İnternet Üzerinden Nasıl Kontrol Edilir?
Foto: Yazar Medya
Bu haberde, Arduino ile step motoru internet üzerinden kontrol etmek için geliştirilen bir projenin haberini paylaştık. Projenin çalışma prensibini ve avantajlarını anlattık.
Projenin kodunu da paylaşmak istedik. Kod, aşağıdaki gibidir:
Örnek Kodlar
// Arduino step motor kodu
// Ağ adı ve şifresi
String agAdi = "YazarHaber";
String agSifresi = "YazarHaber";
// Step motor pinleri
int motorPin1 = 3, motorPin2 = 4, motorPin3 = 5, motorPin4 = 6;
// Arduino setup() fonksiyonu
void setup() {
// Step motor pinlerini çıkış olarak ayarla
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
// Seri haberleşmeyi başlat
Serial.begin(115200);
// ESP8266'yı resetle
Serial.println("AT+RST");
delay(1000);
// ESP8266'yı client olarak ayarla
Serial.println("AT+CWMODE=1");
delay(1000);
// Wifi'ye bağlan
Serial.println("AT+CWJAP="" + agAdi + "","" + agSifresi + """);
delay(1000);
// IP adresini ve MAC adresini oku
Serial.print("AT+CIFSRrn");
Serial.print(espOkuma(1000));
// Seri haberleşmede kullanmadığımız verileri temizle
serialTemizle(2000);
// Çoklu bağlantı ayarını yap
Serial.println("AT+CIPMUX=1");
serialTemizle(2000);
// Server oluştur ve 80. porttan dinlemeye başla
Serial.println("AT+CIPSERVER=1,80");
serialTemizle(2000);
}
// Arduino loop() fonksiyonu
void loop() {
// Seri haberleşmeden veri geldiğinde içindeki komutlar çalışır
if (Serial.available()) {
if (Serial.find("+IPD,")) {
// Bağlantı numarasını oku
delay(200);
int connectionId = Serial.read() - 48;
// Bağlantı komutlarını oku
String komut = espOkuma(1000);
// İleri komutu geldiğinde step motorunu ileri hareket ettir
if (komut.indexOf("step=ileri") != -1) {
for (int adim = 0; adim < 5; adim++) {
stepIleri(50);
}
}
// Geri komutu geldiğinde step motorunu geri hareket ettir
else if (komut.indexOf("step=geri") != -1) {
for (int adim = 0; adim < 5; adim++) {
stepGeri(50);
}
}
// Web sayfasını oluştur
String sayfa = "<h1>Step Motor Kontrol</h1><br>";
sayfa += "<br><a href="?step=ileri"><button><h1>Ileri</h1></button></a>";
sayfa += "<br><br><a href="?step=geri"><button><h1>Geri</h1></button></a>";
// Sayfa verisini oluştur
komut = "AT+CIPSEND=";
komut += connectionId;
komut += ",";
komut += sayfa.length();
komut += "rn";
Serial.print(komut);
delay(1000);
Serial.print(sayfa);
delay(1000);
// Bağlantıyı sonlandır
komut = "AT+CIPCLOSE=";
komut += connectionId;
komut += "rn";
Serial.print(komut);
}
}
}
// ESP8266'dan gelen dönütleri okur
String espOkuma(long int zaman