什麼是 V-USB ?
V-USB 是一個專門為 Atmel AVR microcontrollers 設計相容於 USB 1.1 的純軟體低速 USB device (software-only implementation of a low-speed USB device ),它讓開發者能夠用幾乎任何 AVR microcontroller 建立 USB 硬體。
V-USB 可以採用 GNU GPL (General Public License) 授權或者是用商業授權。
官網提供很充份的範例,示範廣泛的可能的應用。
特色
底下是 V-USB 的特色:
- 完全與 USB 1.1 低速設備相容,通訊錯誤的處理與電氣規範除外。
- 支援多重 endpoints: 1 個 control endpoint, 2 個 interrupt/bulk-in endpoints 與最多 7 個 interrupt/bulk-out endpoints (USB 標準禁止低速裝置使用 Bulk endpoints)
- 傳輸量預設最多 254 bytes,需要更多可在設定選項中調整
- 提供免費使用的 USB identifiers (Vendor-ID 與 Product ID)
- 可在硬體最低需求為 2 kB Flash, 128 bytes RAM, 12 MHz 時脈的任何 AVR microcontroller 上跑
- 可使用 12 MHz, 15 MHz, 16 MHz 或 20 MHz 振盪晶體或者 12.8 MHz 或 16.5 MHz 的內部 RC 振盪器
下載
硬體電路
由於 USB 的 D+ 和 D- 需要 3.3V 電壓,而 USB 供應的是 5V 的電壓,因此必須進行電壓位準轉換 (level conversion)。有幾種方法可以辦到,請參考底下的電路:
1. 使用低電壓降電壓穩壓器 (low drop voltage),例如 LE33:
2. 在 D+ 和 D- 上使用稽納二極體 (Zener diodes),必須確保 D- 準位在 2.5V 與 3.6V 之間:
3. 使用整流二極體 (rectifier diode),如下圖的 D3 與 D4,這是最低成本的接法:
請問一下,如果我要使用整流二極體製作,
回覆刪除我已經有arduino的板子,
而且我的arduino板子可以接電池(1.5v AAA x3),
請問我可以直接把USB的5v電壓接到電池接入的地方嗎?(圖片最左邊的5v)
我也需要用到Wii的Nunchuck(雙節棍)。
因為雙節棍需要小於4.0v的電壓。
我可以像下面圖片這樣製作嗎?
https://plus.google.com/u/0/photos/104122324856232209042/albums/5728547254141954945/5728547256008247938
謝謝您!
"直接把USB的5v電壓接到電池接入的地方" ?
回覆刪除你的意思是不接電池,用 USB 供電給 Arduino 嗎?還是把 USB 的電壓灌到電池(額?)?
如果是用 USB 供電給 Arduino 的話,是可以的,只要把 USB +5V 接到 Arduino 的 +5V 那個 pin 腳就好。