2012年5月14日月曜日

Arduino IDE カスタマイズ その2

前回紹介した「Harpy Nano」を IDE のメニューから選択できるようにする小技です。



このメニューのリストは以下の場所にある boards.txt というファイルに、ボード毎の設定として記述されています。(使用しているCPU やクロック、ブートローダーの種類など)

Harpy は (Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328) 相当なので、それを選択すれば良いのですが、折角なので Harpy を名前で選択できるようにしましょう。


[Mac の場合]
Arduino のアイコンを右クリックして「パッケージの内容を表示」を選択
以下のようにフォルダをたどる。
Arduino.app > Contents > Resources > Java > hardware > arduino > boards.txt


[Windows の場合]
Arduino アプリケーション 本体と同じフォルダにあるhardware フォルダをひらいて、
arduino フォルダにある。
arduino-1.0 > hardware > arduino > boards.txt



下記の内容を追加するか、追加済みの boards.txt に差し替えて下さい。

何種類かのボードを使い分けている場合、自分の使うボードを上の方に寄せるなどの並べ替えをすると、地味に便利です。



追加内容
##############################################################
harpy.name=Harpy Nano or Micro (3.3V, 8 MHz) w/ ATmega328

harpy.upload.protocol=arduino
harpy.upload.maximum_size=30720
harpy.upload.speed=57600

harpy.bootloader.low_fuses=0xFF
harpy.bootloader.high_fuses=0xDA
harpy.bootloader.extended_fuses=0x05
harpy.bootloader.path=atmega
harpy.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
harpy.bootloader.unlock_bits=0x3F
harpy.bootloader.lock_bits=0x0F

harpy.build.mcu=atmega328p
harpy.build.f_cpu=8000000L
harpy.build.core=arduino
harpy.build.variant=eightanaloginputs

Suica & PASMO 残額読み上げ


日本語 音声合成LSI ATP3011F4-PU を入手したので、作ってみました。
このIC はArduino Uno などに使われている、ATmega328 に音声合成エンジンを載せた、ちょっと信じられないプロダクトです(8bit マイコンですよ!?)。

シリアル通信でローマ字で送るだけで読み上げてくれます。しかも助数詞対応(1本、2本、3本を いっぽん、にほん、さんぼん と読ませることができる)。
MTM07 で売っていたそうなのですが、現在は秋月電子で購入可能です。

felica リーダーについては以前の記事に書いたものを使いました。
以前の記事同様、NeoCat さんのライブラリを使用。Suica/Edy の残額を読み出すサンプルを使って、残額部分だけをATP3011 に送るようにしました。

以前の記事には、PaSoRi.h の中の #include <Spi.h> をコメントアウトするように、とありますが、
Arduino IDE 1.0 で使う場合は、それに加えて #include "WProgram.h" もコメントアウトが必要でした。


felica リーダーからPASMO の残額を読み出す部分には、Arduino + USB Host Shield が必要なのですが、今回は鳥人間さんの Harpy Nano を使用しました。USB Host Shield と Arduino (Fio 相当)の機能を小型の1ボードにまとめたものです。

プログラムは NeoCat さんのサンプル(PaSoRi_Suica_Edy_Reader.pde)から、必要な部分だけを取り出したものです。
こちらにあげておきます。


2012年5月2日水曜日

やすっぽいーの with UHS mini


先日つくった「やすっぽいーの」が進化しました。
3.3V のレギュレータと、USB Host Shield の本家、Circuits@Home の USB Host Shield mini に対応する端子をつけました。(空き端子を使って、必要な7pinを並べています。)

このようにして使います。小さい青いボードがUSB ホストシールドに相当する基板。正式名称は「USB Host Shield for Arduino Pro Mini」です。
国内で扱ってる代理店が見当たらず、Circuits@Home から直接購入した方からわけてもらいました。

このボードは USB Host Shield のメインIC である Max3421e のみを取り出したもので、3.3V 動作のマイコンと直結できるものの、Arduino Uno など 5V動作のマイコンでは使用できません。

「やすっぽいーの」も5V 仕様で作ってしまったので、3.3V とのレベル変換基板(秋月 8ビット双方向ロジックレベル変換モジュール)を裏面に搭載しています。


このIC、双方向変換なので各信号の向きを気にせず使えます。超便利。
8bit (8ライン) ありますが、今回使用したのは5本のみ (SCK, MISO, MOSI, SS, INT)。
Max_Reset は基板上でプルアップしています。

USB Host の機能を手に入れたので、ADK を試してみました。
ATmega168 では、ADB のサンプル(logcat など)は動作するものの、Demokit などADK のサンプル はNG のようで、、、結局 ATmega328p に差し替えて無事に動作しました。

見た目は安っぽいけど、高機能(そして全然安くない)。「やすっぽいーの」あなたも一つ、作ってみませんか?