トップページ | 2013年8月 »

2013年7月

2013年7月28日 (日)

GR-SAKURA:おら3.3Vで動くだ!

さて、1週間放置されていたGR-SAKURA。Aruduino Uno R3 が5Vなのに対して、搭載するマイクロコントローラのルネサスRX63Nが3.3V動作らしい。本当かなということで、テスタで測ってAruduino Uno R3と較べてみることに。

テスト環境はこんな雑な感じで

Testenv_2

左上の桜色がGR-SAKURAで、左下が Aruduino Uno R3。テスターは十数年使っているもので精度だめなんじゃない?と思っていたら3.30Vジャストで表示されました。互いの誤差が打ち消し合ってるかもしれませんが

クラウドWebコンパイラ上で書いてみたスケッチはこんな感じです。

/*GR-SAKURA Sketch Template Version: V1.07*/
#include <rxduino.h>

void setup()

{
 //Arduino互換ピンのデジタル0-13をすべて出力モードに設定
 int i;
 for(i=0;i<=13;i++) {
 pinMode(i,OUTPUT);
 }
 //LED0を出力モードに設定
 pinMode(PIN_LED0,OUTPUT);

}

void loop()
{
 //Arduino互換ピンのデジタル0-13をすべてHIGHに設定
 int i;
 for(i=0;i<=13;i++) {
 digitalWrite(i, HIGH);
 }
 //LED0を点灯して準備完了の合図
 digitalWrite(PIN_LED0,HIGH);
}

このスケッチをビルドして、GR-SAKURAにコピーするとLED0が点灯して準備完了。Aruduino互換のデジタル入出力ピン0番から13番がHIGHに設定されたはずです。

測ってみると。。。

Pin0

最初の画像でも見えちゃってますが、ぴったり3.3V。ピン0から13全部同じでした。本当に3.3Vでした(あたりまえか)

次の画像は、VINピンを測ってみたものです。

Vin

GR-SAKURAのVINピンは、0.00Vになっています。では、Aruduino Uno R3はどうでしょう?

Arvin

4.52Vでした。

そうそう、Aruduino のスケッチはこんなです。後でデジタルピン測りますので。

void setup()
{
    //Arduino互換ピンのデジタル0-13をすべて出力モードに設定
    int i;
    for(i=0;i<=13;i++) {
        pinMode(i,OUTPUT);
    }
}
void loop()
{
    //Arduino互換ピンのデジタル0-13をすべてHIGHに設定
    int i;
    for(i=0;i<=13;i++) {
        digitalWrite(i, HIGH);
    }
}
GR-SAKURAには、LED0 - LED3 の4つの青色LEDがありましたので、LED0を準備完了通知に使いましたが、Aruduino にはありませんので該当するコードは削除しています。Aruduino Uno は、PIN 13にオンボードのオレンジ色のLEDが接続されていますので、これが点灯したら準備完了とみなすことにします。コード上もちゃんと最後にPIN 13がHIGHになり、LEDも点灯するはずですので。

さて、今回は電源をUSBから取っていました。では、ACアダプタをつないだらどうなるでしょう。


Arvin9v

9VのACアダプタをAruduino Uno R3につないだところです。今度は、VINは 8.23Vになりました。Aruduino Uno は、VINは電源に直結されていて、GR-SAKURAは結線させていないようです。GR-SAKURAのハードウェア仕様 によればジャンパーのJ3をつなぐと接続されるようですが「危険」とのコメントがありますね。ちなみに、GR-SAKURAの入力電圧は、5Vですので、Aruduinoから来た方は手持ちの9VのACアダプタをつなぐのは控えた方がいいかもです。

次は、5Vピン。まずは、GR-SAKURAです。

5v

0Vですね。こちらもジャンパーのJ2をつなぐと5Vが供給されるようです(GR-SAKURAのハードウェア仕様 )。Aruduino 用のシールド等を使うときのはJ2が役立ちそうです。

一応、Aruduino Uno の5V ピンも測っておきましょう。

Ar5v

5.04Vでした。ちゃんと5Vかかってますね。

次は、3.3Vピンです。まずは、GR-SAKURAから。

3v

3.30Vですね。こちらはデフォルトでも当然供給されています。

ついでに、Aruduino Unoはというと。

Ar3v

3.29Vということで、こちらもちゃんと3.3V給電されています。

GR-SAKURAのアナログピンとRESETも測ってみましたが全部 0.0 Vでした。
最後に順番が前後しますが、Aruduino Uno のデジタルピンです。

Ardigital

0から13番ピンまで全部測ってみましたが、5.04V でした。

テスター当てまくったらなんとなく意味なく安心な気分になったので今日はここまで

地球外知的生命体の宇宙船探しが始まる!

シドニー・モーニング・ヘラルドのウェッブサイトに掲載された記事(Hunt for alien spacecraft begins, as planet-spotting scientist Geoff Marcy gets funding )によると、カリフォルニア大学バークレイ校の天文学者で太陽系外惑星探査の専門家であるジェフ・マーシーが昨秋テンプルトン財団から地球外文明探査のために20万ドルの資金提供を受けた。

ジェフ・マーシーは、最初に発見された太陽系外惑星100個のうちの4分の3を発見した天文学者。太陽系外惑星探査の目的で打ち上がられたケプラー宇宙望遠鏡が故障により運用が困難となりつつある中、この6月から彼はケプラーのデータから地球外知的生命体の宇宙船が遠方の星の前を横切っていることを見つけ出す出そうとしている。

提供される20万ドルは、ケプラーのデータを分析するソフトウェアの開発と、ハワイのケック望遠鏡を使って、地球外文明によるレーザーを使った通信を見つけ出すために使われる。これまで、地球外文明の探査を目指したSETIプロジェクトでは、通信や放送に使われるであろう電波を見つけ出そうとしていたが発見には至っていない。

人類の通信手段もアナログからデジタル通信へ移行するにつれ通信メディアも電波から光ファイバーへとシフトしている。ジェフ・マーシーは、地球外文明も電波よりも効率的な手段を使うと推測し、レーザーが適していると考えている。

ということらしい。楽しそう!

鈴鹿ひろ美アタック凄まじ!

NHK連続テレビ小説「あまちゃん」を毎日録画して週末にまとめて見ています。101話の絶対音感を持つ水口への太巻による「鈴鹿ひろ美アタック」は凄まじかった!

マクロスのミンメイアタック以上の破壊力。これぞ音波兵器です。

頭の中でループしている「潮騒のメモリー」が完全におかしくなってしまいました。。。このまま僕も音痴になってしまうのではないかと恐怖感が募ります

2013年7月22日 (月)

地球外生命体の探査機、既に太陽系に!?

Phys.org の記事(Self-replicating alien probes could already be here )によると、イギリスのエジンバラ大学の研究者の計算では地球外生命体による恒星間探査機が既に太陽系に到着している可能性が高いとのこと。

もし、天体の重力によるスイングバイによって加速し、星間物質を利用して自己複製しつつ新たな目標に向けて自己の複製を送り出すタイプの探査を地球外生命体が宇宙へ送り出したとするとおよそ1,000万年で天の川銀河全体を探査できる計算となるらしい。

これは宇宙の歴史に較べれば非常に短い期間であり、既にこのような探査機が太陽系に到着している可能性が高いとのこと。

では、なぜ人類はこうした地球外生命体の探査機を探知していないのか?

彼らのテクノロジーが極めて発達していて我々地球人のテクノロジーでは探知できないか、探査機自体がある水準、つまり、探査機を探知できるレベルに達した文明にのみコンタクトするようにプログラムされているのかもしれない。
実は、みなさんの身の回りにいるネコたちが探査機に載って来た地球外生命なんですよ~。

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接続をシリアル通信とかで使えなくなるからかな(?)。

2013年7月20日 (土)

GR-SAKURAがやってきた!

Arduino互換ボードの GR-SAKUARA (-FULL)を入手しました。初心者からハードユーザーまで手軽にマイコンを使った電子工作ができる環境を提供しようというルネサスの「がじぇるねプロジェクト」のレファレンスボードです。イーサネットのRJ45コネクタ、USBホスト機能、microSDカードソケットがあって、XBeeまでオンボードに実装できるという優れもの。おまけに開発環境をPCにインストールせずにWeb上でクラウドベースで開発することができます。このあたりはmbed的です(mbedさわったことないですが...)。Web上で開発してbuildしたバイナリプログラムをUSBメモリとして認識されているGR-SAKURAへコピーしてあげるとすぐにプログラムが動き出します。

GR-SAKURAは、若松通商さんアールエスコンポーネンツさんで販売されています。今回はカードが使えるのでアールエスコンポーネンツさんから購入しました。若松さんだと無色透明や桜色透明のケース等も販売されています。

Grsakuraaruduinouno_3

上の写真の下の段中央がGR-SAKURA、右がAruduino Uno。同じくらいの大きさですね。

Grsakuraup

アップにするとこんな感じです。色がなかなか。左上の銀色の物体はイーサネットのRJ-45コネクタです。

1307200030

↑こちらは、Aruduino Uno。左上の銀色はUSBコネクタ。イーサではありません。

Grsakurarj45

↑こちらは、GR-SAKURAを横から。左がイーサのRJ-45。中央の銀色は mini USBコネクタ。PCからプログラムの転送はここを使います。ちなみに、スマホによくある micro USBでもAruduino Uno の USB Type Bでもないです。

それから、USBホスト機能を使う場合はボードの裏側(表のmini USBの真下)にUSB Type Aのコネクタを自分ではんだ付けします。コネクタは、GR-SAKURA-FULLに添付されています。

ちなみにADK勉強会さん編著のGR-SAKURAでHello ADK
の情報によると中継コネクタを使えばType Aのコネクタをはんだ付けしなくてもminiUSBでUSBホスト機能を使うこともできるようです。いつの日かAndroid端末買ったら試してみよう。ちなみに、端末選びにはADK対応端末確認 が参考になるのかな。

トップページ | 2013年8月 »