はじめての電子工作入門 第1回 シリアルモニターを利用する

シリアルモニターをみている男の子のイラスト Arduino
シリアルモニターをみている男の子のイラスト

※本ページはプロモーションが含まれています。

Arduino IDEのシリアルモニターは、Arduinoボードとコンピュータ間でデータを送受信するための便利なツールです。以下に、シリアルモニターの使い方を説明します。

はじめての電子工作入門 第1回 シリアルモニターを利用する

シリアルモニターとは

シリアルモニターは、Arduino IDEに組み込まれたテキストベースのディスプレイです。これにより、Arduinoボードとコンピュータ間でデータを送受信することができます。シリアルモニターは、以下のような特徴を持っています:

  • テキスト表示:シリアルモニターは、Arduinoボードから送信されたテキストデータを表示します。例えば、センサーの読み取り値やデバッグメッセージなどが表示されます。
  • 入力フィールド:シリアルモニターには、コンピュータからArduinoボードにデータを送信するための入力フィールドがあります。これにより、コマンドやデータを手動で送信できます。
  • ボーレート設定:シリアルモニターの右下にあるドロップダウンメニューから、通信速度(ボーレート)を設定できます。Arduinoスケッチで設定したボーレートと一致させる必要があります。
  • 自動スクロール:新しいデータが表示されるときに、自動的にスクロールして最新のデータを表示する機能があります。

シリアルモニターは、Arduinoプロジェクトのデバッグやリアルタイムのデータ確認に非常に便利なツールです。

別途、ディスプレイを用意する必要はないのですか?

いいえ、別途ディスプレイを用意する必要はありません。シリアルモニターは、Arduino IDEに組み込まれたツールで、コンピュータの画面上に表示されます。これにより、Arduinoボードとコンピュータ間でデータを送受信し、リアルタイムでデータを確認したり、デバッグを行ったりすることができます。

シリアルモニターを使用するためには、ArduinoボードをUSBケーブルでコンピュータに接続し、Arduino IDEを起動してシリアルモニターを開くだけで十分です。特別なハードウェアやディスプレイを追加で用意する必要はありません。

シリアルモニターの使い方

  1. Arduinoボードを接続
    USBケーブルを使ってArduinoボードをコンピュータに接続します。
  2. Arduino IDEを起動
    Arduino IDEを起動し、適切なボードとポートを選択します。
  3. シリアル通信の設定
    Arduinoスケッチにシリアル通信の初期化コードを追加します。例えば、以下のようにsetup()関数内でSerial.begin(9600);を使用します。
  4. スケッチをアップロード
    スケッチをArduinoボードにアップロードします。アップロードが完了したら、シリアルモニターを開きます。
  5. シリアルモニターを開く
    Arduino IDEの右上にある虫眼鏡アイコンをクリックするか、メニューから「ツール」→「シリアルモニター」を選択します。
  6. データの確認
    シリアルモニターが開くと、Arduinoボードから送信されたデータが表示されます。上記の例では、「Hello, world!」というメッセージが1秒ごとに表示されます。

コマンドの説明

  1. void setup()
    • Arduinoボードが起動したときに一度だけ実行される関数です。ここで初期設定を行います。
  2. Serial.begin(9600)
    • シリアル通信を開始します。9600はボーレート(通信速度)を示しており、1秒間に9600ビットのデータを送受信します。
  3. void loop()
    • Arduinoボードが起動している間、繰り返し実行される関数です。ここにメインのプログラムコードを記述します。
  4. Serial.println("Hello, world!")
    • シリアルモニターに文字列「Hello, world!」を送信します。printlnは、送信後に改行を追加します。
  5. delay(1000)
    • 指定した時間(ミリ秒単位)だけプログラムの実行を一時停止します。この場合、1000ミリ秒(1秒)間待機します。

シリアルモニターに文字や数字を表示する方法

シリアルモニターに文字や数字を表示する方法をいくつか紹介します。以下の例では、Arduinoボードからシリアルモニターにデータを送信する方法を説明します。

基本的な文字列の表示

このコードは、シリアルモニターに「Hello, world!」という文字列を1秒ごとに表示します。

数字の表示

このコードは、シリアルモニターに数字「42」を1秒ごとに表示します。

変数の表示

このコードは、センサーの値を読み取り、その値をシリアルモニターに表示します。

複数のデータを表示

このコードは、センサーの値とそれに対応する電圧をシリアルモニターに表示します。

これらの方法を使って、シリアルモニターにさまざまなデータを表示することができます。

みんなお馴染みの”Hello, world!”について

“Hello, world!”は、プログラミングの世界で非常に有名なフレーズです。これは、初心者が最初に学ぶプログラムとして広く使われています。以下の理由で多くの場所で見かけることができます:

理由
  1. シンプルさ
    “Hello, world!”プログラムは非常にシンプルで、基本的な構文や機能を学ぶのに最適です。どのプログラミング言語でも、数行のコードで実行できます。
  2. 基本的な概念の紹介
    このプログラムは、プログラミングの基本的な概念(例えば、出力やコンソールへの書き込み)を紹介するために使われます。初心者がプログラムの動作を理解するのに役立ちます。
  3. 歴史的な背景
    “Hello, world!”プログラムは、1970年代にBrian Kernighanが書いたCプログラミング言語のチュートリアルで初めて登場しました。それ以来、プログラミング教育の定番となっています。
  4. 普遍性
    ほぼすべてのプログラミング言語で同じように書けるため、言語間の比較や学習の一貫性を保つのに役立ちます。
例:さまざまな言語での”Hello, world!”プログラム
  • C言語
  • Python
  • JavaScript

このように、”Hello, world!”はプログラミングの基本を学ぶための最初のステップとして、多くの教材やチュートリアルで使われています。

シリアルモニターの設定

  • ボーレートの設定
  • シリアルモニターの右下にあるドロップダウンメニューから、Arduinoスケッチで設定したボーレート(例:9600)を選択します。
  • 自動スクロール
  • シリアルモニターの右上にある「自動スクロール」チェックボックスをオンにすると、新しいデータが自動的に表示されます。
  • 改行設定
  • シリアルモニターの入力フィールドの右側にあるドロップダウンメニューから、送信するデータの末尾に追加する改行コード(例:改行のみ、キャリッジリターンと改行など)を選択できます。

シリアルモニターを使うことで、Arduinoボードとコンピュータ間でデータをやり取りし、デバッグやデータの確認が簡単に行えます。

なぜシリアルモニターでは、9600ボーレートがよく使われるのか?

「9600」という数値は、シリアル通信のボーレート(baud rate)を示しています。ボーレートは、1秒間に送受信されるビット数を表します。つまり、9600ボーレートの場合、1秒間に9600ビットのデータが送受信されることを意味します。

  1. 標準的な速度:9600ボーレートは、シリアル通信の標準的な速度として広く採用されています。多くのデバイスやシステムがこの速度に対応しているため、互換性が高いです。
  2. 安定性:9600ボーレートは、信頼性が高く、エラーが少ない速度です。高速すぎるボーレートでは、ノイズや信号の劣化によるエラーが発生しやすくなりますが、9600ボーレートはそのバランスが良いです。
  3. 歴史的な理由:古くから使われている速度であり、レガシーシステムとの互換性を保つためにもよく使われます。

もちろん、プロジェクトやデバイスの要件に応じて、他のボーレート(例えば、4800、19200、115200など)を使用することも可能です。ただし、Arduinoとシリアルモニターの両方で同じボーレートを設定する必要があります。

用途に適したボーレート例をまとめてみました

ボーレートは、シリアル通信の速度を示すもので、用途やデバイスによって適した値が異なります。以下に、いくつかの用途に適したボーレートの例を示します:

一般的なボーレートの例

  1. 9600ボーレート
    • 用途:基本的なシリアル通信、Arduinoの標準設定
    • 理由:信頼性が高く、エラーが少ないため、初心者向けのプロジェクトや基本的なデータ通信に適しています。
  2. 19200ボーレート
    • 用途:中程度のデータ通信速度が必要なプロジェクト
    • 理由:9600ボーレートよりも高速で、まだ信頼性が高い速度です。
  3. 38400ボーレート
    • 用途:より高速なデータ通信が必要なプロジェクト
    • 理由:データの転送速度が速く、リアルタイムのデータ処理が必要な場合に適しています。
  4. 115200ボーレート
    • 用途:高データレートが必要なプロジェクト、リアルタイムのセンサーデータの収集
    • 理由:非常に高速なデータ通信が可能で、リアルタイムのデータ処理や大量のデータ転送に適しています。

特定の用途に適したボーレートの例

  1. GPSモジュール
    • ボーレート:4800または9600
    • 理由:GPSデータの更新頻度がそれほど高くないため、低速でも十分です。
  2. Bluetoothモジュール
    • ボーレート:9600、19200、38400
    • 理由:Bluetooth通信では、安定性と速度のバランスが重要です。多くのBluetoothモジュールはこれらのボーレートをサポートしています。
  3. センサーデータの収集
    • ボーレート:9600、115200
    • 理由:センサーの種類やデータの更新頻度によって異なりますが、リアルタイムのデータ収集には高速なボーレートが必要です。
  4. デバッグとログ出力
    • ボーレート:9600、115200
    • 理由:デバッグ情報やログの出力には、信頼性と速度のバランスが重要です。115200ボーレートは、詳細なデバッグ情報を迅速に取得するのに適しています。

これらの例を参考にして、プロジェクトやデバイスに適したボーレートを選んでください。

復習 はじめての電子工作入門 シリアルモニターを利用する

シリアルモニターはArduino IDEに組み込まれたツールで、コンピュータの画面上に表示されます。Arduinoボードとコンピュータ間でデータを送受信し、リアルタイムで確認やデバッグが可能です。使用には、ArduinoボードをUSBケーブルで接続し、Arduino IDEを起動してシリアルモニターを開くだけで十分です。特別なハードウェアやディスプレイは不要です。

タイトルとURLをコピーしました