S4A scratch veya Mblock keypad

Kodla Büyü

mk_2007

Aktif Üye
Mesajlar
127
Arkadaşlar şifreli kapı projesi yapıyorum. S4A veya mblock ile 4X4 keypadi kullanabilirmiyiz. Nasıl Kullanırız.
 
Teşekkür ederim hocam. Yalnız bunu scratch veya mblock gibi bir programla keypad değerlerini okutabilirmiyiz.
 
Hocam keypad in kendine özgü bir kütüphanesi varmı yoksa direk giriş çıkışlardan okunabiliyormu ona bakmak gerek. Kütüphanesi varsa o iş zor diye biliyorum. Tabi bu işin üstadı bora hocamdır o görürse konuyu seni daha iyi aydınlatır.
 
Hocam sanırım siz çocukların çalışma yapabilmesi için soruyorsunuz;

MBlock'a uzantı eklemek ya da değişiklik yapmak için->
http://forum.makeblock.cc/t/how-to-add-an-extension-for-mblock/2280

Keypad kullanımı ->
http://www.projehocam.com/arduino-tus-takimi-keypad-kullanimi/

Menüden Uzantılar -> Uzantıları Yönet -> Arduino - Kaynağa bak tıklayın
Arduino.s2e dosyasını metin editörü ile açın.)

Blockspecs sonuna
Kod:
, //Bi önceki köşeli parentezden sonra yazım kuralları gereği virgül koyuyoruz. Yoksa hata veriyor. 
	
		["R", "keypad4x4","keypad", 
		{"encode":"",
		"setup":"",
		"inc":"",
		"def":"#include <Keypad.h>\n const byte SATIR = 4;\n const byte SUTUN= 3; \n char keys[SATIR][SUTUN] = {\n {'1','2','3'},\n {'4','5','6'},\n {'7','8','9'},\n {'#','0','*'}\n };\nbyte rowPins[SATIR] = { 9, 8, 7, 6 };\n byte colPins[SUTUN] = { 12, 11, 10 }; \n keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, SATIR, SUTUN );\n",
		"work":"keypad.getKey()",
		"loop":""}
		]

Her ihtimale karşı Arduino.s2e dosyasının yeni halini ekliyorum.

Programı kapatıp açtıktan sonra keypad4x4 komutu sona eklenmiş oluyor.

kodu Süreklinin içinde yazdığımızda "Loop" bloğuna ekliyor.


Scratch a "null" kontrolü yapamadığımız için karakterin uzunluğu ile kontrol edilebilir.

İşinize yarar umarım, bi deneyip sonucu yazarsanız sevinirim.
 

Ekli dosyalar

  • keypad_mblock.JPG
    keypad_mblock.JPG
    16.9 KB · Görüntüleme: 2,369
  • Arduinos2e.rar
    Arduinos2e.rar
    1.6 KB · Görüntüleme: 143
Hocam aslında eklendi keypad 4x4 görünüyor ama lcd ekran gibi gösteremiyorum direk acaba bağlı olduğu sayısal pinlerle alakalı başka bir şey mi yapmak mı gerekir ?
 
Son düzenleme:
Eklenen kodlara göre aslında doğru, yapılan uygulamara baktım fakat şu hatayı veriyor "'keypad' does not name a type" eğer hatayı vermese çalışacak aslında psia hocamızın dediğini yaptım fakat bu hatayı veriyor keypad.h dosyalarını da ekledim anlamadım bilen hocamız varsa yardımcı olursa seviniriz :)
 
Son düzenleme:
Eklenen kodlara göre aslında doğru, yapılan uygulamara baktım fakat şu hatayı veriyor "'keypad' does not name a type" eğer hatayı vermese çalışacak aslında psia hocamızın dediğini yaptım fakat bu hatayı veriyor keypad.h dosyalarını da ekledim anlamadım bilen hocamız varsa yardımcı olursa seviniriz :)

iki hata var kodlarda düzeltildiğinde derleme sağlanacaktır ilki
keypad kpd = Keypad( makeKeymap(keys) şeklinde devam eden kısımda ilk kelime büyük K ile başlayacak Keypad kpd... şeklinde
ikincisi ise
.."work":"keypad.getKey()",.... kısmında "work":"kpd.getKey()", düzeltmesi yapılacak sonrasında hatalar giderilmiş olacaktır.

Tabi kütüphaneyi otomatik alamayacağı için kodları kopyalayıp arduino ile atmanız gerekebilir.
 
BBNET
Geri
Üst