#40 mBlock Joystick İle Servo Motor Kontrolü
mBlock 5 serisi ile Arduino uygulamalarına devam ediyoruz. Bu yazımızda mBlock Joystick İle Servo Motor Kontrolü devresini anlatacağız. 2 Eksenli XY Joystick ile bir ve iki servo motoru nasıl kontrol edebiliriz? Joystick üzerindeki butonu kullanarak servo motorları sabit açılarda nasıl döndürebiliriz? bu soruların cevabını bu konuda öğreneceksiniz.
mBlock programı blok kısmı, devre montaj şeması, devre kurulumu detaylı anlatım ve devre çalışma videosu şu şekildedir.
2 Eksenli XY Joystick Modülü
Joystick, içerisinde yatay ve dikey eksenlerde hareket edebilen iki potansiyometre bulunan bir modüldür. Potansiyometreyi yatay (X ekseninde) ve dikey (Y ekseninde) hareket ettirdiğimizde potansiyometreden okunan 0 – 1023 arasındaki analog değer sonucunda led yakma söndürme, servo motor kontrolü, robotik kol hareketleri, uzaktan kumandalı araba kontrolü gibi bir çok Arduino projesinde kullanılabilir.
Bu modül üzerinde bir adette buton bulunmaktadır. Bu buton joystick modülüne üstten bastığınızda aktif olmaktadır. Bu buton, diğer butonların tersine çalışan bir karakteristiğe sahiptir. Yani bir Pull-Up butondur. Butona basmadığımızda 1, bastığımızda ise 0 değerini okuruz. Bundan dolayı Arduino içerisinde pinMode kısmında buton tanımlanırken INPUT_PULLUP komutu kullanılmalıdır. Eğer INPUT_PULLUP komutu yerine sadece INPUT komutu kullanılacak ise butonun Arduino pin bağlantısı noktasına 10 kΩ direnç bağlanır. Direncin diğer bacağı ise Arduino +5 Volt giden noktaya bağlanır. (Pull-Up direnci görevi görmesi için.)
NOT: Pull-Up direnci, dijital pinleri giriş olarak kullandığımızda sinyalin bozulmamasını sağlar. Joystick modülünde buton basılı değilken dijital pinden okunan değer 5V yani lojik HIGH (1) seviyesidir. Pull-Up direnci, buton basılıp değer LOW yani (0)’ a çekilmediği sürece bu pindeki gerilimin 5V’ta sabit kalmasını sağlar.
Joystick modülünde 5 adet çıkış pini bulunmaktadır. Bunlar sırasıyla; Gnd, 5V, VRx, VRy ve SW pinleridir. Bu pinlerin Arduino bağlantısı yukarıdaki resimde verilmiştir.
JOYSTİCK İLE BİR ADET SERVO MOTORU ÇALIŞTIRMA
MBLOCK PROGRAMI BLOK ŞEMASI:
mBlock Canlı Mod Joystick İle Bir Servo Motoru Çalıştırma
Devreyi Canlı modda kurup aynı zamanda sensörün durumunu sahne üzerinde pandaya yazılı olarak söyletmek istersek yukarıdaki blok şemasını Aygıtlar sekmesinde kurabilirsiniz. Aygıtlar sahnesinde Derece ve Deger değişkeninden aldığımız değeri yükleme modu iletisi bloğu ile kukla sahnesine gönderiyoruz. Kukla sahnesinde ise aygıtlar sahnesinden gelen değeri yükleme modu mesajı ile Panda üzerindeki değer göstergesinden okuyoruz.
Aşağıdaki blok şemasını ise Kuklalar sahnesinde oluşturacağız.
Daha sonra Aygıtlar sahnesine gelerek kodları Arduino kartına gönderip kukla üzerinden gelen veriyi Panda üzerinde okuyabiliriz.
Blok şemasında Derece ve Deger isimli iki değişken tanımladık. Değişken nasıl tanımlanır? öğrenmek istiyorsanız aşağıdaki bağlantıyı tıklayıp inceleyebilirsiniz.
https://egitim.ahmetcandemir.com.tr/mblock-dersleri-13-mblock-degisken-olusturma/
DEVRENİN ÇALIŞMASI:
Joystick kolunu X ekseni (yatay) konumda sağ ve sola hareket ettirdiğimizde servo motor 0 – 180 derece hareket edecektir.
DEVRE MONTAJ ŞEMASI:
DEVRE KURULUMU:
Malzemeler:
Arduino Uno
1 adet SG90 Servo Motor
1 adet 2 Eksenli XY Joystick Modülü
3 adet bir ucu dişi, bir ucu erkek jumper kablo
5 adet iki ucu erkek jumper kablo
Joystick modülünün +5V. pinine jumper kablo bağlanarak kablonun diğer ucu breadboard alt sırasındaki (+) artı şeridine bağlanır. Joystick modülünün GND pinine jumper kablo bağlanarak kablonun diğer ucu breadboard alt sırasındaki (-) eksi şeridine bağlanır. Joystick modülünün vRx pinine jumper kablo bağlanarak kablonun diğer ucu, Arduino’nun A0 numaralı pinine bağlanır.
Servo motorun kırmızı uç çıkışına (+) jumper kablo bağlanarak kablonun diğer ucu breadboard ‘un artı şeridine bağlanır. Servo motorun kahverengi uç çıkışına (-) jumper kablo bağlanarak kablonun diğer ucu breadboard’ un eksi şeridine bağlanır. Servo motorun turuncu uç çıkışına (data) jumper kablo bağlanarak kablonun diğer ucu Arduino’nun 11 numaralı PWM dijital pinine bağlanır. Breadboard artı şeridine kablo bağlanarak Arduino’nun +5 Volt pinine, breadboard eksi şeridine kablo bağlanarak Arduino’nun GND pinine bağlanarak devre tamamlanır.
JOYSTİCK İLE İKİ ADET SERVO MOTORU ÇALIŞTIRMA, İSTENİLEN AÇIDA BUTON İLE DURDURMA
MBLOCK PROGRAMI BLOK ŞEMASI:
mBlock Canlı Mod Joystick İle İki Servo Motoru Çalıştırma, Buton İle İstediğimiz Açıda Durdurma
Devreyi Canlı modda kurup aynı zamanda sensörün durumunu sahne üzerinde pandaya yazılı olarak söyletmek istersek yukarıdaki blok şemasını Aygıtlar sekmesinde kurabilirsiniz. Aygıtlar sahnesinde X_Ekseni, Y_Ekseni, derece1, derce2 ve SWbuton değişkeninden aldığımız değeri yükleme modu iletisi bloğu ile kukla sahnesine gönderiyoruz. Kukla sahnesinde ise aygıtlar sahnesinden gelen değeri yükleme modu mesajı ile Panda üzerindeki değer göstergesinden okuyoruz.
Aşağıdaki blok şemasını ise Kuklalar sahnesinde oluşturacağız.
Daha sonra Aygıtlar sahnesine gelerek kodları Arduino kartına gönderip kukla üzerinden gelen veriyi Panda üzerinde okuyabiliriz.
Blok şemasında X_Ekseni, Y_Ekseni, derece1, derce2 ve SWbuton isimli beş değişken tanımladık. Değişken nasıl tanımlanır? öğrenmek istiyorsanız aşağıdaki bağlantıyı tıklayıp inceleyebilirsiniz.
https://egitim.ahmetcandemir.com.tr/mblock-dersleri-13-mblock-degisken-olusturma/
DEVRENİN ÇALIŞMASI:
Joystick kolunu X ekseninde (yatay) konumda sağ ve sola hareket ettirdiğimizde birinci servo motor 0 – 180 derece hareket edecektir. Joystick kolunu Y ekseninde (dikey) konumda yukarı ve aşağı hareket ettirdiğimizde ise ikinci servo motor 0 – 180 derece hareket edecektir. Joystick üzerindeki butona bastığımızda ise servo motorların ikisi de 0 (sıfır) derece açıya dönecektir.
DEVRE MONTAJ ŞEMASI:
DEVRE KURULUMU:
Malzemeler:
Arduino Uno
2 adet SG90 Servo Motor
1 adet 2 Eksenli XY Joystick Modülü
5 adet bir ucu dişi, bir ucu erkek jumper kablo
8 adet iki ucu erkek jumper kablo
Joystick modülünün +5V. pinine jumper kablo bağlanarak kablonun diğer ucu breadboard alt sırasındaki (+) artı şeridine bağlanır. Joystick modülünün GND pinine jumper kablo bağlanarak kablonun diğer ucu breadboard alt sırasındaki (-) eksi şeridine bağlanır. Joystick modülünün vRx pinine jumper kablo bağlanarak kablonun diğer ucu, Arduino’nun A1 numaralı pinine bağlanır. Joystick vRy pinine jumper kablo bağlanarak kablonun diğer ucu, Arduino’nun A0 numaralı pinine bağlanır. Joystick SW pinine jumper kablo bağlanarak kablonun diğer ucu, Arduino’nun 10 numaralı pinine bağlanır.
Birinci servo motorun kırmızı uç çıkışına (+) jumper kablo bağlanarak kablonun diğer ucu breadboard ‘un artı şeridine bağlanır. Servo motorun kahverengi uç çıkışına (-) jumper kablo bağlanarak kablonun diğer ucu breadboard’ un eksi şeridine bağlanır. Servo motorun turuncu uç çıkışına (data) jumper kablo bağlanarak kablonun diğer ucu Arduino’nun 9 numaralı PWM dijital pinine bağlanır.
İkinci servo motorun kırmızı uç çıkışına (+) jumper kablo bağlanarak kablonun diğer ucu breadboard ‘un artı şeridine bağlanır. Servo motorun kahverengi uç çıkışına (-) jumper kablo bağlanarak kablonun diğer ucu breadboard’ un eksi şeridine bağlanır. Servo motorun turuncu uç çıkışına (data) jumper kablo bağlanarak kablonun diğer ucu Arduino’nun 11 numaralı PWM dijital pinine bağlanır.
Breadboard artı şeridine kablo bağlanarak Arduino’nun +5 Volt pinine, breadboard eksi şeridine kablo bağlanarak Arduino’nun GND pinine bağlanarak devre tamamlanır.
mBlock Joystick İle Servo Motor Kontrolü
Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda devremizin kurulumunu izleyebilirsiniz. Ayrıca kanalımızda mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.
https://www.youtube.com/@candemirahmet
Yorum Yap