こんにちは、てっちーです。Arduino Unoを使ってプログラミングを行っていきます。最初なので、まずArduino Unoをパソコンに接続してLEDを点滅させてみます。その後、プログラムを変更して点滅のスピードも変更してみたいと思います。
目標
Arduino UNOへパソコンからプログラムを書きこみ、その動作を確認する。
今回すること
- Arduino UNOの動作確認
- プログラムの編集
- プログラムのコンパイルとArduino UNOへの書き込み
Arduinoとパソコンを接続する
早速、Arduino(アルデュイーノ)とパソコンをUSBケーブルをつないでみましょう。まず、パソコンを起動し、Arduino IDEを開始してください。Arduino側とパソコン側ではコネクタの形状が異なるので間違えて挿してしまうことはありませんが、端子の形状を確認しつつ、つないでみてください。
すると、正しく接続していれば、ボード上に実装されている緑のLEDが点灯、オレンジのLEDが点滅すると思います。もしLEDが点灯・点滅しないようであれば、USBケーブルの接続を確認してみてください。またマイコン自体がうまく挿さっていない場合もある様なので、マイコンが浮いているようであれば少し指で押してみると良いです。マイコンは下の写真のように、ボードの端にある一番大きいICのことです。
もし一通り確認してみて、それでも動かない場合は、購入先へ不良品みたいだと問い合わせてみてください。
LEDとは
LEDは、発光ダイオード(Light Emitting Diode)の事で、電圧を印可して、電流を流すことで光を出します。
電源供給について
今回の接続ではUSBケーブルより5Vの電源を供給し、それを使ってArduinoが動いています。パソコンを切ってしますと電源の供給がされないのでボードは動きません。スマホ充電用のUSB電源があれば、それから5V電源を供給することも可能です。プログラムの書き換えはできませんが、書きこみ済みのプログラムでArduinoを動作させることができます。ただし最初はパソコンからつなげる方がいいと思います。
ちなみに、スマホ充電用電源というのはこんなやつです。
Arduino Unoの情報を読み出す
Arduino Unoと正しく接続できているか確認してみましょう。正しく接続できていると、下記の画像のように、ツール->ボード->Arduino/Genuino Uno に「●」が付いています。もし、「●」がArduino Unoについていない場合は、選択して変更してください。
次にシリアルポートにArduino Unoが接続されているか確認してください。確認方法は、ツール->シリアルポート->COMx(Arduino/Genuino Uno)にチェックが付いていればOKです。ちなみにCOMxについている数字はパソコンごとに変わるので、(Arduino/Genuino Uno)が認識されているかどうかが重要です。もしここに(Arduino/Genuino Uno)が表示されていない場合は、うまく接続できていない可能性が高いです。USBケーブルが正しく接続されているか確認してみてください。
LEDの点滅スピードを変えよう
Blinkプログラム
緑のLEDは、USBケーブルから正しく5Vが印可(供給)されていると光ります。そして、オレンジのLEDは事前に書き込まれているプログラムによりマイコンが点滅(Blink)させています。
書き込まれているプログラムは、Arduino IDEから開くことができます。下記の様に、
ファイル->スケッチ例->01.Basics->Blink を選んでください。プログラムのコード(記述内容)が開きます。
編集するので”MyBlink”と名前を付けて保存しておいてください。
プログラムのコメント
プログラムのコードを見てください。下の画像で赤枠の” /* */ “で囲まれて少し文字が薄くなっている部分は、コメントでプログラムの内容を説明しています。コメントはプログラムとしては意味がなく、ただのメモ書きです。”//”もコメントの記述で1行だけコメントにすることができます。
つまり赤枠の下の部分はコメントで、青い枠の部分がプログラムとして機能する重要な部分です。
Blinkプログラムの動作
いよいよプログラムを変えて点滅スピードを変更します。点滅スピードを決めているのは一番下の部分です。コメントを日本語にして下にコードを示しますので、参考にしてください。ここの”delay(1000)”は、ディレイと読み、待ち時間(遅延量)の設定です。ここでは1000ミリ秒、つまり1秒待っています。
つまりこのプログラムは” LEDを点ける -> 1秒待つ -> LEDを消す -> 1秒待つ”をずっと繰り返す動作をします。
// ずっと繰り返す void loop() { digitalWrite(LED_BUILTIN, HIGH); // LEDを点ける delay(1000); // 1秒待つ digitalWrite(LED_BUILTIN, LOW); // LEDを消す delay(1000); // 1秒待つ }
点滅スピードの変更
それでは、点滅スピードを倍にしてみましょう。スピードを倍にするには待ち時間を半分に短くすれば良いです。delayの数字を1000を500に変えてください。なお、半角と全角は区別されるので、入力する文字・数字は半角で入力してください。もし入力を間違えた場合は、(ctrlキー+z)を同時に押すと、ひとつ前の状態に戻るのでやってみてください。編集方法が全く分からない方は「キーボードを使えなくても、Arduinoのプログラムを編集してみよう」を見てみてください。
// ずっと繰り返す void loop() { digitalWrite(LED_BUILTIN, HIGH); // LEDを点ける delay(500); // 0.5秒待つ digitalWrite(LED_BUILTIN, LOW); // LEDを消す delay(500); // 0.5秒待つ }
変更が終わったらコンパイルして、マイコンへプログラムを書き込み(転送)します。まずはArduino UNOがパソコンに正しく接続されて、LEDが点滅していることを確認してください。確認出来たら、左上にある横矢印をクリックしてください。コンパイルとArduino UNOのマイコンへの書き込みをしてくれます。しばらく待つと、点滅スピードが変わると思います。数値を変えるのは問題ありませんが、点滅スピードをあまり早くし過ぎるのはマイコンに負担がかかる可能性があるので、注意してください。遅くしてみたりもしてみてください。
エラー発生時のデバック方法
コンパイルなどにエラーが発生すると、Arduino IDEの下のウィンドウにエラーメッセージが出ます。コードとメッセージウィンドウの境のバーは、マウスのドラッグで移動できるので必要に応じて変更して下さい。
エラーメッセージが下記の様に表示された場合は、36行目の付近のコードに原因があります。36行目だけでなく、その少し前も必要に応じて確認してください。間違いを見つけたら、修正して再度コンパイルしてみてください。Arduino IDEに行番号を表示させた方がデバックしやすいです。こちらの「Arduino IDEに行番号を表示方法と環境設定について」を参考にしてみてください。
MyBlink:36: error: stray '\357' in program
まとめ
無事点滅スピードの変更はできましたか。今回は詳しい説明は省きましたが、Ardionoとパソコンの接続方法と、プログラムのコンパイルと書き込みの方法は重要です。他にも今後必要になる項目あるので、項目を挙げておきますので忘れないでください。
- Arduino UNOとパソコンはUSBケーブルで接続する
- コンパイル&書き込みはArduino IDEの右矢印をクリックする
- 編集を間違えたら、(ctrlキー+z)を同時に押すと、ひとつ前の状態に戻る
- ” /* */ “で囲まれている部分、”//”以降の行はコメントなので、プログラムとしては動作しない。
コメント