【入門】ArduinoIDEで簡単なプログラムを作り動かしてみよう!

ArduinoIDEでプログラムを動かそうプログラミング
ArduinoIDEでプログラムを動かそう
MatsuAki
MatsuAki

前回まではArduinoIDEの導入方法について解説をしました。今回はArduinoIDEを使ってArduinoを制御するプログラムの作り方を解説します。プログラムを作ることに抵抗感や難しさを覚える人がいますが意外と簡単です。

今回はプログラムに軽く触れてみて、プログラムの基本を解説したいと思います。

まずはArduinoIDEを使ってみよう

ArduinoIDEの画面の使い方

ArduinoIDEの画面の解説

ArduinoIDEを起動すると下のような画面が表示されます。簡単にArduinoIDEの画面の使い方を解説します。

①検証
作成したプログラムの構文間違いなどの誤りがないかチェックをします。誤りがあった場合は⑧メッセージ表示エリアに誤りの原因を表示します。

②マイコンボードへ書込み
作成したプログラムをArduinoへ転送します。

③新規ファイル
新しいプログラムを作成する場合に押下します。

④開く
既に保存済みのプログラムを読み込み表示します。

⑤保存
作成したプログラムを保存できます。

⑥シリアルモニタ
Arduinoからシリアル通信で送信された内容を表示します。

⑦プログラム作成・編集エリア
このエリアでプログラムを作成または編集を行います。

⑧メッセージ表示エリア
プログラムの検証した結果やArduinoへのプログラム転送結果などのメッセージを表示します。

ArduinoIDE準備作業

対象となるArduinoエディションを選択

ArduinoIDEを使う前に、事前に設定作業があります。ArduinoIDEにプログラムを書込む先のArduinoエディションを選択しておきます。
設定方法は「ツール」メニューから「ボード」をクリックして一覧から対象のArduinoのエディションを選択します。

MatsAki
MatsAki

今回、私が手元にあるArduinoのエディションはArduinoUNOなので以下の図はArduinoUNOを選択する場合の例です。

シリアルポートを選択

ArduinoIDEで作成したプログラムは、シリアル通信を利用してArduinoへプログラムを転送します。Arduinoへプログラムが転送できるとパソコンと接続しなくてもArduino単体で独立して動作します。
しかし、Arduino自体にはディスプレイなど備わっていませんので、Arduinoが正常に動作しているか確認するためにシリアル接続機能(USART)を利用することができます。
シリアル接続機能(USART)を利用することで、ArduinoIDEとパソコン間はUSBケーブルを介してシリアル接続できます。このシリアル接続を行うためには事前にArduinoIDE側でシリアルポートというものをあらかじめ設定する必要があります。

設定方法はまずArduinoとパソコンをUSBケーブルで接続しておくとわかりやすいです。
ArduinoIDEの「ツール」メニューから「ポート」をクリックして一覧からArduinoの記載があるポートを選択します。この時、一覧に表示されているポートは現在パソコンが認識しているポートが表示されるのであらかじめパソコンとArduinoを接続している状態のほうがわかりやすいと思います。

Arduino IDEでプログラムの作成

Arduinoについて簡単に解説

MatsAki
MatsAki

Arduinoにはいくつかのエディション(種類)があるけど、今回は主にArduinoUNOを使ってプログラムの解説を行っていくよ。そこでArduinoUNOの簡単な端末の解説をします。

①USBポート
USBケーブルを差し込んでパソコンと通信を行います。パソコンでArduinoIDEで作成したプログラムをArduinoへ転送したりArduinoとパソコン間でシリアル通信を行うこともできます。またArduinoへ給電をすることも可能です。

②リセットボタン
Arduinoを再起動するボタンです。プログラムを再度実行したい場合やArduinoの挙動(プログラムの動作)が異常の場合にボタンを押すことで抑止します。

③電源ジャック
ACアダプタを接続してArduinoへ電源を供給します。外形5.5mm、内径2.1mmのACアダプタに対応しています。

④LED
Arduinoの状態を表示するLEDです。画面右側の「ON」のLEDはArduinoに電源が供給されるとLEDが点灯します。パソコンとシリアル通信を行っている時は画面左側の「TX」(送信)と「RX」(受信)がそれぞれ点滅します。また「L」のLEDはデジタル入出力端子13番と接続されていて、13番のデジタル出力をHIGH(5V)にすることで点灯します。

⑤プロセッサ
プログラムの実行や各種ソケットの制御などを行う部品です。メモリやプログラムを保存する領域も含まれています。この部品は人間で例えると脳のような存在です。

⑥各種ソケット
デジタル信号の入出力、アナログ信号の入力や電源供給などを行うソケットです。これらのソケットと各種部品を接続することで電子回路制御などを行うことが可能となります。

ArduinoのLEDを光らせよう

MatsAki
MatsAki

では早速ArduinoIDEでプログラムを作成してArduinoを制御してみよう。先ほどの章で解説したArduinoの部品の説明で④LEDの「L」LEDを点灯させるプログラムを作成してみよう。

Arduinoにはデジタル入出力にあらかじめ接続されているLEDがあります。13番目のデジタル入出力ソケット出力するとLEDの点灯や消灯が制御できます。
では早速プログラムを作成してみましょう。

ArduinoIDEを起動して、プログラム作成・編集エリアに以下のようなプログラムを書いてみます。(最初なのでコピペでも全然OKです
※プログラムは必ず半角英数字で記述します。全角の記述があるとプログラムは正常に動作しません。

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
}

入力を終えたら検証ボタンをクリックして検証(コンパイル)行います。
メッセージ表示エリアに「コンパイルが完了しました。」と表示されれば記載したプログラムは問題が無いことになります。

もし、記述したプログラムに誤りがある場合は下の図のようにメッセージ表示エリアに誤りがあるエラーメッセージが表示されますので、プログラムの誤り箇所を修正して再び検証ボタンをクリックしましょう。

検証ボタンをクリックして検証(コンパイル)が無事成功したら、次にArduinoへプログラムを転送します。ArduinoとパソコンをUSBケーブルで接続して⇒矢印の書き込みボタンをクリックすると、プログラムがArduinoへ転送されます。転送が正常に終了した場合メッセージ表示エリアに「ボードへの書き込みが完了しました。」と表示されたら無事Arduinoへプログラムが転送され保存されたことになります。

さっそく、Arduino上のプログラムを動作させてみましょう。左上のリセットボタンを押すとプログラムが再始動します。

見事LEDが点灯しました!

Arduinoの情報をパソコンで表示させよう

MatsuAki
MatsuAki

では次にArduinoとパソコン間でシリアル通信を行うことで、センサーから取得した値を確認したり、正しくプログラムが動いているかをパソコンで確認できます。ArduinoIDEのシリアルモニタを使ってみよう。

シリアル通信でArduinoから文字列を転送するプログラムを作ってみましょう。
プログラムのサンプルは以下です。

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("test message!");

  delay(1000);
}

①シリアル通信を行うにはstep()関数でSerial.begin()を記述します。()括弧の中には通信速度を指定します。単位は「bps」でここでは9600を指定します。

②次に実際の処理roop()関数でArduinoからパソコンへシリアル通信で情報を送信するためにSerial.println()を記述します。()括弧の中には送信したい文字列を指定します。文字列は前後をダブルクォーテーションで括っておきます。

③roop()関数は繰り返し処理を続けるプログラムなので”test message!”が繰り返し送信し続けられます。ここでは処理を1秒(1000ミリ秒)遅らせています。言い換えますと”test message!”が1秒毎に送信されるイメージです。

それでは「検証」、「書き込み」ボタンをクリック後、「シリアルモニタ」ボタンをクリックしてみましょう。

Arduinoからシリアル通信でパソコンへ文字列が送信されていることがわかります。

MatsuAki
MatsuAki

ここまででパソコンで作成したプログラムをArduinoへ転送でき、LEDを点灯させるプログラムとArduinoからパソコンへ情報を転送する動きが確認できたと思います。

次にArduinoIDEを使ってプログラムを作成するにあたり、プログラムの基本的な構成や記述方法などを解説したいと思います。これらを学習することでArduinoIDEを使ったプログラムを自由につくることができると思います。

【まとめ】【入門】ArduinoIDEで簡単なプログラムを作り動かしてみよう!

まとめ

・Arduinoを動作させるためにはプログラムを作成し、プログラムの検証を行いArduinoへプログラムを書込む。その一連の流れはArduinoIDEを使うと簡単にできる

・ArduinoでLEDを点灯させることは意外と簡単

・Arduinoからパソコンへシリアル通信で情報を送信することも可能で、ArduinoIDEで簡単に確認できる!