F# TypeProvider を PCL 上で動かす試みは、FSharp.Data と同じ方式を取ればよいということが分かったのだが、何故か Profile47 しかうまく動作しない。元の XmlProvider に Profile78 と Profile259 を加えててもうまくいかないし、試しに Profile7 を作っても駄目。何故か System.IO.StringStream のコンストラクタがないという謎なエラーでる…まあ、これはひとまず、冷ましておいて、Raspberry Pi で meArm を動かすことに集中しよう
閑話休題
meArm は、http://www.phenoptix.com/products/mearm-pocket-sized-robot-arm から 29.99 ユーロ(約 3500円ぐらい)で買えるロボットアームです。駆動系は10個3000円で変えるサーボを使っているので、自作できる方はそれで。手っ取り早くアームの動きだけ試したい場合はこれでよいかと。
PCA9685搭載16チャネル PWM/サーボ ドライバー (I2C接続) 経由でサーボを動かすのを忘れずに。meArm 自体は 4チャンネルなので、後12チャンネル動かせますね。手元にプチロボのサーボが余っているので、何か別のものも同時に動かします。あと、Raspberry Pi の Raspberry Pi用T型I/O延長基板 があると工作が楽です。半田付けは苦手なのですが、まあ、ちまちまやればなんとかなるかと。
■プログラムを動かす
サーボを動かすのは何でもいいのですが、Raspberry Pi から制御したいので、https://github.com/RorschachUK/meArmPi にある動作確認用のコードで動かしてみます。
サーボの順番
- Servo 0: meArm rotating base
- Servo 1: meArm shoulder (right hand side servo)
- Servo 2: meArm elbow (left hand side servo)
- Servo 3: meArm gripper
Raspberry Pi のピンの順番
- Adafruit GND to RPi GND
- Adafruit SCL to RPi SCL0
- Adafruit SDA to RPi SDA0
- Adafruit VCC to RPi 3.3V
- Adafruit V+ to RPi 5V
Raspberry pi のピン自体は http://wiringpi.com/pins/ にあります。そのまま拝借
あとは、5V の電源(電池4個で6Vですが)が必要なので、適当な電池ボックスにいれてブレットボードに接続あるいは、先のサーボドライバーの青いところに接続します。GND のほうを電池のマイナスにすればOK(初心者だし…)。
まずは、この python コードを C# に移植から。