Arduino+RC-S620/SでFeliCa Push
Arduino用のRC-S620/Sライブラリに含まれるサンプルプログラムの実行。シリアル通信はハードウェアのものを使用(デフォルト)
なかなかどうして時間がかかった。結局、配線ミスが原因だったけれども。
続きを読むRC-S620/Sを使って、IDm、PMmを読み取りリピートさせるという作品関連記事
Arduino用のRC-S620/Sライブラリに含まれるサンプルプログラムの実行。シリアル通信はハードウェアのものを使用(デフォルト)
なかなかどうして時間がかかった。結局、配線ミスが原因だったけれども。
続きを読むというわけで今日もいじるよ、ながてぃ~の。
わ「いじるのじゃ!」
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).
という記述があった。なるほど!
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 に書き込むときだけのみならず、プログラム実行中の通信線にも使われているとは。はてさて、どうしたものか。
続きを読む題して、「ながてぃ~の。でごにょごにょしてみる(1)」!!……別名「わっちと始めるエレクトロニクス」……うーむ、どっちも微妙だ。困った。
てなわけでこんな記事を書きたいがためにコメント投稿機能を復活させたわけで、私自身も勉強しながらブログにアウトプットできればいいなぁと思ってる。あとはソースコードをいい感じに表示する仕組みが欲しいね、うん。そのうち追加しよう。
わっち(以下「わ」)「どうぞ、よろしくの!」
続きを読む