Matlab ile Arayüz adında bir yazı serisine başlıyorum. Matlab GUI’ye merak salmam portlardan gelen verileri algılama ve bu verilere göre bilgisayarımda işlem yaptırma isteğim ile başladı. Yazı dizisi olduğundan ilk yazımı yapmak istediğim şeyi açıklamaya, yani biraz hikayeye ayırıyorum. Sıkılmazsınız umarım:)
Elimde bulunan elektronik ile alakalı kitaplardan ‘Bilgisayar Kontrolü’ konusu içerenlerin örnek kodları hep Visual Basic 6.0 ile yazılmış. Geçen günlerde yazdığım Arduino ile Bilgisayar Arasında Seri İletişim Kurmak ve Bilgisayar ile Motor Hızı Kontrol Uygulaması adlı yazımda bilgisayar ile arduino arasında iletişimde bulunurken Arduino’nun Serial Monitor adlı aracını kullanıyorduk(bu işi yapan başka programlar da var, örneğin Putty). Bu konuda eksikliğini hissettiğim şey, bilgisayardan Arduino’ya gönderdiğimiz veriye göre Arduino üzerinden işlem yapabiliyorduk, ama tersi mümkün olmuyordu. Örneğin yazıda anlattığım uygulamada, bilgisayardan ‘w’ karakteri girip Gönder‘e tıkladığımızda, motor hızını arttırıyorduk. Burada içime sinmeyen ‘w’ girdikten sonra Gönder tuşuna basmamız zorunluluğuydu. Ben w’ye bastığımda Göndere yada Enter’a basmadan direkt hızlanmasını isterim:)
W’ye basarak bilgisayardan arduino’ya veriyi gönderip, Arduino’da gelen veriyi kontrol edip(w mu değil mi) buna göre işlem yapıyorduk. Peki arduino’dan bilgisayara gönderdiğimiz veriyi kullanarak bilgisayarda işlem yapmamız gerekirse? Örneğin bilgisayarda w’ya basıp, arduino’da motorun hızını arttırdıktan sonra motorun hızının arttırıldığını belirten “1” verisini arduino’dan bilgisayara gönderelim. Serial Monitor aracını kullanarak gelen veriyi sadece görebilirdik(yada benin bilgim eksik bu konuda) ama ben bilgisayarda bir program üzerinde ‘Motor hızı arttırıldı’ yazmasını istiyorum. Aslında esas yapmaya çalıştığım bir ivme ölçerin pozisyonunu bilgisayarımda 3 boyutlu olarak görmek. Tabi hemen 3 boyutlu olarak gösteremeyeceğim çünkü daha seri yoldan gelen veriyi kendi yazdığım programda nasıl algılayacağımı bilmiyorum(aslında biraz biliyorum şu anda:) ). Anlayacağınız daha öğrenmem gereken birkaç şey daha var. Örneğin başlangıçta en büyük soru hangi programı kullanacağımdı.
C’ye hiç bulaşmak istemiyorum çünkü hem arayüz işi problem olacak, hem de programa her şeyi anlatmamız gerektiğinden (x=int olması gibi, peki ya eğer karakter ise?!?) yapmak istediğim şeyden sapıp hedefim C’de farklı komutlar öğrenmeye sapacaktı. C’yi sildiniz.
Kitaplarımdaki örneklerde sürekli VB (Visual Basic’in kısaltması) kullanıldığından ve çok basit olmasından dolayı VB’e yönelmeye karar verdim. Tuşu sürükle bırak, tuşa çift tıkla, tuş tıklandığında ne olacağını yaz… Ayrıca VB 6.0 öğrenmeye başladığım ilk programlama dilidir 🙂 Artık USB’den gelen veriyi VB ile kontrol etmeyi öğreneceğim, derken nasıl olduğunu hatırlamadığım bir şekilde bu işlemi MATLAB ile yapabileceğimi öğrendim. Sanırım Matlab->New File deyip, GUI’yi seçtim ve Visual Basic’e çok benzeyen bir ekranla karşılaştım ilk defa. Bir yerlerden de USB’den gelen veriyi MATLAB ile kontrol edebileceğimi de öğrendim(hatırlamıyorum gerçekten). Ayrıca MATLAB’ı gerçekten öğrenmek istiyordum, özellikle EE Mühendisleri için çok önemli bir program.
Bu yazı dizisinde hedefime giden yolda öğrendiğim şeyleri paylaşacağım. Belki de daha fazlasını. İyi bir takipçi olursanız belki serinin 2.yazısını az sonra paylaşabilirim 🙂