Bir çok proje kontrol edilmek için bir kumanda paneline, giriş için bir birime veya bir bilgisayara ihtiyaç duyuyor. Otonom olmayan projelerin tümü için ise böyle bir komut/kontrol paneli şart. Eğer yer ile ilgili bir sıkıntı yoksa ve gerekli yazılım dilleri biliniyorsa bilgisayar kullanmak çok mantıklı gözüküyor. Bilgisayar ile kontrol için; bir arayüz yazmak ve projemizi iletişim protokollerinden birisiyle bilgisayara bağlanmak gerekiyor.

Biz de bunu göz önüne alarak tüm projelerimizde kullanmak üzere bir kontrol paneli ve arayüz tasarlamaya karar verdik. Ve bunun sonucunda da araştırmalarımız başladı. Bu yolda ilk hedefimiz bize en uygun protokolü bulmaktı. Bluetooth, Seri iletişim, USB gibi bir çok yolla projemiz bilgisayara bağlanabilir ve bilgisayardan kontrol edilebilir. Araştırırken her şeyi göz önüne alıyorduk. İnternet üzerinden en fazla kaynağa sahip olan şüphesiz ki RS232 ile bağlanan seri iletişim protokolü. Ama gerek hız, gerekse dizüstü bilgisayarlarda bulunmaması, her ne kadar “RS232 to USB” kartlarıyla bağlanabilse de “düşük teknoloji ürünü” gibi geldi bize.

Biz çok çabuk geliştiği, daha kullanışlı olduğu, ve dizüstü bilgisayarlarda daha rahat kullanılabildiğinden her ne kadar seri iletişim (RS232) kadar dökümanı olmasa da USB protokolünü kullanmayı seçtik. Bunun üzerine çalışmalarımıza başladık. Amacımız USB ile bilgisayara bağlanarak kendi yazdığımız bir program (arayüz) yardımıyla elektronik kartımıza bağlanarak veri iletişimini sağlamaktı. Test birimi için komutların algılanıp algılanmadığını arayüzde göstermemiz gerekiyordu. Bunun için potansiyometre ile ADC ölçümü yaparak görsel olarak programımızda göstermeyi seçtik.

Artık amacımız belli bir şekilde projemizi yavaş yavaş tasarlamaya başladık. İşlemci olarak PIC 18F2550 yi kullanarak kendimize bir geliştirme kartı tasarladık. Proje aşamalarımız genelde, araştırma, tasarlama, simülasyon ve ardından üretim şeklinde gittiğinden Proteus ISIS yardımıyla devremizi tasarladık. Simülasyon yapmak için yine Proteus’un bize sunduğu Virtual USB adlı uygulamayı kullanarak projemizi sanal bir USB aygıtı olarak bilgisayara tanıtarak bilgisayara bağladık. Tüm testlerden başarıyla geçtikten sonra üretim kısmında son haline getirmiş olduk. Bunu ileriye dönük kullanmayı düşündüğümüz için boyutlarını elimizden geldiğince ufalttık. 3 x 5 cm gibi bir boyutta tüm pinlerin dışarıya çıkartıldığı, bol bol besleme girişlerinin olduğu analog ve dijital sensörlerin bağlanmasına olanak sağlayan, anahtar ve ledlerle desteklenen bir kart geliştirdik.

          Her ne kadar ilk prototipimiz olsa da uzun süre bu kartımızı kullanmıştık.  Kartı tasarladıktan sonra sıra USB üzerinden bilgisayara bağlanmasına geldi. Bir usb uygulaması yapmak istiyorsanız, yaptığınız kartın bilgisayar tarafından tanınması ve arayüz tarafından algılanması için “USBLibrary.dll” , “umng.dll”, “hid.dll” gibi USB protokolü için referans gösterebileceğiniz .dll dosyasına ihtiyacınız olacak. Veya kendiniz için yeni bir dll dosyası yazmanız gerekecek. İşte bizim için bir dizi sorunlar silsilesi burada başladı. Bilgisayarımıza; kurulumsuz, Hid ismi verilen tak-çalıştır mantığıyla bir program yazmamız gerekiyordu. Ve kullandığımız işlemciye uygun “64 bit bilgisayarlar için” referans gösterip tanıtabileceğimiz bir .dll dosyası yoktu. Neyse ki bir takım yazılımsal şaşırtmalarla bu sorunu çözüp şimdilik ADC ölçümünü yapabildiğimiz bir sistemi yapmış olduk.  C#dilini kullanarak yaptığımız uygulamamızda ise “TrackBar” ile 100 üzerinden bir değere 8 Bitlik ADC ölçümümüzü bağdaştırdık. Görsel olarak da Analog gösterici ve yükleniyor simgesi olarak destekledik. Aynı zamanda program ile sinyal verme gibi ek özellikleri ekleyerek uygulama mantığını çözmeye çalıştık.

Potansiyometrenin bağlı olduğu kesmede değişiklik olduğunda USB ile bilgisayara gönderilen verimiz ekranda görsel olarak gösterildi. USB protokolünü başarıyla kullandığımız ilk uygulamamıza ait video aşağıdadır. Video ilk test videosudur. Son haline ait video çekmemiştik.

Önümüzde ki yazılarda ;
Arayüz nasıl tasarlanır ?,
USB Uygulaması nasıl yapılır ?,
Yaptığımız USB aygıtı bilgisayara nasıl tanıtılır ?,
USB protokolü kullanarak bilgisayara veri aktarımı nasıl yapılır ?
C# diliyle USB uygulamaları nasıl kullanılır ?,
C# ile bilgisayardan karta veri aktarımı nasıl yapılır ?,
C# USB ile RF uygulamaları nasıl yapılır ?,

ve USB ile ilgili daha bir çok sorunun cevabını bulabileceksiniz.
Bizi takip edin 🙂

 

İyi seyirler 🙂