top of page

Arduino ile StreamDeck Benzeri CoderDeck Yapımı

Daha önce framewok oluşturma yazımda Dakota adında basit bir veri okuma framewokü yazmıştım. Şimdi de bu framewokü kullanarak bir Arduino projesi yapmaya karar verdim. Bu projeye yayıncılar arasında popüler olan StreamDeck cihazından ilham aldım ve adını da CoderDeck olarak koydum.

CoderDeck şimdilik benim için kopyalama, yapıştırma ve yorum açma ,kapatma işlemlerini yapacak. Tabiki şu an protatip bir proje olduğu için fazla bir anlam yüklemedim.


Öncelikle Arduino kısmından başlamak istiyorum. Arduino benim için sadece hobi olarak ilgilendiğim bir kısım olduğu için yaptıklarım kaynak olarak biraz yetersiz olabilir. Projeye başlamadan önce bu projede kullandığım malzemeler ve bağlantı şemasını aşağıda paylaştım.


Arduino Bağlantı Şeması


Malzeme Listesi


Arduino Kodları

Arduino bağlantılarını yaptıktan sonra sıra geldi Arduino cihazını programlamaya. Bunun için Arduino IDE yi kullandım.


Arduino IDE indirme linki: https://www.arduino.cc/en/Main/Software


Butonlarımı Arduinonun 8,9,10, ve 11. pinlerine bağladım. Arduino cihazına yüklediğim kodlarsa şu şekilde:

Arduino Serial Port Testi

Butona basıldıkça serial haberleşme ile porta hangi butona basıldığı mesajını yolluyorum.


Dakota ile Deck Kodlarının Yazımı

Şimdi de sıra butona basıldığında ne yapacağını daha önce yazdığım Dakota framework ile kodlamaya geldi. İşlevsel bir uygulamaya dönüştürmeden önce bir consol uygulaması yaparak herşeyin düzgün çalıştığından emin olmak istiyorum.


Bunun için bir Consol uygulaması oluşturarak Dakota kütüphanelerini projeme ekliyorum. Kütüphane dll lerini Github hesabımdan projeyi indirip derleyerek oluşturabilirsiniz. Bu projede serial haberleşme kullandığım için Receiver olarak Dakota.Receiver.SerialPort da referanslarıma ekliyorum.



Daha sonra "CoderDeckArduinoMachine" adında bir class oluşturuyorum. Bu class benim Arduino cihazımı temsil etmektedir. Movement adında bir klasör oluşturarak hareket tiplerimi de burada tanımlıyorum.


Dört tane butonum olduğu için bu dört butonuma karşılık gelen hareket tiplerinide burada tanımlıyorum. Sonrasında da tanımladığım hareket tiplerimi CoderDeckArduinoMachine classımla ilişkilendiriyorum.

Birinci butonumun hareketini tanımlarken eğer bu hareket tetiklenirse Ctrl + C ye basmasını sağlıyorum. Böylece bu butona basıldığında eğer herhangi kopyalanabilen bir nesne seçili ise kopyalayacaktır. İkinci butona da Ctrl + V tuş kombinasyonunu tetikleyen bir kod ekliyorum.

Üçüncü butona visual studio yorum ve dördüncü butonada yorum kapama kısayollarını ekliyorum. Test için uygulamamı çalıştırıyorum ve testlerime başlıyorum.

İşte bu kadar bundan sonra yapmam gereken tek şey butonlara görev atayabileceğim bir arayüz oluşturmak. Böylece her bir buton için farklı işlemleri yerine getirecek dinamik görevler atayabilirim.


Şimdilik bu kadar bir sonraki adımda Deck'im için uygun bir kutu yapmayı düşünüyorum. Böylece hem görsel olarak hemde işlevsel olarak daha tatmin edici bir deneyim sağlayacaktır.


Yazılım kısmında da butonlarıma görev ataması yapabilmek için bir arayüz yapmayı düşünüyorum. Başka bir hobi projede görüşmek üzere hoşçakalın.




66 görüntüleme0 yorum

Son Yazılar

Hepsini Gör
bottom of page