チャレンジプログラム
GR-SAKURA
GR-KURUMI
SNShield
Web Compiler
IDE for GR
その他
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
GRリファレンスボード用のArduino(※) IDEです。
まずは、GR-KURUMIに対応したプロトタイプ版として公開いたします。
※ダウンロードが非常に遅いため、Google Driveに入れてみました。こちらです。
※ArduinoはArduino Teamの商標です。
初めて使うときの例:
1.以下のようにスケッチの例「HelloKurumi」を選択します。
2.KURUMI+FTDI+USBをつなげます。
ドライバのインストールなどが始まります。それから「スケッチ」→「シリアルポート」で該当するCOM○○を指定します。
3.矢印ボタンを押します。
4.コンパイル→書き込みがされてKURUMIが光ります。シリアルモニターを開くとHelloが表示されます。
これが一連の流れです。あとはスケッチを自分流に作って遊びましょう。
-----------------------------------------------
Revision History
E0.4.1(Nov 14th 2014)
・Example、ライブラリを更新しました。(PicalicoFree用ライブラリ、KURUMI行燈の追加)
E0.4.0(Apr 4th 2014)
・書き込み時のベリファイをなくしました。
・SNShield用ライブラリとサンプルを追加しました。
・もとからArduino IDEにあるサンプルである程度動作確認ができたものを追加しました。
E0.3.0(Feb 7th 2014)
KURUMIライブラリがV1.01ベースだったのをV1.04に更新。
E0.2.0 (Feb 3rd 2014 )
シリアルモニターのボーレートに、230400, 460800, 921600を追加しました。
E0.1.0 (Jan 25th 2014 )
Initial version.
こちらで確認せずすみません。確かにそうですね。次の版で見直したいと思います。
そうですね。
たとえば、“#include<LiquidCrystal.h>”のみが書いてあるcppファイルを作成して、
メニューの「スケッチ→ファイルを追加...」で取り込みます。
そのあとでビルドすると失敗します。
ライブラリの追加でなく、includeを追加するだけということですかね?
<>が抜けてしまいました。(Forumは大丈夫なのに…)
#include<LiquidCrystal.h>
です。
<>
プロジェクトに追加したcppファイル内で、「#include 」などと標準ライブラリをインクルードしようとすると
test.cpp:1:27: fatal error: LiquidCrystal.h: No such file or directory
#include
というエラーになります。これは Arduino IDE では起きないので IDE for GR 固有の問題のようです。
ライブラリを追加した実体がどこにあるのか? いろいろ探すと C:\Users\(ログイン名)\Documents\Arduino\libraries に登録されていました。
ライブラリを消したり、修正したりするときは、ここをいじればOKです。
英語メニューでの動作は可能なのでしょうか?
> もとからArduino IDEにあるサンプルである程度動作確認ができたものを追加しました。
まだ明らかになっていないArduinoとの非互換部分の洗い出し等できて有意義なことと思います。他、Arduinoには “Contributed Libraries”(arduino.cc/.../Libraries)というのがなんだか色々あって、有用そうなものも中にはあるので、そこいら辺の移植なんかもできるといいですね。GR-SAKURAも同様。
ご報告ありがとうございます。個人的にはプロジェクト管理の面でe2studioが使いやすいですが、Arduino IDEはシリアルモニターまでのつなぎがいいですよね。
「LhaForge」では正常に解凍、実行できました。(win7-64bit)
e2studioで突き進むか悩みますね
ダウンロードが異様に遅い報告を受けたため、Google Driveに置いてみることにしました。でもGoogleウィルススキャンができるサイズを超えているみたいで、ワーニングが出てしまいます。
な、なるほど。やはりプロトタイプ宣言要らずC言語を実現するための小細工の副作用でしたか。
#include と自動生成されるプロトタイプ宣言の並びが常に適切になっていれば問題はないのですが、例えば下記の hoge.ino の場合、
const char* hoge = "hoge";
#include "hoge.h"
void funcHoge(typeHoge hoge){}
void setup(){}
void loop(){}
生成される hoge.cpp は下記の内容になります。
#line 1 "hoge.ino"
#include "Arduino.h"
void funcHoge(typeHoge hoge);
void setup();
void loop();
#line 1
funcHoge() のプロトタイプ宣言よりも #include "hoge.h" の並びが後ろになるので、この場合はエラーとなってしまいます。
.ino から .cpp を生成する際の処理の順番だかなんかの結果だとは思いますが、ちょっと訳わからんですね。
ともあれヘッダファイルのインクルードは .ino の先頭のほうに優先させるのが良さそうではあります。
hoge.ino の中の
typedef struct structHoge {int hoge;} typeHoge;
を hoge.h に移動し、hoge.ino を
と書き換えると生成される hoge.cpp は
#line 2
となります。この場合、
のプロトタイプ宣言よりも前の位置に
が位置するため、typeHoge は未定義とならずエラーとなりません。