Bugün Internet Computer Protocol blok zincirini tanıyıp Hello World örneğiyle bu merkeziyetsiz geliştirme ortamına ilk adımımızı...
Mindstorms EV3 Touch Sensör Kullanımı
Kemal İKİZOĞLUHerkese merhaba,
Bugün sizinle birlikte Lego Mindstorms eğitim seti içerisinde bulunan dokunma sensörünün(touch sensor) özelliklerini ve sensörün nasıl kullanıldığını öğreneceğiz. Bu sensör her mindstorms seti içerisinde 1 adet vardır.
EV3 dokunma sensörü, ön düğmesinin ne zaman basıldığını veya bırakıldığını algılayan ve tek ve çoklu presleri sayabilen basit ama son derece hassas bir araçtır. Öğrenciler başlatma / durdurma kontrol sistemleri oluşturabilir, labirent çözüm robotları oluşturabilir ve teknolojinin dijital müzik aletleri, bilgisayar klavyeleri ve mutfak aletleri gibi cihazlarda kullanımını açığa çıkarabilir.
Resmi sitesinden sensörü satın almak istediğinizde 21,99$ yaklaşık olarak 108 TL gibi bir fiyatı bulunmaktadır.
Touch Sensör Kullanımı:
Bu sensör ön düğmesinin ne zaman basıldığını veya bırakıldığını algılayan ve tek ve çoklu presleri sayabilen basit ama son derece hassas bir araçtır. Programlama sayfasını açıp sensörler kısmından touch sensör bloğunu aldığımızda bu sensöre ait kullanılabilecek özelliklere şöyle bir göz atalım.
Sensörler sekmesinde Measure(ölçüm), Compare(Kıyaslama) olmak üzere 2 mod mevcuttur. Measure özelliği ile sensörün durumunu kontrol edebiliriz. Basılı mı, bırakıldı mı? Bu bilgiyi başka bir bloğa aktarıp kullanabilirsiniz. Compare modunda ise sonuç ve değer özelliklerini kullanarak başka bloklara aktarabileceğiniz bilgiler mevcuttur. Measure özelliğini kullanarak bir örnek yapalım.
Sarı sekmeli olan Sensor bölümüne gelip bir adet touch sensör bloğu alalım. Yeşil sekmeli action sekmesinden Brick Status Light bloğunu alalım. Turuncu sekmeli loop döngüsünden bir adet alalım. Aldığımız blokları döngü içerisine yerleştirelim. Sensör ile brick status light bloğu arasına yukarıdaki resimde görüldüğü gibi bir bağ kuralım. Programı çalıştırdığımızda sensörün aldığı değere göre tuğla üzerindeki ışıkların renginin değiştiğini göreceksiniz. Sensörün verdiği değeri ışıklarla test ettik. Ekrana yazdırabilir, değişken olarak kullanabilirsiniz.
Bizim çalışmalarımızda sıkça kullanacağımız bekleme kontrollü bloğa ihtiyacımız var. Flow Control yani akış kontrol sekmesinde yer alan Wait bloğundan bir adet alalım. Yukarıdaki resimde görüldüğü gibi Touch Sensor > Compare > State modunu seçelim. Blok değerini basıp bıraktıktan sonra olarak ayarlamak istiyorum.
Blok üzerinde yer alan butona bastığımda 3 farklı fonksiyon bulunmaktadır.
0 – Normal
1 – Basıldığında
2 – Basılıp bırakıldığında
Bu 3 farklı fonksiyondan biz 2. sini kullanacağız.
Sensöre basılıp bırakıldığında bunun sonucunu görebilmek için bir adet motor kullanıyorum. Motor 5 sn boyunca çalışsın ve sonra da dursun. Hemen bloklarımızı hazırlayalım.
Hazırlıklarımı tamamladıktan sonra programı çalıştırdığımda, dokunma sensörüne basıp bıraktığımda 50 birim hızda 5 sn boyunca motor dönmeye başlayacaktır.
Birden fazla sensör bloğu kullanıldığında dikkat etmeniz gereken bir durum var.Kod içerisinde 2 ile tanımlanan durum sonrası 1 tanımlı durum kullanıldığında sensörün basılma durumunu beklemeden dümdüz kodu çalıştırıp geçiyor. Böyle durumlarda doğru kullanım çoğunlukta 2 tanımlı durumu kullanmak olacaktır.
Peki sensörde bulunan 3 farklı durum var. İki durumda farklı görevler yaptırmak istediğimizde nasıl yaptırabileceğiz?
Sensörümüze basıldığında ve basılıp bırakıldığı durumlarında iki farklı görev yaptırmak istediğinizde switch döngüsünü kullanabilirsiniz. Turuncu renkli akış kontrol sekmesinde bulunan bir adet switch bloğu alalım. Switch modunu Touch Sensor > Compare > State olarak değiştirelim. Sensör değerini 2 seçtim. Programda ekranın sağ alt köşesinde bulunan port ekranında sensöre basılıp bırakıldığında 2 değerini göremeyeceksiniz. 0 ve 1 değerlerinin döndüğünü göreceksiniz. O yüzden ben burada 2 değeri yani basılıp bırakıldığında moduna bir görev atamak istiyorum. Eğer basılıp bırakırsa alanına Blip 3 sesini ekleyip 2 sn bekleme ekliyorum. Diğer durumlar için Laser sesi sonrası 2 sn bekleme ekliyorum. Programınızı çalıştırdığınızda herhangi dokunma olmazsa Laser sesi 2 sn aralıklarla çalmaya devam edecektir. Basıp bırakıldığında ise Blip 3 sesi çalıp 2 sn bekleyip durumu kontrol edecektir.
Sensörün sık kullanılan durumlarını sizlerle öğrendik. Sorularınızı yorum sayfasından bana iletebilirsiniz.
Kolay gelsin.
Son Yorumlar..