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

マイコンでモーターを回してみよう 第1回(準備)

スポンサーリンク
2018.5.18更新
programmotoroff

こんにちはコハペペです。今回は、スイッチが押さえれたら、モーターが回るプログラムを作っていきたいと思います。
まず、スイッチが押さえれたことを検知するプログラムは、マクドナルドのポテトが揚がった音を止めるときに使った、デジタルインとifという命令を使います。
スイッチが押されたことを検知したら、モーターがつながっているピンをしばらくの間ONすればよいということになります。

それでは作っていきましょう。
「新規」でプログラム名を「mbed_motor」としてプログラムを作成してください。
programmotornew

まずはデジタルインが使えるようにします。
mbedpinasigne
デジタルインは上の dp~ (~は数字)というピンで open drain と書いていないピンが使えます。
今回は左上のピンをスイッチをつなぎたいのでdp18を使いたいと思います。

3行目のデジタルアウトの命令をコピーしてください。
OutをIn に、 myledをswに、 LED1をdp28 と変更してください。
programmotordigiin
これで、デジタルインが使えるようになりました。

プログラムの最初はモーターがOFFしていてほしいので、8行目の = 1; を = 0; に書きなおきましょう。
9行目に、「スイッチ(sw)が押されていたら」というifの命令を書きます。
if( sw == 1 )
{
と10行目に { を付けてくださいね。
programmotorif

スイッチが押されたことを検知したらモーターが回ってほしいので、11行目のmyled = 0; を =1; にします。
そして、2秒間モーターが回っていることにしましょうか。
12行目のwait(0.2); を wait(2); とします。
programmotorwait2
このままだと、回ったままなので、2秒後にOFFします。11行目を13行目にコピーして、 =1; を =0;とします。
そして } をつけます。
programmotoroff
これで、スイッチが押されていたら、2秒間モーターが回る(LED1の14番ピン)プログラムができました。
コンパイルしてダウンロードしたファイルを保存してください。
プログラムはこちらからダウンロードできます。

次は回路を作っていきます。
左上のピンのラインと電源の赤いラインにスイッチを挿します。これでスイッチが押されると、dp28に電気が流れます。
まずはモーターの代わりに青いLEDをつないで、動作の確認をしてみましょう。左側の14番のラインに青いLEDの長い足を、短い足を青い電源のグランドラインに挿します。
breadboadmotorsw
これでプログラムを書き込んでみてテストしてみましょう。
マイコンとねこちゃんをこちらを参考につないでください。
ねこちゃんのUSBをパソコンとつないだときにできるドライブに、先ほどダウンロードしたファイルをコピーしてください。これで書き込み完了。赤いおめめを押してください。

スイッチを押したらLEDが2秒間光りましたか?
光ればプログラムはOKです。光らなければLEDの足の長い方と短い方が正しく刺さっているか見てみてください。

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