Jeśli chciałbym stworzyć proste urządzenie, które komunikuje się z moim komputerem, powiedzmy może przełącznik, który mógłby wyciszyć mój komputer po włączeniu i wyłączeniu i podłączyć go przez USB, jaki byłby najtańszy i najłatwiejszy sposób na osiągnięcie tego?
microcontroller
usb
Sean
źródło
źródło
Odpowiedzi:
Najłatwiejszy? Złap Arduino i napisz kilka wierszy Pythona. Arduino są niezwykle łatwe w programowaniu, nie wymagają dodatkowego sprzętu do pracy i są dość popularne . Python ma bardzo prostą bibliotekę szeregową i jest łatwy do pisania.
Przykładowy kod
Python: Uruchom ten skrypt jako usługę. Używam Ubuntu, więc ten skrypt wyświetli powiadomienie informujące o naciśnięciu przycisku na Arduino.
Arduino:
źródło
Zbuduj urządzenie USB Human Interface Device Class. Tej samej klasy używają klawiatury, myszy, joysticki, pady do gier i tym podobne. Twój komputer ma już pełną obsługę sterowników urządzeń dla urządzeń HID, więc dostęp do oprogramowania jest łatwy. Wiele wskazówek, a nawet przykładowy kod można znaleźć na stronie HID Jana Axelsona . Przejrzyj jej stronę, aby znaleźć wiele dobrych informacji związanych z rozwojem urządzeń USB.
Wiele małych rodzin mikroprocesorów może obsługiwać identyfikatory HID. Ja nawet widziałem to zrobić na USB niską prędkością z ATtiny 8-pin AVR całości w oprogramowaniu.
Wybierz preferowany układ, a następnie wyszukaj w „zwykłych zasobach” próbki HID.
Innym podejściem jest wykonanie szeregowego urządzenia komunikacyjnego. Istnieje kilka rozwiązań pojedynczych układów FTDI . FT232R jest popularnym wyborem. Sterowniki są wymagane, ale sterowniki z certyfikatem Windows są znane kreatorowi znajdowania nowego sprzętu, więc instalacja nie jest trudna. Po zainstalowaniu masz urządzenie, które wygląda jak port COM. Dostępne są alternatywne sterowniki, które pozwolą uzyskać dostęp do pinów GPIO i używać go w bardziej zaawansowanych trybach.
Aktualizacja, 2015: Miał link do strony http://www.lvr.com/hidpage.htm , która prawdopodobnie zgniła link, a nowa lokalizacja została odkryta dzięki El Marce . Jan's Lakeview Research jest nadal doskonałym źródłem informacji na temat praktycznego wykorzystania USB.
źródło
Oto bardzo szczegółowy post na blogu http://msdn.microsoft.com/en-us/devlabs/dd491992 z oprogramowaniem do użycia PIC18F4550 poniżej 5 USD do interfejsu przez USB jako standardowego urządzenia HID. Dostarczone oprogramowanie może być użyte do połączenia z dowolnym urządzeniem HID, więc jeśli chcesz mieć inny układ, oprogramowanie będzie nadal działać.
Dodatkowym plusem jest to, że post na blogu pokazuje, jak wykonywać dwukierunkową komunikację, dzięki czemu nie tylko możesz połączyć interfejs z włącznikiem i wyłącznikiem LED.
źródło
Oto mój prosty projekt wykorzystujący PIC18F2455, oparty na oprogramowaniu USB Brada Mincha. Płytki drukowane są dostępne w Olimex.
źródło
Jeśli nie przeszkadza ci mikrokontroler oparty na Cortex-M3, spójrz na LPC1343 NXP . W Digikey to tylko 6,30 $ (1 sztuka). Jest jedna bardzo fajna funkcja - oprogramowanie układowe do przechowywania i urządzenia HID w pamięci ROM układu!
W porównaniu do rozwiązania z układem FTDI + mikrokontrolerem jest o jeden układ mniej :)
źródło