2011年11月29日 星期二

Arduino USB Business Card

USB Business Card

有人做這樣的生意,叫作 USB Business Card,中文稱作 USB 名片或是隨身碟名片:

image
▲ 圖片來源: http://www.andreonicards.com

USB Business Card 既是名片,又是一個隨身碟,所以很適合隨身攜帶又可以拿來儲存資料,把它當作禮品送給客戶,是一個很聰明的形象推銷工具。

image
▲ 圖片來源: http://www.andreonicards.com

2011年11月27日 星期日

Arduino 滑鼠自動點擊器

承上篇,這次我們來做個 Arduino 滑鼠自動點擊器。

接線

我們用個可變電阻來調整滑鼠點擊的速度:

  • 可變電阻中間腳位接到類比輸入 (Analog Input) pin3,剩下的兩支腳位,一支接到 5V,另外一支接到 GND

image

image
▲ 完成圖

Arduino Uno Mouse

這次我們將使用 darran 所寫的 Arduino UNO MouseHID 讓 Arduino 變身成電腦滑鼠。我假設你已經知道如何更新 atmega8u2 的韌體,相關文章請參考「如何讓 Arduino Uno 進入 DFU mode」跟「如何用 FLIP 更新 Atmega8u2 的韌體 」。

準備設備

你需要一張 Arduino Uno 或是 Mega 2560 的板子,還有一條單蕊線:

image
▲ 用單蕊線主要目的是把 Arduino 切到 DFU mode

下載

請連到底下的網址取得 Arduino Uno Mouse HID:

http://goo.gl/RvNvP

下載解壓縮後,把 Arduino-mouse 資料夾放到 Arduino 速寫簿 (Sketchbook) 資料夾底下。Arduino 速寫簿 (Sketchbook) 資料夾的預設位置是在「我的文件 > Arduino」這個地方。

2011年11月26日 星期六

IR2Keystroke

實驗目的

我們將做一個紅外線轉成按鍵敲擊動作 (keystroke) 的應用,我們把它稱之為 IR2Keystroke。IR2Keystroke 會用到 USBKeyboard Library,因此請參見 USBKeyboard Library 先把 library 安裝起來。

材料
接線
  • 照下表連接 Arduino 跟紅外線接收器:
紅外線接收器接腳 Arduino 接腳
Vcc(+ 或 V+) +5V
GND(-) GND
Vout(或 OUT) pin 2。也可以接到其它 Digital pin,但程式要配合修改

image
▲ 有些紅外線接收器 GND 和 Vcc 是相反的,接線時請查閱你的 datasheet

USBKeyboard Library

簡介

USBKeyboard 是專門為 darran Arduino UNO Keyboard HID 而寫的一個 library。有了 USBKeyboard library,要讓 Arduino 送出鍵盤敲擊動作 (keystrokes) 給電腦會變得很簡單。我假設你已經學會「如何讓 Arduino Uno 進入 DFU mode」而且也已經知道「如何用 FLIP 更新 Atmega8u2 的韌體」,並且已讀過文後的參考資料。

安裝

USBKeyboard library 可以在底下的網址取得:

https://github.com/coopermaa/USBKeyboard

安裝方法很簡單,把檔案解壓縮放到 Arduino 速寫簿 (Sketchbook) 資料夾的 Libraries 資料夾底下或 arduino-00xx\libraries 資料夾下即可。Arduino 速寫簿 (Sketchbook) 資料夾的預設位置是在「我的文件 > Arduino」這個地方。

image

2011年11月25日 星期五

讀取鍵盤燈號狀態

承上篇,Arduino Uno Keyboard 除了可以讓 Arduino 送出按鍵敲擊動作 (keystroke) 給電腦外,還可以讀取鍵盤上的燈號狀態 (keyboard LEDs status),例如 Num Lock, Caps Lock 和 Scroll Lock。接著我們就來看個簡單範例,學習如何用 Arduino 讀取鍵盤的燈號狀態。

image

程式碼

這個範例程式放在 Arduino Keyboard 裏。請打開 Arduino IDE, 載入 "File > Sketchbook > Arduino-keyboard > ledStatus" 然後把程式上傳到 Arduino 板子上:

image

送出按鍵敲擊動作 (Send a keystroke)

承上篇,接著我們來看個很簡單的範例,來學習如何讓 Arduino 送出一個按鍵敲擊動作 (keystroke) 給電腦。

image 

程式碼

這個範例程式放在 Arduino Keyboard 裏。請打開 Arduino IDE, 載入 "File > Sketchbook > Arduino-keyboard > senda" 然後把程式上傳到 Arduino 板子上:

image

Arduino Uno Keyboard

在看過前兩篇文章後,相信你已經學會「如何讓 Arduino Uno 進入 DFU mode」而且也已經知道「如何用 FLIP 更新 Atmega8u2 的韌體 」。接下來我們來玩 Arduino Keyboard,我們將使用 darran 所寫的 Arduino UNO Keyboard HID 並且試著跑一支範例程式讓 Arduino 送出按鍵敲擊動作 (Keystroke) 給電腦。

準備設備

你需要一張 Arduino Uno 或是 Mega 2560 的板子,還有一條單蕊線:

image
▲ 用單蕊線主要目的是把 Arduino 切到 DFU mode

下載

請連到底下的網址取得 Arduino Keyboard 韌體:

http://goo.gl/EdSW2

下載解壓縮後,把 Arduino-keyboard 資料夾放到 Arduino 速寫簿 (Sketchbook) 資料夾底下。Arduino 速寫簿 (Sketchbook) 資料夾的預設位置是在「我的文件 > Arduino」這個地方。

2011年11月16日 星期三

如何用 FLIP 更新 Atmega8u2 的韌體

在前一篇中,我們已經知道如何讓 Arduino Uno 進入 DFU mode,這一篇我們來學習如何用 FLIP 更新 Atmega8U2 的韌體。我將以 Arduino-usbserial 示範如何燒錄韌體。

準備韌體檔

Arduino-usbserial 的韌體檔座落於 "arduino-00xx\hardware\arduino\firmwares\arduino-usbserial\" 這個資料夾:

image
▲ Arduino-usbserial-uno.hex  是給 Uno 用,而 Arduino-usbserial-mega 則是供 Mega 2560 使用

你也可以連到底下的網址,直接從網路下載 hex 檔:

http://goo.gl/OipyJ

下載畫面:

image

我的板子是 Uno,所以我選擇 Arduino-usbserial-uno.hex。

2011年11月15日 星期二

如何讓 Arduino Uno 進入 DFU mode

ATmega8U2 晶片簡介

Arduino Uno 跟先前的板子最大的不同,是不再使用 FTDI 的 USB-to-serial 晶片,取而代之的,是改用 Atmega8U2 這顆晶片當作 USB-to-serial 的轉換器,它的角色是扮演電腦 USB port 跟 Arduino 主控制器 Atmega328p serial port 之間的橋梁。。

image
▲  Atmega8U2 所在的位置

Atmega8U2 上面有韌體,出廠預設燒錄的是 Arduino-usbserial,功能就是做 USB-to-serial 的轉接,然而我們可以透過一個 叫作 DFU (Device Firmware Upgrade) 的 USB 協定來更新 Atmega8U2 的韌體。

所以,如果你要更新 Atmega8U2 的韌體,就得先讓 Atmega8U2 進入 DFU mode,然後再利用專屬的軟體來燒錄韌體,一般而言,在 Windows 上會用 FLIP,而在 MAC & Linux 則是使用 dfu-programmer。這篇我們先說明如何讓 Arduino 進入 DFU mode,下一篇接著介紹如何用 FLIP 更新 Atmega8U2 的韌體。

什麼情況下會需要更新 Atmega8U2 的韌體? 嗯,因為 Atmega8U2 很有彈性,它可以讓你更換成其它韌體,所以你的 Arduino 板子就可以搖身一變變成不同的 USB 裝置,例如 MIDI controller, HID 裝置 (Keyboard, Mouse, Joystick 等等)。

2011年11月13日 星期日

在 Windows XP 上安裝 Arduino Uno 驅動程式

Arduino Uno 是 2010 年的產品,先前我一直使用 Arduino Duemilanove,最近終於跟 Uno 有了接觸。

因為我還在使用 Windows XP,所以這篇記錄一下怎麼在 Windows XP 上安裝 Arduino Uno 驅動程式。相關資訊請參考「Arduino 筆記 - 準備開發環境」。

當你把 USB Cable 接到電腦上時,會出現「尋找新增硬體精靈」:

image

選擇「從清單或特定位置安裝(進階)(S)」後按「下一步」:

image

2011年11月12日 星期六

Netlab Toolkit 與紅外線遙控簡報上線

應德明財經科技大學顏榮泉老師的邀請,今天 (11/12) 到德明分享玩 Arduino 的心得,主題是「Netlab Toolkit and Arduino」與「Arduino 紅外線遙控」。非常感謝顏老師安排這次活動,讓我可以與在場媒計系、資管系、資科系老師、政大資科系沈錳坤老師以及數名研究生分享交流,同時也感謝你們幫忙準備上課器材,讓這次活動得以順利進行。

今天上課的簡報已上線,可以在底下取得: