« GR-SAKURAがやってきた! | トップページ | 地球外生命体の探査機、既に太陽系に!? »

2013年7月21日 (日)

がじぇるねのクラウドコンパイラを使ってみました!

「がじぇるね」はWebでマイコンプログラム開発ができます。スマホからもできるらしいです(スマホ持ってないから試せない)。

クラウドコンパイラの入り口はこちら(クラウドWebコンパイラ)。

Aruduinoではプログラムのことをスケッチといいます。なので、「がじぇるね」GR-SAKURAでもAruduinoライクなプログラムのことをスケッチと呼んでよさそうです。で、スケッチの作り方はここからかな(SAKURAスケッチレファレンス ) 。

用意されているサンプルのスケッチをビルドした直後のスクリーンショットです

Photo

AruduinoをローカルのノートPCでビルドしたときよりもビルド速い気がします。

ビルドに成功したらsketch.binというファイルができています。スケッチのバイナリです。これを右クリックでダウンロードして、USBメモリとして認識されている GR-SAKURA へコピーすればスケッチが動き出します。USBメモリとして認識されていないときは、GR-SAKURAの右の方にある赤い(茶?)ボタンを押してGR-SAKURAをリセットすると認識されるはずです。

上の画像のサンプルスケッチはオンボードの4つのLEDを順に点灯するものです。おー動いた動いた。なかなか綺麗。

Aruduino言語は、ほぼC/C++のようで Processing とも区別つかないくらいですし、そして、Processing は、ほぼ Java 。ということで、GR-SAKURAのスケッチもほとんどC/C++/Javaな感じですね。スケッチのファイル名の拡張子は、cppなんでC++ですね。

上の画像のスケッチを覗いてみると setup() と loop() というメソッドがあります。setup は、スケッチ起動時に必ず1度だけ呼び出されるメソッドです。用意されている上のサンプルではLED(がつながっているPIN)の初期化をしています。pinMode(PIN_LED0,OUTPUT);というとことですね。

最初の引数は、PIN番号です。ヘッダーファイルのどこかに定義されているはずですね。後で探さなくちゃ。ピン配置とマクロ定義はこちらにわかりやすくまとめられていました(RXDUINOマニュアル )。「がじぇるねプロジェクト」のAruduino互換環境「桜ライブラリ」は、特殊電子回路株式会社さんのRXduino なんですね。自分で互換ボードを作る場合等は、GR-SAKURA用桜ライブラリのライセンス を読んでおく必要がありますね。

サンプルスケッチに戻るとpinMode()の2番目の引数は、入出力モードです。INPUTかOUTPUTを指定します。LEDなので出力でOUTPUTですね。センサー等から読み取るときはINPUTになります。

ヘッダーファイルの digitalio.h を見ると INPUT_PULLUP といのも定義されていますが「未実装」と書かれていますね。でも、レファレンスマニュアル には、注意書き無しで「INPUT_PULLUP(プルアップをして入力)」とあります。実装されてるんでしょうか。

機能はというと、入力ピンは回路がつながってなかったり(例えばPINの先にタクトスイッチがあって、これがOFFだったり)すると値が不定(LOWかHIGHか決まっていない状態)になりますが、この指定は、内蔵のプルアップ抵抗をONにしてデフォルトの読み出し値をHIGHにするということのようです。

Aruduinoでも試したことないので今度プルアップ、プルダウンしないで宙ぶらりんにして、INPUT_PULLUPにしたときのAruduinoと未実装なGR-SAKURAの振る舞いの違いを見てみよっと。

loop()は、GR-SAKURAが動いている間は繰り返し呼び出されて実行されるメソッドです。つまり、最初の行から実行されていって最後まで実行を終わると、また最初から実行されます。

サンプルの例では、まずdigitalWrite(PIN_LED0, 1);で PIN_LED0 に値"1"(HIGH)を書き込んでいます。これで LED0 に電圧がかかり点灯します。

次の行のdelay(INTERVAL);は、INTERVALミリ秒だけ何もしないで待てという指示です。INTERVALは、上の方で#define INTERVAL 100と定義されていますので、GR-SAKURAはここで100ミリ秒待ちます。そして、また digitalWrite で次のLEDを点灯して delay で待ち....と処理が続きます。これで、4つのLEDが順番に点灯されて、次に順番に消灯されます。loop()は繰り返し呼び出されるので、この順番に点灯、順番に消灯が電源が切られるか、リセットボタンが押されるまで繰り返されます。

ところで、スケッチのバイナリをUSBメモリとしてマウントされているGR-SAKURAにコピーするとスケッチが自動的に動き出しますが、同時にUSBメモリとしてのマウントが解除されます。修正したスケッチをGR-SAKURAへ送り込みたいときはGR-SAKURAの赤い(茶色い?)リセットボタンを押すと、また、マウントされます。マウントが解除されるのは、マウントしたままだとUSB接続をシリアル通信とかで使えなくなるからかな(?)。

« GR-SAKURAがやってきた! | トップページ | 地球外生命体の探査機、既に太陽系に!? »

GR-SAKURA」カテゴリの記事

電子工作」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: がじぇるねのクラウドコンパイラを使ってみました!:

« GR-SAKURAがやってきた! | トップページ | 地球外生命体の探査機、既に太陽系に!? »