Scracth + Arduino + Joystick + Düğme

Kodla Büyü

systran

Seçkin Üye
Seçkin Üye
Mesajlar
675
Arduino Uno, joystick ve 2 düğme ile Scratchtaki karakteri kontrol etme.

Uyarıyı ilk başta yapayım, bu proje Scrathın sitesinden indirilen versiyonu ile çalışmaz. Dosya zarar görmüş, (key not found) hatası alırsınız. Projenin çalışması için S4A (Scratch for Arduino) adlı sitedeki versiyonu kullanmanız lazım. S4A yı kurduktan sonra aynı sitede, Arduino için yazılmış, Scratch ile seri haberleşmeyi sağlayan program kodunu da Arduinoya yükleyince program yazmaya başlayabiliriz. Scratchı açtığımızda "uzaktan kumanda bağlantıları aktif" uyarısı gelmesi lazım.


Projemde 2 tane buton ve 1 tane 2 eksenli joystick kullandım.
Butonlar için Digital 2 ve 3 nolu pinler kullanıldı. 1 nolu düğme ateş için, 2 nolu düğme oyunu sonlandırmak için kullanıldı. Butonların basılı olmadığı durumda girişlere GND gitmesi için 10K lık dirençle topraklama yapıldı. basılı olunca da direk digital pinlere 5v gönderiyor. 10K lık topraklama yapılmazsa buton basılı olmadığı durumlarda true/false olarak sürekli değişiyor ve sabit bir değerde kalmıyor. muhakkak yapılması lazım.

Joystick üzerinde +5V, GND, VRx, VRy, SW olmak üzere beş çıkış var. +5v, Gnd bağlantıları devreyi beslemek için. VRx çıkışını (X ekseni değeri) Analog0 ve VRy (Y ekseni değeri) çıkışını Analog1 girişine bağladım. SW ise joysticklerde bulunan bastırınca çalışan dügme (Gökkuşağı hareketi :p ) projemde bu düğmeyi kullanmadım. Bağlantı şemaları aşağıdaki gibidir.


Joystick içinde 2 tane potansiyometre var. en düşük 0 en yüksek 1023 değerini arduinodan okuyabiliyoruz. merkezde durduğu zaman bu değer 512 gibi birşey göstermeli (benimkinde X ekseni ortada iken 517, Y ekseni 512 gösteriyor). kolu oynattıkça bu değerin merkez değere göre BÜYÜK / KÜÇÜK karşılaştırılması yapılıp, yön belirleniyor.

Scratchta dikkat edilmesi gereken nokta şurası. Düğme basma, Sensör algılama vb. işlemleri sadece Arduino modu ile eklenmiş karakter içinden yapabilirsiniz. Bunun için 2 yöntem kullanabilirsiniz.
1-DEĞİŞKEN YÖNTEMİ: 1 tane arduino karakteri kullanarak, değişkenler oluşturup, düğme durumlarına göre bu değişkenleri Arduino karakteri içinden 1 / 0 yapıp, diğer karakterlerin bu değişken değerlerine göre çalışmalarını sağlayabilirsiniz. (ben bu yöntemi kullandım)
2-Farklı Arduino Karakterleri olarak eklemek: Scratchta sahneye rastgele karakter ekleme düğmesinin yanına ilave olarak gelen düğmelerden en sağdakini kullanarak, istenilen karakter ilave algılama blokları ile sahneye eklenebilir.

aşağıdaki kodlar, arduino karakteri içinde yer alır. buton ve joystick verilerini değişkenlere aktarır. Diğer karakterler bu değişkenlerin durumuna göre hareket eder.

Burada ki farklı bir karakter, değişkenlerin durumuna göre hareket ediyor.



Yapılacaklar:
1-S4A sitesinden Scratchın modifiyeli versiyonunu indir. (http://vps34736.ovh.net/S4A/S4A16.zip 27 MB )
2-indirdiğin paketteki programı kur.
3-Arduino için S4AFirmware16.ino dosyasını indir. (http://vps34736.ovh.net/S4A/S4AFirmware16.ino 7 KB)
4-Arduino içine indirdirilen S4AFirmware16.ino dosyasını yaz.
5-Devre şemasını kur.
6-Örnek projeyi yükleyip test etmek. (ekte mevcut)

Tüm içerik için (video da mevcut) --> https://drive.google.com/folderview?id= ... sp=sharing
 

Ekli dosyalar

  • res1.JPG
    res1.JPG
    10.5 KB · Görüntüleme: 2,376
  • res3.JPG
    res3.JPG
    43.6 KB · Görüntüleme: 2,372
  • res4.JPG
    res4.JPG
    3.9 KB · Görüntüleme: 2,371
  • kod1.gif
    kod1.gif
    24.8 KB · Görüntüleme: 2,378
  • kod2.gif
    kod2.gif
    25 KB · Görüntüleme: 2,369
  • 2015-12-24 11.37.51.jpg
    2015-12-24 11.37.51.jpg
    183.1 KB · Görüntüleme: 2,358
  • 2015-12-24 11.38.03.jpg
    2015-12-24 11.38.03.jpg
    176.7 KB · Görüntüleme: 2,353
  • 2015-12-24 11.38.10.jpg
    2015-12-24 11.38.10.jpg
    183.7 KB · Görüntüleme: 2,341
emeğiniz için kutluyor paylaşımınız için teşekkür ediyoruz.
Çalışmalarınızda başarılar
 
Systran hocam arduino setini kullanmaya başlamışsın. hayırlı olsun. Projelerini takipteyiz.
 
Örnek proje dosyası drive da yok galiba göremedim telefondan bakarken. Emeğinize sağlık.
 
arduinoegitimseti.com
İŞTE Arduino Programlamayı En Kolay ve Kapsamlı bir şekilde öğrenebileceğiniz en detaylı ve en kapsamlı set geliştirildi. Tamamiyle Türk alan uzmanları tarafından geliştirilen eğitim setimiz artık satışta. Yüksekokul - Meslek Lisesi Öğretmen ve öğrencileri için çok faydalı olacağına inandığımız bu seti incelemenizi öneririz. Görüş ve eleştirileriniz bizim için değerlidir.
 
Geri
Üst