題:
我想學習如何製作自己的USB小工具
Tim Post
2009-11-07 20:01:21 UTC
view on stackexchange narkive permalink

一段時間以來,我一直在為他人編寫Linux字符設備驅動程序。我想找到一個新的愛好,並且想到製作自己的USB gizmos似乎真的很整潔。

我很高興能夠控制某些LED,伺服器和步進電機。我非常喜歡自己學習新事物,也喜歡在某些事物最終起作用時的興奮。我沒有做過認真的MC編程,但確實知道我的方法。

有人可以推荐一些對完整的菜鳥有用的工具包嗎?理想情況下,它們是:

  • Linux友好
  • 能夠進行國際運輸(我目前居住在亞洲)
  • 提供麵包板套件
  • >

如果您有時間和偏好,請非常感謝您鏈接到其他人的網站上的項目的示意圖,其中包括原理圖和零件清單。我想從例子中學習,但是好的例子,這就是為什麼我在這裡問。

我的最終目標是建立自己的數據收集器-從降雨到平均分貝到輕的水平。抱歉,如果以前已經問過這個問題,我確實進行了搜索(並蒐索了標籤)。

十一 答案:
Clinton Blackmore
2009-11-07 20:25:52 UTC
view on stackexchange narkive permalink

Arduino確實很受歡迎,並且它是開源硬件,所以存在變種,包括第三方 Freeduinos 裸露骨頭板真正裸露骨頭板 Boarduino,非常適合與麵包板一起使用。標準Arduino使用稱為Shields的東西進行了修改。您可以製作自己的麵包板防護板,或購買類似這樣的 ProtoShield套件。

Arduino使用 FTDI USB- RS232芯片或電纜。 [標準的Arduino內置了,而大多數麵包板使用的是內部裝有芯片的特殊電纜,為您節省了一些錢。]有一個用於Linux,Mac OS X和Windows的內置驅動程序。用戶可以下載驅動程序。實際上,這意味著Arduino充當了在串行端口上進行通信的設備,因此與之通信非常容易。

要使用它,還需要下載軟件。它帶有一個IDE,一個AVR-GCC工具鏈,一個非常不錯的庫以及將程序上傳到芯片上的軟件。它向您隱藏了大多數細節,並擁有一個很棒的社區。它使用一種稱為“連線”的語言進行編程,但實際上它是C ++。

最後,作為開源硬件,這裡有原理圖。實際上,我似乎還記得閱讀過的文章,即建立一個較早的模型相當容易。在您喜歡的搜索引擎中搜索“ Arduino原理圖”將為您帶來良好的結果。

對於套件, Maker Shed提供了許多與 Arduino相關的物品庫存。它們似乎在世界各地運送。一些有趣的東西包括:

沃夫登的商店(美國)有一套不錯的實驗工具包,並且似乎已在國際上銷售。

Solarbotics(加拿大)有一個 ARDX Arduino實驗者工具包,一個 Freeduino Starter Bundle-Ultimate和一個 Arduino Starter Bundle- Basic(和 Ultimate),並且似乎在全球範圍內發售。

主要Arduino的“購買”頁面列出了Arduino供應商

我要檢查的其他地方包括 Adafruit Industries Sparkfun Electronics(均在美國)。

哇。感謝您抽出寶貴的時間回答問題!
我很高興聽到它。寫完答案後,我對自己想:“我不敢相信我花了40分鐘在互聯網上回答問題!”
很棒的帖子,但應該注意的是,並非所有的Arduino都使用FTDI芯片。例如,我在OS X下使用未安裝驅動程序的Arduino Uno R3。 (該用戶使用Atmega 16U2進行USB通信。)
bpijls
2009-11-08 00:41:13 UTC
view on stackexchange narkive permalink

當您要構建電子小工具時,Arduino是一個很好的工具,它可能使您最終達到構建數據記錄器的目標。但是,由於它模擬了老式的串行端口,因此不適合用於真正的USB開發。它不會讓您將它變成其他任何東西(例如人機界面設備(鼠標/鍵盤)或大容量存儲設備(讀卡器/可移動驅動器))。

如果要使“真實” USB小工具可查看 Jan Axelson的站點。他撰寫有關USB的“入門”書籍。雖然開發適合在此級別上使用USB的小工具可能不適合初學者,所以Arduino的經驗肯定會幫助您。

謝謝你的鏈接。一旦“訓練輪”脫落,我一定會檢查一下的:)
事實並非如此……Arduino Leonardo和所有基於Atmega32u4的開發板都可以讓您製造HID和任何其他自定義設備
qartis
2009-11-08 11:12:54 UTC
view on stackexchange narkive permalink

我強烈推薦 Tuxgraphics AVR USB幻燈片演示者教程。它使用Atmel AVR微控制器,該微控制器具有龐大的業餘愛好者社區(avrfreaks等)和僅開源軟件usb1.1來自obdev.org的堆棧。它無法擴展得很高(例如,大量存儲),但最終產品是帶有兩個可分配按鈕的小型USB HID鍵盤。將其用作數據記錄器將是微不足道的,obdev.org上的一些示例就是這樣(www.obdev.at/products/vusb/projects.html)。它是用乾淨的c語言編寫的,零件清單最多是幾美元。

同時,我建議構建或購買tuxgraphics avrusb500程序員。使用它是一種樂趣,也是我擁有的最可靠的設備之一。 (我不隸屬,只是一個非常滿意的客戶!)

Clinton Blackmore
2009-11-09 23:59:27 UTC
view on stackexchange narkive permalink

我想研究的另一台設備是 AT90USBKey。自從我研究它已經有一段時間了,我不確定是否可以在沒有Windows的情況下為它編程,但是它將充當USB設備(例如鍵盤或大容量存儲設備)或USB主機您將其他設備插入的電源。有示例程序可用,只要您對電子學有一點了解並且可以用C編寫代碼,它看起來就很容易使用。 >

我知道您可以從 DigiKey.ca獲得它。我查了亞洲的 digikey等價物;您可以從 Farnell獲得零件。

根據鏈接的站點,看起來該板可以通過Jtag進行編程。
tuupola
2009-11-09 00:48:34 UTC
view on stackexchange narkive permalink

您可能還想檢查緊張

follower
2009-11-17 10:00:36 UTC
view on stackexchange narkive permalink

如果最終使用Arduino,我已經移植了V-USB(以前稱為AVR-USB)庫以在其上運行。

您還可以使用它來創建USB HID設備,例如鍵盤,鼠標或操縱桿。您還可以創建一個通用設備,該設備在主機上使用libusb進行控制-從Python,C,Processing等。

我的站點具有PCB屏蔽層,可以使用USB插槽和一些電阻器等:

http://code.rancidbacon.com/ProjectLogArduinoUSB

您可以編寫Arduino代碼以像以下這樣輕鬆地發送擊鍵:

  UsbKeyboard.sendKeyStroke(KEY_ENTER);  

,或者使用libusb“驅動程序”,您可以發送數據,例如:

  UsbStream。使用以下方法寫入(0xff) 

或讀取數據:

  UsbStream.read() 

-Philip;

Laen
2009-11-13 01:27:49 UTC
view on stackexchange narkive permalink

現在有許多基於AVR-USB的開發板。

我親自使用了之前提到的Teensy和 Bumble-B,並且認為它們都是

Teensy很好,因為它與Arduino環境集成得很好。這意味著您可以執行“ Mouse.init; Mouse.move(x,y)”之類的操作,而不用自己處理低級USB代碼。不過,如果需要,它們都將運行LUFA。

Leon Heller
2009-11-20 05:14:32 UTC
view on stackexchange narkive permalink

這是我的一個簡單的PIC USB項目:

http://www.leonheller.com/usb

PCB可用。

>
avra
2010-09-14 16:26:17 UTC
view on stackexchange narkive permalink

Object Development為AVR微控制器開發了一個庫,使您能夠自己製造非常便宜的USB設備(起價僅為2-3美元)。適用於AVR的GCC支持Linux。已經有成百上千的設備。在這裡看看: http://www.obdev.at/products/vusb/projects.html

varesa
2012-03-08 00:24:37 UTC
view on stackexchange narkive permalink

這取決於您要製作哪種類型的USB小工具以及高級程度。您提到閃爍的指示燈。可以使用帶有uart和ftdi芯片的任何微控制器輕鬆歸檔這種控制(arduino非常流行,並且很容易上手)。 ftdi芯片串行連接到uC,其作用類似於串行<-> USB轉換器。

如果要使用更高級的USB協議,驅動程序和功能,則可以獲得具有本機USB功能的uC。例如,Microchip有許多圖片(它們的微控制器)可以做到這一點。 Microchip還擁有許多專門用於學習使用USB的開發板。 Atleast Microchips 32位uC還支持主機和otg模式,因此您可以構建一個數據記錄器,將數據保存到通用USB記憶棒中,然後可以將其插入計算機以讀取數據。 (我敢肯定其他許多製造商也有類似的IC和開發套件,但Microchip是我唯一使用過的IC和開發套件)

Microchip的主頁/ USB

martinm
2013-09-08 11:16:31 UTC
view on stackexchange narkive permalink

請注意,您不必以較低的電子級別開始,也不必為“小發明”本身花費更多的開發時間。許多公司為DIY市場銷售USB設備,例如:

http://www.yoctopuce.com

http:// www.phidgets.com



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...