「かお(・ν・)もじ SF CHECKER」の動画を投稿しました

2012-05-30   treby   IDm Snatcher  , , , , このエントリーをはてなブックマークに追加

かおもじくんの口、「v」(アルファベットのブイ)かと思っていたら元ネタは「ν」(ギリシャ文字のニュー)だったという。フォントによっては見分けがつかないから困る。

作品紹介そのものは先日の記事でしていますのでそちらへどぞー。

かお(・v・)もじ SF Checker

2012-05-18   treby   IDm Snatcher  , , , , このエントリーをはてなブックマークに追加

SFはStored-Fareのことみたいですよ。

システムコード0x0003のサイバネ領域を持つ交通系ICカードなら大体行けます。

もくもく作業していると、無性に周りの反応が欲しくなるときがあるんです。そんなときはひとまずSNSに経過を投稿するのですが、今回Arduino+RC-S620/S作品を投稿すると積み木の某氏よりこんなフィードバックが。

そもそもの発端。素敵アイディアがさらっと出てくるのがすごいす。

なにこれなにこれ!スイカでタッチすると残金に応じて顔文字が表示されるとかそんなん!?(・v・)

……何それめっちゃ面白そうw

続きを読む

Android Host – Arduino間シリアル通信の実現

2012-05-07   treby   IDm Snatcher  , , , このエントリーをはてなブックマークに追加

ひとまず動作確認。最近はプライベートで体力的にきついけど頑張る(愚痴)。

実行風景。飲み会の席でもさくっとできる。

続きを読む

Arduino用RC-S620/Sサンプルスケッチの改造

2012-04-29   treby   IDm Snatcher  , , , このエントリーをはてなブックマークに追加

先日実行したRC-S620/Sライブラリ付属のサンプルスケッチでは、RC-S620/Sにおサイフケータイ(モバイルFeliCa搭載端末)をかざすと@SDK4FeliCaのURLがPushされるようになっている。

FeliCa Pushとは?

ここでPush(FeliCa Push)というのは、おサイフケータイに対して別のおサイフケータイやリーダ・ライタからURL(ブラウザ起動)や、メールアドレス(メーラ起動)、AndroidであればアプリのIntent情報を投げる機能のことである。私の身近で使われている例では、カラオケ館受付のケータイ会員証表示端末(PitTouch端末と言うらしい)やほっともっとのほっとポイントくらぶなどがある。

続きを読む

Arduino+RC-S620/SでSoftwareSerial通信が上手くいかない

2012-04-25   treby   IDm Snatcher  , , このエントリーをはてなブックマークに追加

昨日試したサンプルプログラムのソフトウェアシリアル通信対応版の作成に挑戦している。

Arduinoでソフトウェアシリアル通信を行うためには、Arduino標準ライブラリのSoftwareSerialを使うと良いと思われる。この標準ライブラリ、かつては機能制限が多くNewSoftSerialというものが代替としてよく利用されていたようだ。その実状もあってか、Arduino 1.0になってそのNewSoftSerialライブラリが本家のSoftwareSerialに置き換わった。つまり、かつてのNewSoftSerialはArduino 1.0からのSoftwareSerialと同等であるとみなして問題ない(多分)。

ソースコードの改造はほぼ機械的で、ハードウェアシリアル通信を表すSerialを、ソフトウェアシリアル通信のものに置き換えるだけだ。修正にあたっては「なんでも作っちゃう、かも。 Arduinoで遊ぼう – JPEGカメラモジュールで写真を撮る」を参考にした。

手を入れたのは、Arduino用RC-S620/SライブラリであるRCS620S.cpp とRCS620S.h、そして付属するサンプルスケッチFeliCaPush.inoである(つまり全部)。次にコードの修正部分を示す。

続きを読む

ソフトウェアシリアル通信の動作確認

2012-04-25   treby   IDm Snatcher  , , このエントリーをはてなブックマークに追加

というわけで今日もいじるよ、ながてぃ~の。

わ「いじるのじゃ!」

Arduinoプログラミング

Arduinoプログラミングに使う言語はC/C++を拡張したようなもので、プログラミングになじみがない人でも簡単に作成できるように配慮されている。Arduinoでできることはリファレンスを参照すればなんとなく想像できた。一つ一つのプログラムはスケッチと呼ばれていて、それぞれのスケッチは主にsetup関数とloop関数によって構成されている。

スケッチを実行する時に始めに一度だけ呼び出されるsetup関数では変数などの初期化を行って、loop関数内には実際の処理を記述するようになっている。loop関数はその名の通り、Arduinoに電源が入っている間、永遠に実行される。loop関数の一回の実行は基本一瞬で終わってしまうようなので、適宜delay関数を使って、実行を遅らせてやる必要があるっぽい。

ところで、Processingというデザイナー向けの環境(言語?)があるがArduino IDEはこれに非常に酷似している。スケッチの拡張子もかつてはProcessingのものと同じ.pdeであったというし(現在は.ino)、何か関係があるのだろうか。……と思ったら、Arduino公式サイトThe microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). という記述があった。なるほど!

続きを読む

シリアル通信部分の衝突問題とその解決案

2012-04-24   treby   IDm Snatcher  , , , このエントリーをはてなブックマークに追加

A500(USBホスト機能付きAndroid) – ながてぃ~の。(Arduino) – RC-S620/S(シリアル通信)の三者間連携を実現させるために、いずれ解決しなければならない問題が一つ判明。よくよく考えれば道理なのだが、ながてぃ~の。(Arduino)にはシリアル通信用のポートが一対しか用意されていないのだ。これの意味するところは、A500 – ながてぃ~の。の通信と、ながてぃ~の。 – RC-S620/Sの通信では同じ機能が必要とされており、双方を同時に行おうとすると混線してしまうということである。

機能を正直に実現しようとするとシリアル通信部分が混線してしまう。

実は、開発者ブログの記事にもこんな注意文がある。

Arduino の TX、RX は、USB 経由でプログラムを Arduino に書き込むときの信号線にもなっています。プログラムを書き込むときに Arduino と RC-S620/S がつながっていると信号が混線するので、Arduino の TX、RX には何も接続していない状態でプログラムを書き込まなければなりません。また、RC-S620/S と接続しているときは、Arduino IDE のシリアルモニターも使用できませんので、ご注意ください。

これを字面通りは把握していたが、まさかArduino に書き込むときだけのみならず、プログラム実行中の通信線にも使われているとは。はてさて、どうしたものか。

続きを読む

USB-シリアル変換チップ

2012-04-24   treby   IDm Snatcher  , , このエントリーをはてなブックマークに追加

A500とArduinoの通信ができる根拠としたJuJuさんの事例であるが、理解できていない部分がある。

FTDIと「UNOは使用不可」の意味が理解できない。

すなわち、FTDIという用語と「UNOは使用不可」の根拠がわからなかったのだ。

続きを読む