USB ile arayüz oluşturmanın en basit ve en ucuz yolu nedir?


17

Bilgisayarımla iletişim kuran basit bir cihaz yapmak istersem, belki açıp kapadığımda bilgisayarımın sesini kapatabilir ve USB aracılığıyla takabilir bir anahtar diyelim, bunu yapmanın en ucuz ve en kolay yolu nedir?


4
burada benim usb tek çip kapsamı bakmak, daha az parça ile yapmak zordur 1 ATTiny45 ve bir çift zener, 2

Çok güzel bir proje!
Kod Ressamları

Yanıtlar:


10

En kolay? Bir Arduino alın ve birkaç satır Python yazın. Arduino'nun programlanması inanılmaz derecede kolaydır, çalışmak için ek bir donanım gerektirmez ve oldukça popülerdir . Python'un çok basit bir seri kütüphanesi var ve yazmak çok kolay .

Örnek Kod

Python: Bu komut dosyasını bir hizmet olarak çalıştırın. Ubuntu kullanıyorum, bu yüzden bu komut dosyası Arduino'da bir düğmeye basıldığını bildiren bir bildirim açacak.

#! /usr/bin/python

import serial
import pynotify

ser = serial.Serial('/dev/ttyUSB0', 9600)
while True:
  x = ser.read()
  if x == 'b':
    # Show notification
    n = pynotify.Notification("Arduino", "The button was pressed.")
    n.show()

Arduino:

void setup(){
  // Assuming button is active low and on pin 4
  pinMode(4, INPUT);
  Serial.begin(9600);
}

void loop(){
  if(digitalRead(4) == LOW){
    Serial.print('b');
  }
}

 


Arduino ile arayüz için pyserial kullanımı hakkında daha fazla bilgi verebilir misiniz? Kod örneği veya takdir edilen bağlantılar.
LeanerRocky

1
Tabi ki. Örneği inceleyin.
Nick Pascucci

Örneği gerçekten takdir ediyorum. Sen efsanesin!!
LeanerRocky

Yine de ucuz olmayacak.
quickly_now

bu "usb ile arayüz" değil, sadece ftdi seri.
nonchip

8

Bir USB İnsan Arabirim Aygıtı Sınıfı aygıt oluşturun. Bu, klavyeler, fareler, oyun çubukları, oyun pedleri ve benzerleri tarafından kullanılan sınıftır. PC'niz zaten HID aygıtları için tam aygıt sürücüsü desteğine sahiptir, bu nedenle yazılım erişimi kolaydır. Çok sayıda işaretçi ve hatta örnek kod Jan Axelson'un HID sayfasında bulunabilir . USB cihazı geliştirme ile ilgili birçok iyi bilgi için sitesine göz atın.

Küçük mikroişlemci ailelerinin çoğu HID yapabilir. Ben bile tamamen yazılımda bir ATtiny 8-pin AVR ile USB Düşük Hızda yapıldığını gördüm .

Tercih ettiğiniz çipi seçin, ardından HID örnekleri için "olağan kaynaklarını" arayın.

Diğer bir yaklaşım seri iletişim cihazı yapmaktır. FTDI'dan birkaç tek çip çözümü var. FT232R popüler bir seçimdir. Sürücüler gerekir, ancak Windows Sertifikalı sürücüler Yeni Donanım Bulundu sihirbazı tarafından bilinir, bu nedenle kurulum zor değildir. Yüklendikten sonra, COM bağlantı noktasına benzeyen bir cihazınız var. GPIO pinlerine erişmenizi ve daha gelişmiş modlarda kullanmanızı sağlayacak alternatif sürücüler mevcuttur.

Güncelleme, 2015: Bunun http://www.lvr.com/hidpage.htm adresine bir bağlantısı vardı , ki bu bağlantı çürümüş gibi görünüyor ve yeni konum El Marce sayesinde keşfedildi . Jan'ın Lakeview Research, USB'nin pratik kullanımı hakkında bilgi için hala harika bir kaynak.


Jan Axelson'ın bağlantısı koptu. Bunu ( janaxelson.com/hidpage.htm ) googling ile buldum : "jan axelson hid page". Doğru olanı doğrulamak bu kadar nazik olur mu? Teşekkürler!
El Marce

Teşekkürler. Bu onun sitesi. Lakeview Research'ün eski alan adlarını kaybettiğini veya yayınladığını ve yeni bir kişi tarafından kapandığını tahmin ediyorum.
RBerteig

1
FTDI yoluna gitmeyi seçerseniz, orijinal bir FTDI parçasına sahip bir kablo aldığınızdan emin olun. FTDI (Çinli bir şirket) cipslerinin taklit edilmesinden bıkmış ve bıkmış, böylece sürücülerine kendi cipslerini tanımayı öğretmişlerdi. Bu, sahte çiplerle inşa edilen programlama kablolarıyla iki yönlü telsiz satın alan insanlar için çok fazla sorun yarattı, çünkü radyo üreticisi sahte çipleri satın aldı (umarım yanlışlıkla!).
John R. Strohm

1
FTDI Glasgow merkezli bir İngiliz şirketidir (aslında, İskoç aslında).
quickly_now

@RBerteig bağlantı çalışması?
Hızlı Salyangoz

6

İşte çok ayrıntılı bir blog yazısı http://msdn.microsoft.com/en-us/devlabs/dd491992USB üzerinden standart bir HID cihazı olarak arayüz oluşturmak için 5 $ 'ın altında bir PIC18F4550 kullanmak için yazılım içeren . Sağlanan yazılım herhangi bir HID cihazına arabirim oluşturmak için kullanılabilir, bu nedenle alternatif bir yonga istiyorsanız yazılım yine de çalışır.

Eklenen bir artı, blog gönderisinin size iki yönlü iletişimin nasıl yapılacağını göstermesidir, böylece sadece bir anahtarı arayüzlemekle kalmaz, aynı zamanda bir LED'i açıp kapatabilirsiniz.


3

İşte Brad Minch'in USB yazılımına dayanan bir PIC18F2455 kullanan basit bir projem. PCB'ler Olimex'ten edinilebilir.


2

Cortex-M3 tabanlı mikrodenetleyiciyi önemsemiyorsanız, NXP'nin LPC1343'üne bakın . Digikey'de sadece 6,30 dolar (1 adet). Çok güzel bir özellik var - çip ROM'unda depolama ve HID aygıtları için bellenim!

FTDI çip + mikrodenetleyici ile bir çözüm ile karşılaştırıldığında, bir çip daha az var :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.