ESP32, Espressif Systems tarafından üretilen bir mikrodenetleyici ve Wi-Fi/Bluetooth modülü entegresidir. ESP32, özellikle Internet of Things (IoT) uygulamaları için tasarlanmış bir platformdur ve düşük maliyetli, enerji verimli ve yüksek performanslı bir çözüm sunar. ESP32, popüler ESP8266 mikrodenetleyicisinin gelişmiş bir versiyonudur.
İşte ESP32’nin temel özellikleri:
ESP32, geniş bir uygulama yelpazesi için kullanılabilir, özellikle IoT projeleri, giyilebilir teknolojiler, akıllı ev uygulamaları, endüstriyel otomasyon ve daha birçok alanda. Bu mikrodenetleyici, topluluk tarafından desteklenmekte ve birçok kaynak ve belge mevcuttur.
Servo motorlar, genellikle belirli bir açı veya pozisyon aralığında dönebilen, küçük, özel tasarlanmış motorlardır. Bu motorlar, genellikle geri besleme mekanizmaları ile donatılmıştır, bu sayede belirli bir konumda kalabilir ve belirli bir konuma doğru dönebilirler. Servo motorlar, bir kontrol sinyali ile belirli bir konum veya açıya doğru hareket etmelerini sağlayan bir mekanizmaya sahiptir.
Bir servo motor genellikle şu ana bileşenleri içerir:
Servo motorlar, genellikle belirli bir pozisyonu sabit tutma veya belirli bir hareketi belirli bir açıda gerçekleştirme ihtiyacı olan uygulamalarda kullanılır. Örneğin, robotik sistemler, model uçak kontrol yüzeyleri, kamera stabilizasyon sistemleri ve otomotiv uygulamalarında servo motorlar sıkça kullanılır. Bu motorlar genellikle hassas kontrol ve doğru konum tutma yetenekleri nedeniyle tercih edilir.
ESP32, Wi-Fi ve Bluetooth özellikleri ile donatılmış bir mikrodenetleyici kartıdır ve birçok IoT (Nesnelerin İnterneti) projesinde kullanılabilir. Servo motor kontrolü, bir ESP32 mikrodenetleyici kullanılarak gerçekleştirilebilecek yaygın bir uygulamadır.
Servo motorları kontrol etmek için ESP32 kullanırken, genellikle Pulse Width Modulation (PWM) sinyallerini kullanarak servo motorun pozisyonunu ayarlamak mümkündür. İşte basit bir ESP32 ile servo motor kontrolü için bir örnek kod:
#include <Servo.h>
#define SERVO_PIN 26 // ESP32 pin GPIO26 connected to servo motor
Servo servoMotor;
void setup() {
servoMotor.attach(SERVO_PIN); // attaches the servo on ESP32 pin
}
void loop() {
// rotates from 0 degrees to 180 degrees
for (int pos = 0; pos <= 180; pos += 1) {
// in steps of 1 degree
servoMotor.write(pos);
delay(15); // waits 15ms to reach the position
}
// rotates from 180 degrees to 0 degrees
for (int pos = 180; pos >= 0; pos -= 1) {
servoMotor.write(pos);
delay(15); // waits 15ms to reach the position
}
}
Bu örnek kod, Servo kütüphanesini kullanır. Servo nesnesi oluşturulur ve belirli bir pine (örneğin, D2) bağlanır. Ardından, servoMotor.write(angle)
komutuyla servo motorun açısını belirli bir derecede ayarlamak mümkündür. Bu örnekte, motor sırasıyla 0, 90 ve 180 derecelik açılara hareket ettirilir.
Not: Servo motorun güç gereksinimlerini ve bağlantılarını doğru bir şekilde kontrol ettiğinizden emin olun. Ayrıca, kodu ESP32 kartınıza yüklemek için Arduino IDE veya PlatformIO gibi geliştirme araçlarını kullanmanız gerekebilir.
Fonksiyonda loop()
iki döngü bulunmaktadır for
. İlk döngü, servo motorun konumunu 1 derecelik artışlarla kademeli olarak 0 dereceden 180 dereceye çıkarır. servoMotor.write(pos)
servo motorun açısını değerine ayarlar pos
. delay(15)
servo motorun istenen konuma sorunsuz bir şekilde ulaşmasını sağlamak için 15 milisaniyelik bir gecikme ekler. İkinci döngü daha sonra servo motorun konumunu aynı şekilde 180 dereceden 0 dereceye düşürür.
Bu kod, servo motorun her konum değişikliğinde 15 milisaniyelik bir gecikmeyle sürekli olarak 0 ila 180 derece arasında salınmasını sağlar.
Bu projenin çalışması aşağıdaki gibidir. Bir ESP32 WROOM mikro denetleyicisine bağlandığında, servo motorun konumu, yukarıda belirtilen kod kontrol ifadeleri tarafından yönlendirilen bir dizi darbe genişlik modülasyonu (PWM) sinyali aracılığıyla kontrol edilebilir hale getirilir. ESP32 tarafından üretilen PWM sinyallerinin görev döngüsünü modüle ederek, motor belirli bir açı aralığında, tipik olarak 0 ila 180 derece arasında dönecek şekilde yönlendirilir.
Yorum yapabilmek için giriş yapmalısınız.
ESP32 ile Servo Motor Kontrolü
Yorum Yaz