1. sayfa
Bunun için hangi Arduinoyu kullanıyorsun |
Simdilik elimde uno r3 var ama eger uyumsuzsa her hangi bir arduino almaya hazirim not duseyim: * kutuphane hatasiz sekilde yukleniyor * ornek kod hatasiz sekilde yukleniyor * kodu yukledigimde serial monitordan start yazisini aliyorum / USB Host Shield takili olsada olamsada serial monitor start yazisini veriyor - klavye USB Host Shield`a takildigi halde akim cekmiyor olabilir, capslock gibi basildiginda isik veren tuslar isik vermiyor, klavyeden tepki alamadigimdan dolayi klavyenin kullanip kullanamayacagimi anlayamiyorum |
Klavyenin akım ve voltajı ile Arduino uyuşuyor mu ? Elektronik aksama bir sorun olabilir? Not: Arduinonun işlemcisi usb çevirisi desteklemiyor olabilir Arduino Leonardo kullanmayi dene |
Klavyenin modeli: K5108 https://www.circuitsathome.com/mcu/usglobalsat-nd-100s-gps-receiver-works-with-usb-host-library yazilim ve donanim ureticisi kisinin blogunda uno ile cekilmis fotograf var ve github sayfasinda board basligi altinda uno yu destekledigine dair bir ibare bulunmakta |
Arduino Leonardo Peki bu yeni Arduino’yu farklı kılan özellikleri neler. İlk önce şunu söylemek gerekir, Leonardo, Uno’nun yerine üretilmiş bir kart değil. Yani, bir müddet daha Uno’lar piyasada olacak. Leonardo, Uno’dan daha ucuz bir alternatif olması amacıyla ve bazı ek özelliklerle tasarlandı. Tamamen SMD paketli elemanlar kullanılarak üretilen Leonardo’nun Uno’dan en büyük farkı sahip olduğu mikrodenetleyici. Uno’da mevcut olan ATmega328 yerine Leonardo’da ATmega32u4 kullanıldı. Bu da Leonardo’ya bazı farklılıklar kattı. ATmega32u4, dahili olarak USB iletişimine sahip olduğu için Uno’da mevcut olan ve USB-seri çeviri görevini yerine getiren Atmega16U2 Leonardo’da bulunmuyor. Bu da fazladan bir entegre devreden kurtulmak demek. Ayrıca bu durumun getirdiği avantajlar ve dezavantajlar var. Avantajlarından başlarsak, bu sayede Leonardo bilgisayara USB ile bağlandığında sadece sanal seri port olmakla kalmayacak, HID (human interface device) olarak da tanıtılabilecek. Bu da demek oluyor ki Leonardo klavye, mouse gibi kullanabilecek. Bunlara ek olarak başka bazı kütüphanelerin de yolda olduğu söyleniyor. Dezavantaja gelirsek, USB iletişimini ATmega32u4 sağladığı için kartı resetlediğinizde bilgisayardaki sanal seri portunuz da kaybolacak ve tekrar geri gelecek. Bu da demek oluyor ki seri porta dayalı bir program çalıştırıyorsanız karta reset attığınızda ilgili portun olmadığına dair hata alabilirsiniz. Bağlantıyı tekrar kurmanız gerekebilir. Kaynak roboweb |
sanirim projede ilerlemek icin en iyi yol benzer bir proje bulup icerigiyle oynamak http://forum.colemak.com/viewtopic.php?id=1561 ingilizce kiti oldugum icin tam olarak ne ise yaradigini anlamadim ancak sanirim bir arduino leonardo ile usb host shield kullanarak bu projeyi kopyalayabilirim, tabi harekete gecmeden once benzer bir kac projeyi daha incelemem gerekecek eger calisirsa projemi daha komplike bir hale getirmeyi dusunuyorum, zaten arduino nun sematikleri paylasilmis. usb host shieldin yapimcisida dosyalarini paylasmis. ikisini modul olarak birlestirmek yerine tek bir pcb de kullnma fikri amacim icin daha kullanisli olur. hem gereksiz elemanlar devreden cikar hem alani milimize etmis olurum |
baslangic notu: belki baskasi arduino ile usb host projesi yapmak isterde kaynak olur diye detaylandiriyorum bu sefer usb host shield yada arduino uno nun kendisinde bir problem olduguna eminim, http://www.elecrow.com/wiki/index.php?title=USB_Host_Shield_for_Arduino sitede ki uygulamanin aynisini yapmama ragmen fareyi tanimadi, farenin altindaki kirmizi lazer isigi yandi, serial monitorden start yazisi aldim ancak sanirim uno r3 hid desteklemedigi icin denemeler basarisiz oldu. arduino leonardo siparsi verdim aliexpress ten :http://www.aliexpress.com/item/Leonardo-R3-Pro-Micro-ATmega32U4-Board-For-Arduino-Compatible-IDE-free-USB-cable/1893754883.html elimdeki usb host cihazi da bu:http://www.aliexpress.com/item/USB-Host-Shield-Support-Google-Android-ADK-UNO-MEGA-Duemilanove-2560-For-Arduino/2038563402.html sanirim burada bir not daha dusmem lazim, cogu cinli usb host shield saticisi cihazin surumunu belirtmemis, verdigim linkteki cihaz v2 yani son surum bunuda orijinal web sitesindeki v.2 cihazinin resimlerinden anladim. leonardo siparis etmemdeki en buyuk sebeplerden birisi su oldu:https://geekhack.org/index.php?topic=76020.0 cinli bir eleman leonardo kullanarak projesindeki gelismesini anlatmis. siparis verdikten sorna da bu paylasimi gordum https://www.youtube.com/watch?v=RoG_-9lAnSI uno ile keyboard uygulamasi yapip paylasmislar. sanirim revizyon ve bolgesel farklardan dolayi konu da karisiklik oluyor. leonardoyu siparis ettigim icin o konunun icine hic dalmak istemiyorum acikcasi vaz gecme esigine git gide yaklasiyorum cok fazla kaynak ve referans veriyorum biliyorum ama yarim yamalak bilgi sahip oldugum konularda istedigim seyleri anlatabilmek icin fazla cikar yolum yok arduino leonardo ve usb host shield kullanarak klavye duzeni degistirici programlamis birisi (keymapper):http://forum.colemak.com/viewtopic.php?id=1561 keymapper library:https://github.com/professor/ArduinoKeymapper simdi bu kodlara sahip olmak bana usb hid den gelen verileri islemek konusunda sinirsiz ozgurluk veriyor, klavye duzeni degistirme, klavyeye ozel kombinasyonlar ekleme, tek tusla yada tek bir kombinasyonla satirlarca yaziyi (sifre vs) yazdirabilme.. devre kartina sensor gibi ekipmanlar takip sadece klavye kullanarak motor vs kontrol etme gibi bir cok seyi mumkun hale getiriyor |
Sorun bence USB Host Shield'ında. USB Host Shield, adı üstünde USB host desteklemeyen cihazlar için yapılmış zaten, yani her türlü Arduino modelinde çalışması lazım. Benim de Arduino Uno'm ile USB Host Shield kullanıyorum ve düzgün çalışıyor. O Shield'ın üzerinde MAX3421E USB destekli işlemci var zaten. O yüzden dönüşüm ve USB işlerini Arduino değil o çip yapıyor, kısacası Arduino modelinin USB destekleyip desteklememesi önemli değil. Eline geçebilirse başka bir USB Host Shield ile test et derim. Bu arada Arduino Due'nin kendinden USB Host yetenekleri var, Due için özel olarak yazılmış kütüphaneyi kullanarak tek bir USB cihazı kontrol edebiliyorsun. Yalnız bilgin olsun, kütüphanesi çok yeni ve çok zayıf şu anlık. |
kargodan leonardo geldi, az once cihaz ile ilk testimi yaptim, hem klavye hem fareyi taniyip serial monitorde yazdirmayi basardi. sorun sanirim cin mali arduino unolarda. elimde 2 tane farkli saticidan alinmis uno var ikiside pertmis demek ki. ayrica arduino due fikri cok cazip geldi, zaten usb host shield 10 usd civarinda, due`yi ise aliexpress te 12 dolara buldum. her neyse, amacim yapmak istedigim proje icin prototip cikarmakti, eger prototipe bir kac modul daha ekleyip istedigim sekilde calistirabilirsem proje icin kendi arduino`mu gerekli gereksiz ozellikleri ayristirarak uretmeyi dusunuyorum. |
1. sayfa
< Resime gitmek için tıklayın >
kutuphane:https://github.com/felis/USB_Host_Shield_2.0
kutuphane dosyalari arasinda ornek dosya koymuslar ancak nasil kullanacagimi bulamadim, klavyeden basilan bir tusun serial monitorde goruntulenmesini nasil saglayabilirim?
ornek kodumuz surada:https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino