(がなかなかうまくいきません)
とりあえず現状までのメモ書き.
G-Codeを変換するというこで幾つか選択肢があると思いますが,Arduino Unoに対応するということでGrblにしてみました.
やり方はhttp://www.shapeoko.com/wiki/index.php/GRBL#Using_Grbl を参考にしてみます.
現状の最新版はGrbl-v0.9のようです.
以前のバージョンではバイナリを転送していたようでいろいろなWebページにいろいろな書き込み方が書かれていますが,整理すると下記の方法を使い現状はArduino IDEだけで簡単に書き込みできるようです.もと資料はこちら"https://github.com/grbl/grbl/wiki/Compiling-Grbl"
(一応HexUploaderも試して,今の所同じ結果になっているように見えます.)
注)下記の方法で簡単にArduino Unoに書き込めますが,なんでこれでうまくいくのか理屈がよくわかりません. ヘッダ読み込んでいるだけに見えるのに,どうしてスケッチが転送されているのでしょうか.
やり方
1.ソースコードのダウンロード
https://github.com/grbl/grbl
からソースコードをダウンロード. 画面の右側にある"Download ZIP"を押します.
おそらくダウンロードフォルダにダウンロード後解凍されて”grbl-master”というフォルダができていると思います.
2.Arduino IEDに登録 ( バージョンが変わって少しメニューが変わったようなので更新しておきます.2015.0912 Ver 1.6.5で動作を確認しています)
メニューの「スケッチ」→「Include library」→「Add .ZIP Library ...」を選び,先ほどダウンロードした"grbl-master"フォルダの中にある"grbl"フォルダを選びます
(どこかのバージョンで変わったのか元々そうだったのに気づかなかったのかわかりませんが,フォルダ選択のときに"grbl-master"ではなくて,"grbl"フォルダを選ばないとパスが通らずヘッダーが読み込めないようです)
「スケッチ」→「Include library」を選ぶと一番下の「Contributed Library」の欄に「grbl」が登録されていればOKです
3. Arduinoに書き込み
メニューの「ファイル」→「スケッチの例」→「grbl」→「grblUPloader」を選択.
(ここら辺はIDEのバージョンによってコロコロ変わるようです)
次に「ファイル」→「マイコンボードへの書き込む」を選んでコンパイルと転送がうまくいくことを確認する.
これでArduino側の設定はOK(のはず)
次にGrbl controllerを使って制御してみる
Grbl controllerはここからダウンロード
http://zapmaker.grblcontroller.s3-website-us-west-2.amazonaws.com
このページではMac版は3.5が最新ですが,最新版をコンパイルしてくれた方がいて公式にこちらからリンクされています.
https://github.com/zapmaker/GrblHoming/releases
"GrblController-3.6.1.7z"をダウンロードして, 適当な解凍ツールで解凍します.
お手軽に適当な場所に保存してから実行します
"GCV-3.6.1-T4.dmg"を選ぶとよりリッチなGUIで使用できます.解凍ソフトもいらないし...
立ち上がったら
「Port name」からArduinoが繋がっているポートを選択
「Baud Rate」を"115200"にし,「Open」を選びます.
設定パラメータがきちんと帰って来れば通信の確立はOKです.
パラメータはGUIを使ってAdvanceから変更できるはずなのですが,うまくいきません
試しに古いGrbl controller 3.5を使って試しましたが,GUIで入力した値を別の変数に書き込んでしまうと言うバグがありました.
現状パラメータを変更しようと思ったら「Command」から
$100=200
などとて入力してやるのが良いと思います.
もし間違えて書き込んでしまった場合は
https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9#grbl-settings
にデフォルト値の記載があるので手入力で戻してみてください.
また3.5では「Go Home」の機能もだんだん値が動いていってしまう問題がありましたが, 3.6では治っているみたいです.
とりあえずメモとして公開しておきます.
参考情報
https://github.com/grbl/grbl/wiki/Connecting-Grbl
https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9
HexUploaderとの動作確認をした際に使ったコンパイル済みファイル
https://github.com/grbl/grbl-builds/tree/master/builds