IchigoJamはじめました。(6)サーボモーターを動かそう
こんばんは。國松です。
最近はどんよりとした天気続きで何となく体調もすぐれない感じですが頑張っていきたいと思います。
今回はIchigoJamでサーボモーターを動かしていきたいと思います。
参考書籍
みんなのIchigoJam入門
サーボモーターとは
制御信号によって指示された位置(角度)まで回転するモーターの事です。DCモーターは電力をかけるとずっと回転していますがサーボーモーターは制御信号に応じて0~N度の範囲で回転します。制御信号にはPWM信号利用します。
本格的なサーボーモーターは製造工場で工作機械などの産業ロボットに組み込まれて利用されています。今回はホビー用途のものを使用します。ホビー用途のものはロボットの関節やラジコンのステアリングなどに利用されています。
用意するもの
・IchigoJam S
・ブレッドボード
・サーボーモーター(SG92R)
・TD62783APG(トランジスタアレイIC)
・電池ボックス(単三×3本)
・ジャンパワイヤ
サーボーモーターも消費電力が大きく、電源電圧が高いためIchigoJamに直接接続することはできません。サーボモーターの動作に必要な電圧と電流を供給できるICが必要になります。今回はTDA62783APGを使用します。
PWMコマンド
PWM 端子,パルス幅[,パルス周期]
指定する要素 | |
端子 | 端子番号(2~5)を指定。OUT2~OUT5のみPWM信号を出力できる。 |
パルス幅 | 0.01ミリ秒単位でハイレベルを出力する時間を指定。 |
パルス周期 | 0.01ミリ秒単位で周期を指定。省略した場合は2000(20ミリ秒)になる。 |
(使用例)
PWM 2,1000 (OUT2端子に10ミリ秒のパルス幅で周期20ミリ秒のPWM信号を出力)
(接続図)
1 2 3 4 5 6 7 8 9 10 | 5 'Servo Motor 10 CLS 20 [0]=100:[1]=150:[2]=200 30 ?"Servo Motor" 40 I=INKEY() 50 IF I=28 THEN PWM 2,[0] 60 IF I=29 THEN PWM 2,[2] 70 IF I=30 THEN PWM 2,[1] 80 WAIT 10 90 GOTO 40 |
右矢印キーを押すと右方向,左矢印キーを押すと左方向に,上矢印キーを押すと中央にサーボモーターが回転します。プログラムは無限ループになっているのでEscキーで終了してください。