Arduino ile Pan Tilt Ünitesi Kontrolü
Bu yazımızda Arduino ile ivme kontrollü pan tilt uygulamasının yapımını anlatacağız. Bu projeden sonra, hareketli uygulamalar geliştirmek sizin için basit hale gelecek. Arduino projelerinde sıklıkla kullanılan pan tilt üniteleri özellikle radar uygulamalarında, hareketli kamera uygulamalarında, güvenlik uygulamalarında tercih edilmektedir. Bu proje için ihtiyacımız olan ürünler ise Arduino uno kartı , Robopan Pan Tilt Seti', MPU6050 İvme Sensörü, Orta Boy Breadboard, Jumper Kablo Seti'dir. Eksik olduğunu düşündüğünüz ürün varsa ürün isimlerine tıklayarak ürüne gideblir ve ürünü satın alabilirsiniz.
Pan/Tilt Ne Anlama Gelir?
Projeye başlamadan önce Pan ve Tilt ifadelerinin anlamları şöyledir. Pan; sağ ve sol yönlü hareketi ifade eder, Tilt ifadesiyse Aşağı ve yukarı yönlü hareket olarak kullanılmaktadır.
Projelerimizde bir cisme hareket vermek için çıkış birimi olan motor birimini kullanmamız gerekir. Pan Tilt uygulamaları genelde hassas ve açılı olarak hareket ettirildiği için açılı motorlar olan servo motorlar tercih edilmektedir. Bu projemizde SG90 Mini Servo Motor modelini kullanacağız. Robopan Pan/Tilt Seti içerisinde 2 adet olarak çıkmaktadır. Ekstra olarak ihtiyacınız varsa buradan ürüne gidebilirsiniz.
RoboPAN Pan/Tilt Ünitesi Montajı
Gerekli Malzemeler
- Robopan taban parçası (A)
- Robopan ara parçası (B)
- Robopan üst parçası (C)
- Servo motorlar (D)
- Servo motor aparatları ve vidalar (E)
Robopan taban parçasına SG90 mini servo motorumuzu monte ediyoruz. Burada SG90 poşeti içerisinden çıkan vidaları kullanabilirsiniz.
Robopan ara parçasına uygun olan servo motor aparatını monte ediyoruz.
Robopan taban parçasına monte ettiğimiz servo motoru ve ara parçasına monte ettiğimiz servo motor aparatını birleştirip vidalıyoruz.
Robopan ara parçasına servo motorunu ve servo motora da servo motor aparatını monte ediyoruz.
Robopan üst parçasını servo motor aparatına monte ediyoruz ve Robopanımız hazır artık arduino ve mpu6050 ivme sensörü ile birleştirip kod aşamasına geçebiliriz.
Devremizin bağlantısı aşağıdaki gibi olacaktır.
#include
#include "I2Cdev.h" // MPU6050 iletişimi için gerekli I2C kütüphanesi
#include "MPU6050.h" // MPU6050 kütüphanesi
#include "Wire.h"// MPU6050 iletişimi için gerekli kütüphane
MPU6050 ivmesensoru;
int16_t ax, ay, az, gx, gy, gz;
Servo servox;// Servo motorlara isim verme
Servo servoy;
void setup() {
servox.attach(5); //Servo motorlarının pinlerini belirleme
servoy.attach(6);
Wire.begin();
ivmesensoru.initialize();
}
void loop() {
ivmesensoru.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); // ivme ve gyro değerlerini okuma
ax=map(ax,-17000,17000,0,179); // MPU6050 den aldığımız -17000-17000 aralığındaki veriyi servo motorun çalıştığı 0-179 değerlerine çevirme
ay=map(ay,-17000,17000,0,179);
servox.write(ax); // map fonksiyonu ile çevirilen değer ile servomotor konumlandırma
servoy.write(ay);
delay(100);
}
Kodu yazdıktan sonra kartınıza yükleyebilirsiniz. Bu aşamadan sonra mpu6050 sensöründen gelen eksen bilgileriyle roboPan tilt ünitesine hareket verebilirsiniz. Ürüne buradan ulaşabilirsiniz.