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?
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?
Yanıtlar:
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');
}
}
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.
İş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.
İşte Brad Minch'in USB yazılımına dayanan bir PIC18F2455 kullanan basit bir projem. PCB'ler Olimex'ten edinilebilir.
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 :)