Ubuntu Türkiye

Yazılım => Programlama => Konuyu başlatan: uçbirim2002 - 12 Mart 2017 - 09:43:23

Başlık: Arduino - USB Kablo İle Veri İletimi
Gönderen: uçbirim2002 - 12 Mart 2017 - 09:43:23
Elimdeki USB kablonun data uçlarını (Yeşil ve Beyaz diye billiyorum) Arduino Uno üzerinde ki 8, ve 7. pinlere bağlıyorum.

Şimdi bu durumda benim bilgisayara bu USB kablosunu tanıtmam, veya Arduino'dan veri gödermem yada almam için ne yapmam lazım? Bildiğim kadarı ile bu iş için sürücü yazmam lazım. Peki nereden başlayabilirim? Yani /dev dizininde benim USB kablom bir cihaz olarak görünsün ve örnek olarak:

echo "Merhaba" >> /dev/cihazim

şeklinde bir komutla USB kablodan veri iletiyim, ve Arduino bu veriyi alsın.
Başlık: Ynt: Arduino - USB Kablo İle Veri İletimi
Gönderen: Amenofis - 12 Mart 2017 - 15:57:04
Atmega çipinde usb modülü olmadığı için direkt usb üzerinden veri alamaz.  Bunun için usb->uart dönüştürücü kullanmalısın. Bunlar ucuzdur, 10 liraya bulursun. Arduino tarafında da tx-rx pinlerine bağlayıp rahatça haberleştirebilirsin. Sürücüye falan gerek yok.
Başlık: Ynt: Arduino - USB Kablo İle Veri İletimi
Gönderen: uçbirim2002 - 12 Mart 2017 - 17:17:30
Şöyle bir şey işimi görürmü: https://tr.aliexpress.com/item/USB-2-0-to-TTL-UART-6PIN-Module-Serial-Converter-CP2104-STC-PRGMR/32502255301.html?spm=2114.010208.3.32.9QSw3w&ws_ab_test=searchweb0_0,searchweb201602_1_10065_10068_433_434_10136_10137_10138_10060_10062_10056_10055_10054_302_10059_10099_10103_10102_10096_10052_10053_10050_10107_10051_10106_10084_10083_10080_10082_10081_10110_10111_10112_10113_10114_10078_10079_10073_10070_10122_10123_10126_6000000_10124,searchweb201603_4,afswitch_1,ppcSwitch_2,single_sort_0_default&btsid=1f4cd996-72b6-426c-8c08-a1b8004ed708&algo_expid=6ee9db8d-6d8f-43e8-ac1d-a3dbbb8c3c50-3&algo_pvid=6ee9db8d-6d8f-43e8-ac1d-a3dbbb8c3c50

(Şu linkleri nasıl kısaltabiliyoruz :) Yani "buraya" gibi.)

Ayrıca böyle bir parçayla bahsettiğim gibi yani:

echo "Merhaba" >> /dev/cihaz

şeklinde veri aktarımı mümkün olurmu?
Başlık: Ynt: Arduino - USB Kablo İle Veri İletimi
Gönderen: Amenofis - 12 Mart 2017 - 18:22:00
Bir dakika buna gerek olmaması lazım çünkü zaten arduino üzerinde usb->uart dönüştürücü var ve bootloader bu yöntemle çalışıyor.

https://cdn.shopify.com/s/files/1/0775/1525/products/A000066_featured_1024x1024.jpg

Kristalin üstündeki küçük çip dönüştürücü ve tx-rx pinleri mcu ya bağlı. Yani program yüklediğin usb kablosu ile haberleştirebilmen lazım. Arduinoyu bağladığın zaman /dev/ttyUSB0 dosyası oluşuyorsa tamamdır.

Qt kullanıyorsan QSerialPort var seri haberleşme için.
http://doc.qt.io/qt-5/qserialport.html
Başlık: Ynt: Arduino - USB Kablo İle Veri İletimi
Gönderen: uçbirim2002 - 12 Mart 2017 - 18:42:29
Evet Arduino ile seri port vasıtasıyla haberleşme sağlanıyor. Ben örnekleme yapmak için ayrıca bir USB üzerinden haberleşmeyi düşündüm.
Başlık: Ynt: Arduino - USB Kablo İle Veri İletimi
Gönderen: guestwho - 19 Mart 2017 - 00:58:17
Alıntı Yap..Ayrıca böyle bir parçayla bahsettiğim gibi yani:

echo "Merhaba" >> /dev/cihaz

şeklinde veri aktarımı mümkün olurmu?

Seri port üzerinden veri aktarma işlemini şu şekilde yapabilirsin:


// yapılandırma fonksiyonu
void setup() {
  Serial.begin(9600);      // seri portu 9600 bps 'a ayarla: 
}

// veri aktarma fonksiyonu
void send() { 
  Serial.print("ABC");       // standart print fonksiyonu kullanımı.
  Serial.print("\n");           // satır sonu.
  delay(200);                   // 200 milisaniye beklet...
}

Başlık: Ynt: Arduino - USB Kablo İle Veri İletimi
Gönderen: uçbirim2002 - 11 Temmuz 2017 - 19:36:31
Aslında demek istediğim, usb cihazların kendilerini işletim sistemine tanıtmak için kullandığı komutları Arduino ile nasıl göderebilirim?

Örnek olarak: Elimde bir dişi usb girişi var. Bu usb girşindeki beyaz ve yeşil kabloları Arduino'nun 2 ve 4. girişlerine bağladım. USB cihaza giden enerji kablolarınıda yine Arduino'nun 5V ve GND pinlerine bağladım.

2. ve 4. pinlerden gelen veriyi Serial.print() ile yazdırınca karşıma şöyle bir şey çıkıyor:

..........01010101101001010101010101010.........

İşte benim asıl merak USB cihazının gönderdiği bu ikili veri tam olarak nedir? Karşıdan (PC) gelen veriyi nasıl işliyor?


Sanırım sorumu bu şekilde sormalıydım....
Başlık: Ynt: Arduino - USB Kablo İle Veri İletimi
Gönderen: Amenofis - 11 Temmuz 2017 - 20:49:33
Daha önce söylediğim gibi, yapamazsın. Direkt usb'den gelen verileri arduinonun okuması mümkün değil. Board üzerindeki usb-serial dönüştürücü bu yüzden var. Ayrıca usb çok karmaşık bir protokoldür. Öyle veri gönder deyince gönderilmiyor.