2011年9月9日 星期五

USooBie

USooBie 是一 USB 介面的 AVR 開發板, 硬體和韌體都是 Open Source 的,它可以插在麵包板上使用,而且還提供 bootloader 功能與運作電壓的選擇。

image

image
▲ USooBie 的外觀

USooBie 的特色如下:

  • 使用 ATmega328P
  • 相容於 Arduino,可用 Arduino IDE 燒錄韌體
  • 支援 USB,因此可以實作諸如 keyboards, Mice, Joysticks, Gamepads 等 USB 裝置。
  • 可透過 jumper 選擇使用 5V 或 3.3V 的運作電壓
  • 硬體和韌體完全 Open Source
硬體電路

USooBie 的電路圖如下:

usnoobie_sch_pic-20110115
▲ 點一下看大圖

韌體

USnooBie 預先燒錄了 bootloader (USBaspLoader),假如你是自行製作板子,可以到底下的網址下載 bootloader 並把它燒錄到晶片上:

http://frank.circleofcurrent.com/usnoobie/downloads.php

使用 USooBie

要進入 bootloader,先按著 PD7 上的按鈕不放,然後按下 reset 鍵重開機器,這時「裝置管理員」視窗會多出一個 USBasp 的燒錄器,接著就可以使用 avrdude 上傳程式,指令語法如下:

avrdude -q -c usbasp -p atmega328p -U flash:w:filename.hex

整合 USooBie 與 Arduino

為了從 Arduino IDE 上傳韌體到 USooBie,你必須調整 "arduino-00xx/hardware/boards.txt",把底下這串設定加到 boards.txt 中:

usnoobie.name=USnooBie (USBaspLoader ATmega328P at 12MHz)
usnoobie.upload.protocol=usbasp
usnoobie.upload.maximum_size=28672
usnoobie.upload.speed=115200
usnoobie.upload.disable_flushing=true
usnoobie.bootloader.low_fuses=0xFF
usnoobie.bootloader.high_fuses=0xD8
usnoobie.bootloader.extended_fuses=0xFF
usnoobie.bootloader.path=usnoobie
usnoobie.bootloader.file=usnoobie_atmega328p_12mhz.hex
usnoobie.bootloader.unlock_bits=0x3F
usnoobie.bootloader.lock_bits=0x0F
usnoobie.build.mcu=atmega328p
usnoobie.build.f_cpu=12000000L
usnoobie.build.core=arduino

調整好 boards.txt 的設定後, Arduino IDE 選單「Tools > Board」底下就會多出 USooBie 可供使用:

image

程式的上傳方法一樣是先按著 PD7 上的按鈕不放,接著按下 reset 鍵重開機器,然後就可以按 Upload 上傳程式。

USooBie 與 Metaboard 的差別

USooBie 跟 Metaboard 是很相像的兩張板子,它們之間的異同為:

  • 兩者皆使用 V-USB 純軟體實作的 USB 介面。
  • 兩者皆使用 USBaspLoader 作為 bootloader。
  • 兩者皆可與 Arduino IDE 整合。
  • USooBie 使用 ATmega328p 晶片,而 Metaboard 使用 ATmega168 晶片
  • USooBie 的外觀設計較小,且適合插在麵包板上使用,而 Metaboard 的外觀則比較像 Arduino 的設計。
延伸閱讀

0 意見: