ここではキットに付属している3つのサーボのセンタリング(回転の中心を合わせる)しつつ、ベゼリーの基本的なライブラリのインストールを行います。
まずは機材を用意しましょう。
・ラズパイ(初期設定が完了したもの)
・キットから、サーボドライバーボード、USBコネクタ、ジャンパーケーブル(長いものと短いもの)、サーボ3つを取り出します。
・細めのマイナスドライバーも必要です。
それでは機材を接続しましょう。
・まず3つのサーボをサーボドライバボードに接続してください。
・サーボドライバボードにはサーボを16個刺すことができますが、左端の3つに刺してください。
・ケーブルの色と端子の色が合うように刺してください。橙ケーブル→黄端子、赤ケーブル→赤端子、茶ケーブル→黒端子。
・ちなみに橙(黃)が信号線、赤がプラス、茶(黒)がマイナスです。
・キットに付属している短いジャンパーケーブルは10本がつながってますが、4本だけ割いてください。何色を使ってもよいのですが、このマニュアルでは黒から紫の4本を使っているので、同じ色のほうが分かりやすいですね。
・ジャンパーケーブルをサーボドライバボードに接続してください。ボードには6本の端子がありますが、そのうち4本だけ使います。ちなみに紫と黒が電源(紫がプラスで黒がマイナス)、灰と白が信号線です。
・ジャンパーケーブルをラズパイに接続してください。ラズパイの端子(GPIO)は2列並んでますが、内側のほうに刺してください。
・サーボドライバボードにサーボを動かすための電源を接続します。電池方式とUSB方式があります。電池方式のほうが簡単で、配線もシンプルです。でも長時間つかうなら、USB方式のほうが経済的でしょう。
・まず電池方式の説明をします。電池ボックスのフタを空けて単3電池を3本入れてください。
・サーボドライバボードの緑色の電源端子を細めのマイナスドライバーで緩めると、側面の金属端子に隙間ができるので、そこに電池ボックスのケーブルを差し込んで、ドライバーで締め付けてください。左が黒ケーブル(マイナス)、右が赤ケーブル(プラス)です。
・電池ボックスのスイッチをONに切り替えることで、サーボドライバボードに電源が供給されます。
・次にUSB方式を説明します。USBコネクタに長いジャンパーケーブルを刺してください。キットに付属しているジャンパーケーブルの色は同じではありません。
・コネクタの左がマイナス、右がマイナスなので、この写真の例では茶ケーブルがマイナス、赤ケーブルがプラスになります。
・プラスとマイナスを間違わないように注意しながら、サーボドライバボードの電源コネクタにジャンパーケーブルを接続してください。
・サーボドライバボードの左側がマイナス、右側がプラスです。
・電圧がかかった端子が露出していると不安なので、絶縁テープなどで包んであげましょう。
・ACアダプタに接続されたmicroUSBケーブルをこのUSBコネクタに挿せば、サーボドライバボードに電源が供給されます。
・ラズパイにディスプレイ、キーボード、マウスを接続し、電源コネクタに電源を接続してください。
・サーボが回転しているかどうかを分かりやすくするため、付属のサーボホーン(白いプラスチックの部品)をサーボの回転軸に挿しておくとよいと思います。
・電源方式を電池方式にするなら電池ボックスのスイッチをONにし、USB方式にするならUSBコネクタに電源を接続してください。
次はソフトウェアの準備です。ラズパイを起動してください。
- I2Cの有効化
- ラズパイとサーボドライバボードは「I2C」という方式で通信しますが、ラズパイはデフォルト設定ではI2Cが無効になっているので、有効にしてください。
- X Window System画面左上のメニューアイコン(ラズベリーの絵)から「設定」→「Raspberry Piの設定」を選び、「インターフェース」タブの「I2C」を「有効」に切り替えます。
- 再起動することで、設定が有効になります。
- モジュールとサンプルプログラムの取得
- LXTerminalのウィンドウを開いてください。
- このあとはコマンドラインでの操作になります。Linux系のOSを使ったことが無いひとは、まずはこちらをご覧ください。Raspbianの基本
- ユーザーディレクトリ「/home/pi」にベゼリー用のディレクトリ「bezelie」を作り、そこへ移動しましょう。ディレクトリーを移動するコマンド「cd」は、移動先を指定せずに単独で打ち込むとユーザーディレクトリに移動します。
1 2 3 |
$ cd $ mkdir bezelie $ cd bezelie |
- gitからベゼリーのサンプルプログラム集を取得しましょう。
-
1$ sudo git clone https://github.com/bezelie/pi.git
- これでディレクトリ「bezelie」の下に「pi」という新しいディレクトリが作成され、その中にベゼリーのサンプルプログラムがコピーされたはずです。そこへ移動し、ls(エルエス)コマンドで中身を確認してみましょう。
-
12$ cd pi$ ls
- 準備は完了です。サーボをセンタリングするpythonのプログラムを実行してみましょう。
-
1$ python bezelie.py
- 3つのサーボがキュイキュイ動いたらセンタリング成功です。
-
サーボのセンタリングは終了です。お疲れ様でした。
Tips
- キットに付属しているサーボはTower Pro社のMicro Servo Digital「SG-90」です。安価なサーボなので、あまり長持ちしません。1個400円ぐらいでAmazonなどで購入できますので、動きが悪くなったなと思ったら、買い直してください。ただし、偽物も出回っているらしいのでご注意ください。
- I2Cとは
- I2CはInter-Integrated Circuitの略で、アイツーシーあるいはアイスクエアドシーと読みます。
- フィリップス社が提唱したシリアル通信の規格です。
- シリアルデータ(SDA)とシリアルクロック(SCL)の2本の信号線だけで通信することができます。
- 複数のデバイスを同時に接続することができます。
- ディスプレイ、温度センサー、加速度センサーなど、I2C接続に対応したディスプレイが多数発売されています。