- サーボモータについての解説はCHIRIMEN Servoに記載してあります。
CHIRIMEN Servo (task.js version)
Owner & Collaborators
License
CHIRIMEN Servo (task.js version) by ChirimenEdu is licensed under the Creative Commons - Attribution-ShareAlike license.
Summary
task.jsを使用してCHIRIMENでサーボモータを扱う方法。
PCA9685というサーボドライバを使います。
PCA9685というサーボドライバを使います。
Materials
Tools
Blueprints
Making
- CHIRIMEN Basic Shieldを使用します。
- シールドがない場合はCHIRIMEN Servoを参考にして回路を準備してください。
- GROVE - 4ピン-ジャンパメスケーブルをI2C0という印字のある列の5Vという印字のある箇所に接続してください。
- GROVE - 4ピン-ジャンパメスケーブルの黒、赤、黄色、白色のケーブルをそれぞれPCA9685のGND,VCC,SCL,SDAに刺してください。
- 普通のジャンパワイヤ(オス~メス)でPCA9685のVCC,V+を接続してください。
- サーボモーターをch0に接続してください。
- CHIRIMENでサーボモータを制御する方法 を参考にソースコードを準備してください。
- task.js、webgpio polyfillを使用するので準備してください。
- WoTsignageアプリと同様に準備すれば大丈夫です。
- サンプルプログラムについて解説する。
- I2Cポートの初期化
- サーボドライバの初期化処理
- サーボモータの制御
- CHIRIMENアプリのベースを準備します。
- I2Cポートの初期化処理をspawn関数内に記述します。
- CHIRIMENアプリのベースを準備します。
- サーボモーターを制御するための処理はPCA9685クラスにまとめてあります。
- 初期化したI2Cポートオブジェクトとサーボドライバ(PCA9685)のアドレス(0x40)を指定して、pca9685クラスをnew呼び出しして、さらにサーボドライバの初期化処理を記述します。
- 引数に指定している数値(0.00050,0.00240,180)はサーボモータ毎に異なる設定値です。SG90というサーボモータを使用する場合は、この通りに記述します。
- サーボモータの制御は制御するサーボモータのチャンネル(今回は0を指定)と、角度(angle変数で指定)を指定して、サーボモータの制御処理のように記述します。
- 以下の記述は10度と170度を交互に設定する処理です。
- 正しく動作すれば、サーボモータが1秒毎に10度、170度の角度に動きます。
Comments