Usb Kontrol?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    salihcan38
    salihcan38's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

     Şimdi arkadaşlar aklımda bir proje var ve bu proje için cevaplanması gereken sorular var.

     

    bir usb portundan ne kadar giriş ve çıkış alabliriz?(yani atıyorum şimdi joystick (masada duruyo ordan aklıma geldi ) orta kısımdaki tuşları sayarsa minumum 11 adet tuş var bu tuş sayısı hani sonuçta o tuşlarla veri gönderiyoruz giriş ne kadar olabilir?)

    sonra şimdi joysticki taktım pc ye  atıyorum X tuşuna bastığım anda pcde ki değişiklikleri işte atıyorum bilmiyorum port mu açılıyo yani  pc nin neresinin 1 veya 0 olduğunu nerden öğrene biliri komut dizinine yazabileceğim bu tür bir komut var mı ?(yani X e basıldığında pcde meydana gelen değişikleri görebilirmiyim?)

    java programlama dili ile bu tür bir uygulama nın yapılabilirliliği illaki vardır diye düşünüyorum ingilizcesi iyi olan arkadaşların bildiği güzel kaynaklar vardır diye düşünüyorum uygulamalı örnekler varsa paylaşabilirler mi?

     bide şimdi usb portunda benim bildiğim paralel porttaki gibi değil paralel portta bitane buton la giris olayını filan hallederssin usbde bu olayı halletmek için ne yapmak gerekiyo benim bildiğim usbde 4 adet kablo var bu kablolardan biri + diğeri - bitanesi time bilmem ne diğeride veri mi ne gönderiyodu böyle bişeydi heralde. bu işlemi yapmak için tek giriş ve ya tek çıkış için ne tür bir devre yapılması gerekir?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Olgunisik
    Olgunisik's avatar
    Kayıt Tarihi: 11/Ocak/2010
    Erkek
    Sonsuz tuş bağlayabilirsin. Usb 2.0 da teorik olarak her porta 255 cihaz bağlanabilir. 255 klavye bağlayabilirsin yani. 255x102 tuş.... Ayrıca klavye neki donanım olarak sınır yok. Bir cihaz bağlayıp o cihaza bin tane tuş koyabilirsin. önemli olan o kadar çok tuşu olan cihazı donanım ve yazılım olarak yapabilmek.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Usb konusunda biraz bilgim var hocam. Öncelikle usb yi paralel port olarak düşünme, seri port gibi düşün çünkü mantığı benzerdir. Verileri seri biçimde yollar. O yüzden istediğin şekilde veri yollayabilirsin tabii bunu belirtmen gerek. byte dizi şeklinde yolluyorsun verileri..

     

    ama öncelikle usb ye bir cihaz bağladığında onu tanıtman gerek, o cihazı kontrol etmek içinde VID (vendor ID), ve PID (product ID) sini bilmen gerek. bu iki değeri bildikten sonra harici kütüphaneler sayesinde (libusb gibi) veri geldiğinde tetiklenen eventlerden verileri alabilirsin.

    Usb yi çözmen biraz zor olacak, eğer yeteri kadar azmin ve zamanın varsa yaparsın, yoksa paralel-seri porta yönel


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    salihcan38
    salihcan38's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

    tmm hani ben şimdi bir donanım yapmak istiyorum üzerinde iki buton olsun butonun birine bastığımda işte yarattığım pencere kırmızı diğerine bastığımda bencere mavi olsun  bu donanım için gömülü sistem olarak büyük ihtimalle bi pic kullanıcam tmm sorun yok picin modelini googlea yazar  aratırım şimdi . arayüzü de javada yapıcam olur diye düşünüyorum . ama işte konu şu ki yapıcam donanımda pic e prgram yazarken c kullanıcam diye düşünüyorum . c ye yazıcağım komutlar hangisi onu internette bulamıyorum bulduktan sonrada gerçekten pc de bi etkileşim yaratabiliyomuyum diye bakmam gerekiyo bide bunu nasıl yapıcam onuda bilmiyorum diğelim bunu da yaptım javayla arayüz hazırlarken nasıl yaptığım donamı arayüze entegre edicem bunuda bilmiyorum.

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    hocam kat etmen gereken uzun mesafe var.

    Bir donanım üreteceksen evet PIC kullanabilirsin. Çok fazla I/O ya ihtiyacın yoksa PIC 18F2550 işini görecektir, bir üst modeli de 18F4550 (ben bunu kullanıyorum). Dikkat etmen gereken DIP soketli olanı alacaksın diğerinde sıkıntı yaşayabilirsin.

     

    IDE olarak CCS C kullanıyorum, içinde kendi usb boatloaderı falan var, usb kütüphanesi oldukça geniş işini rahatlıkla görür. Bunun haricinde MicroC de kullanabilirsin.

    Pic e yazılımını yazdıktan sonra projene boatloaderı da atman gerekir aksi halde bilgisayar görmeyecektir ve bu boatloader da senin PID ve VID lerini girmen gerekiyor (yukarda açıkladım).  VID normalde para ile satılıyor, ticari bir ürün yapmıyorsan problem yok kafana göre rastgele değer verebilirsin ancak varolan USB donanımlarının VID ile çakışmaması gerekiyor.

     

    Bundan sonraki aşama da bilgisayar yazılımı aşaması. Ben .net kullandım ancak java ile de yapabilirsin. Usb kütüphanesini bulacaksın java için ve ilgili sınıftan bir nesne örneği yaratacaksın ve VID, PID değerlerini gireceksin (pic i programlarken kodda yazdıklarınla aynı olmalı) bu değerler eşleşmiyorsa yazılımla o devreyi kontrol edemezsin.

     

    İlgili usb kütüphanesinin connect için bir eventi ya da metodu falan vardır, bağlantı kurulduktan sonra mesaj geldiğinde yine bir event tetiklenecektir,o eventin parametrelerini kullanarak gelen veriyi alabilirsin. CCS C deki kütüphanede yollanan veri byte dizisi şeklinde oluyor ve karşı taraftaki değişkenin türünü de byte dizisine cast etmen gerekecek sonra da onu artık string ya da int neyse ona çevireceksin ve gelen değere göre iş yaptıracaksın.


    Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    salihcan38
    salihcan38's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

    tmm donanımı sktr eticem onun yerine joystk kullanıcam denemek için peki şuan tahribatta java uzman lığı olan biri normalde arayüzü yazarken  buttonun olduğu yere parantezin içine gömerken nokta koyduktan sonra birsürü şey çıkar mause sağ klikte onlardan biri joystick için bu nasıl yapılır?

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    salihcan38
    salihcan38's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

    http://www.dosya.tc/server12/uDEqBb/eclipseee.jar.html 

    böyle saçma bişey yaptım şimdi amatörce oldu biliyorum  unutmuştum çoğu komutu kusura bakmayın o yüzden renkli bişey yapamadım .

    bide bi serzeniş te bulunmak istiyorum neden benim açtığım konularda bilgi paylaşımı üst düzey olmuyo.? siliyim mi kalsın mı diye çok düşündüm. baktım hemen aktif konular bölümünden gitmiş.

    bu seferki konu şu burdaki olayları mouse kontrolüyle yapamadım yıllar önceki o çalışmayı bulamadım ama demem oki konutu butona basıldıktan sonra diye değilde joystickte X tuşuna basıldıktan sonra  isim degıstir diye nasıl yaparım.?

    salihcan38 tarafından 03/Tem/13 00:43 tarihinde düzenlenmiştir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    salihcan38
    salihcan38's avatar
    Kayıt Tarihi: 12/Nisan/2008
    Erkek

    import java.awt.Dimension;

    import java.awt.FlowLayout;

    import java.awt.Toolkit;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

     

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JLabel;

     

     

    public class f extends JFrame {

    String k="kırmızı",m="mavi";

    private JButton buton1;

    private JButton buton2;

    private JLabel etiket;

    public f(String pencereBasligi){

     

     

    super("pencereBasligi");

    setLayout(new FlowLayout());

    buton1 = new JButton(k);

    renkyaz renklendir=new renkyaz();

    buton1.addActionListener(renklendir);

    add(buton1);

     

    buton2=new JButton(m);

    renkyaz2 renklendir2=new renkyaz2();

    buton2.addActionListener(renklendir2);

    add(buton2);

     

    etiket = new JLabel("değiştirmek için tıklayın");

    add(etiket);

     

     

    this.setSize(400,300);

    this.setDefaultCloseOperation(EXIT_ON_CLOSE);

     

    Toolkit toolkit = getToolkit();

    Dimension size = toolkit.getScreenSize();

    this.setLocation(size.width/2-getWidth()/2,size.height/2-getHeight()/2);

     

    }

     

    public class renkyaz implements ActionListener{

    @Override

    public void actionPerformed(ActionEvent arg0) {

     

    etiket.setText(buton1.getText());

     

    }

    }

     

    public class renkyaz2 implements ActionListener{

    @Override

    public void actionPerformed(ActionEvent arg0) {

     

    etiket.setText(buton2.getText());

     

    }

    }

     

    public static void main(String[] args){

    f pencere = new  f(null);

    pencere.setVisible(true);

    }//main

     

    }

Toplam Hit: 1164 Toplam Mesaj: 8