以前このブログで紹介した Arduino Simulator 「UnoArdusim」でサーボモーターを動かしてみました。
サーボモーターを 0度→90度→180度→90度→0度 の繰り返し動作をさせる単純なプログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | //*********************************************************** // サーボモーターを動かすプログラム No.1 // 博多電子工作室 2015/07/25 //*********************************************************** #include <Servo.h> //サーボモーター用ライブラリを読み込み Servo myservo; //サーボ用のオブジェクトを作成 int val; //サーボの角度を格納するための変数 void setup() { myservo.attach(9); //デジタル9番ピンをサーボの角度命令出力ピンとして設定 } void loop() { val = 0; myservo.write(val); //サーボを動かす(0度) delay(1000); val = 90; myservo.write(val); //サーボを動かす(90度) delay(1000); val = 180; myservo.write(val); //サーボを動かす(180度) delay(1000); val = 90; myservo.write(val); //サーボを動かす(90度) delay(1000); } |
これが今回動かすプログラムです。
サーボモーターを動かすので「サーボモーター用ライブラリ」を読み込んでいます。
UnoArdusimを起動します。
「File」メニューの「Load INO or PDE Prog...」で上記のプログラムを読み込むかまたは
「コードエリア」をダブルクリックしたら表示される
「View/Edit Program」ウインドウにプログラムをコピペで貼り付けて「Adpt」ボタンを押してください。
「モジュールエリア」の「サーボ」のところに 9 と入力します。
これで「サーボ」がArduinoの 入出力9 に接続されたことになります。
これで「実行」ボタン(緑の下矢印のボタン)を押すと「サーボ」が動き出します。
プログラムを停止するときは「ストップ」ボタン(中にSTOPと書いてある赤いボタン)を押してください。
プログラム中の
delay(1000);
が停止時間の設定です、この数字を大きくしたり小さくしたりして動きの変化を確認してください。
なお、単位は mS となっています。
1000 は 1000mS で 1秒となります。
UnoArdusimはステップ送りとかブレークポイントの設定とかプログラムのデバック機能も有していますがこれらに関しては別の機会に説明します。