PR 記事には広告が含まれています
スポンサーリンク
Translate

マイコンでモーターを回してみよう 第3回(ちょこちょこ歩く)

スポンサーリンク

myled を mt2 にこんにちはコハペペです。前回はモーターが回るところまでやりました。今回はもう1個モータをつないで、2つのモーターを交互に回して、ちょこちょこ歩いているような動きをプログラムで作ってみたいと思います。
前回のプログラムをベースとして改造していきましょう。
programmotoroff

まずは、2個目のモーターをON,OFFできるように、デジタルアウトを追加します。
3行目のDigitalOutの行をコピーして、myled を mt2 に、LED1 を、マイコンの左下のピン dp15 に書き換えます。
あと、最初にモータが止まっていてほしいので、9行目の myled = 0; もコピーして、myled を mt2 に書き換えます。
programmotordigiout2

このプログラムはif命令でスイッチが押されたことを検知して、{ } の中の命令でモーターを動かしたり止めています。今回も、スイッチが押されたら、右左右左とモータが回ってほしいので、{ } の中を改造していきます。
右左右左と繰り返すので、for( )を使いましょう。8回くらい動くということにして
13行目に
for( int i = 0 ; i < 8 ; i++ )
{
を追加します。
programmotorfor
片方だけONしたいので、15行目と16行目の間に、
mt2 = 0;
を追加します。
waitは0.2秒と短くします。
programmotorfor2

その後、先ほどとは別のモータをONするため、15行目と16行目の間に、
mt2 = 1;
wait(0.2);
}
を追加します。
programpwmfor3
これてちょこちょこ、左右のモーターが交互に動くようになりました。
最後に、その場でUターンするように、4秒間片方のモーターを回してみましょう。
21と22行目の間に、
myled = 1;
mt2 = 0;
wait( 4 );
を追加します。
programmotorfor4
これで、動きのプログラムは完了です。コンパイルしてダウンロードしたファイルを保存してください。
プログラムはこちらからダウンロードできます。

次は回路を作ります。
前回と回路は同じです。右側に下の図を参考に配線してください。
breadboadmotorbatt2
これでプログラムを書き込んで動作確認してみましょう。
マイコンとねこちゃんをこちらを参考につないでください。
ねこちゃんのUSBをパソコンとつないだときにできるドライブに、先ほどダウンロードしたファイルをコピーしてください。これで書き込み完了。赤いおめめを押してください。

スイッチを押したらモーターが交互に回りましたか?
モーターが回りにくい場合があるのでLEDを抜いてください。
回転方向が反対の場合は、モーターのプラスとマイナスの線を反対にしてくださいね。

次回は電池だけで動くように改造してみましょう。

今回のプログラムは「モーターを使ってロボットを作ろう実験セット」で実験することができます。
motorjikkensetto