こんにちはコハペペです。今回は、スイッチが押さえれたら、モーターが回るプログラムを作っていきたいと思います。
まず、スイッチが押さえれたことを検知するプログラムは、マクドナルドのポテトが揚がった音を止めるときに使った、デジタルインとifという命令を使います。
スイッチが押されたことを検知したら、モーターがつながっているピンをしばらくの間ONすればよいということになります。
それでは作っていきましょう。
「新規」でプログラム名を「mbed_motor」としてプログラムを作成してください。
まずはデジタルインが使えるようにします。
デジタルインは上の dp~ (~は数字)というピンで open drain と書いていないピンが使えます。
今回は左上のピンをスイッチをつなぎたいのでdp18を使いたいと思います。
3行目のデジタルアウトの命令をコピーしてください。
OutをIn に、 myledをswに、 LED1をdp28 と変更してください。
これで、デジタルインが使えるようになりました。
プログラムの最初はモーターがOFFしていてほしいので、8行目の = 1; を = 0; に書きなおきましょう。
9行目に、「スイッチ(sw)が押されていたら」というifの命令を書きます。
if( sw == 1 )
{
と10行目に { を付けてくださいね。
スイッチが押されたことを検知したらモーターが回ってほしいので、11行目のmyled = 0; を =1; にします。
そして、2秒間モーターが回っていることにしましょうか。
12行目のwait(0.2); を wait(2); とします。
このままだと、回ったままなので、2秒後にOFFします。11行目を13行目にコピーして、 =1; を =0;とします。
そして } をつけます。
これで、スイッチが押されていたら、2秒間モーターが回る(LED1の14番ピン)プログラムができました。
コンパイルしてダウンロードしたファイルを保存してください。
プログラムはこちらからダウンロードできます。
次は回路を作っていきます。
左上のピンのラインと電源の赤いラインにスイッチを挿します。これでスイッチが押されると、dp28に電気が流れます。
まずはモーターの代わりに青いLEDをつないで、動作の確認をしてみましょう。左側の14番のラインに青いLEDの長い足を、短い足を青い電源のグランドラインに挿します。
これでプログラムを書き込んでみてテストしてみましょう。
マイコンとねこちゃんをこちらを参考につないでください。
ねこちゃんのUSBをパソコンとつないだときにできるドライブに、先ほどダウンロードしたファイルをコピーしてください。これで書き込み完了。赤いおめめを押してください。
スイッチを押したらLEDが2秒間光りましたか?
光ればプログラムはOKです。光らなければLEDの足の長い方と短い方が正しく刺さっているか見てみてください。
今回のプログラムは「モーターを使ってロボットを作ろう実験セット」で実験することができます。
コメント