#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.

Joystick Potansiyometre X ve Y Eksenleri Joystick Eksen Hareketleri

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 Arduino Bağlantı Pinleri

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 Joystick İle Servo Motor Kontrolü   

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.

mBlock Joystick İle Servo Motor Kontrolü Kuklalar

Daha sonra Aygıtlar sahnesine gelerek kodları Arduino kartına gönderip kukla üzerinden gelen veriyi Panda üzerinde okuyabiliriz.

mBlock Joystick İle Servo Motor Kontrolü Sahne

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:

mBlock Joystick İle Servo Motor Kontrolü

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 Joystick İle İki Servo Motor Kontrolü Butonlu   

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.

mBlock Joystick İle İki Servo Motor Kontrolü Butonlu Kuklalar

Daha sonra Aygıtlar sahnesine gelerek kodları Arduino kartına gönderip kukla üzerinden gelen veriyi Panda üzerinde okuyabiliriz.

mBlock Joystick İle İki Servo Motor Kontrolü Butonlu Sahne

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:

Arduino Joystick İle İki Servo Motor Kontrolü - Buton Aktif

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 

Oval@3x 2

Bu ipuçlarını kaçırmayın!

Kayıt butonuna bastıktan sonra e-postanız gelen kutunuza giderek gelen e-postayı onaylamayı unutmayınız. Gelen kutusunda görülmeyen postalar için Önemsiz -Spam klasörünü kontrol edebilirsiniz. Eğer kayıt e-postası ulaşmadıysa iletişim menüsünden bu durumu bildirebilirsiniz.

Yazan: Ahmet Candemir
Teknik Öğretmen - Cisco Instructor - Microsoft MCP - ECDL MS Office Advanced Expert - Adobe Eğitmeni - MEB Fatih Projesi Koordinatörü - Robotik Kodlama Eğitmeni