電気エネルギーの流れと設計 2026.01.14

Arduino IDE

Back to index page


  1. 本日の内容
  2. Arduino IDE のインストール
  3. Arduino の公式サイトからページの指示に従ってダウンロードします.

    新しく起動すると下図のような画面が出てきます.

  4. Arduino の基本

    Arduino は2005年にイタリアで登場したワンボードマイコンで,安価で操作性が良いことなどから数年で世界中に広がりました.今回は2種類のセンサを使用して測定を行い,それをパソコンに取り込むことを行います.

    1. 端子構成
    2. Arduino にはいくつか種類がありますが,今回は最も一般的な Arduino UNO を使用します.以下の図のような入出力構成となっています.

      A0 から A5 まではアナログ入出力で,D0 から D13 がデジタル入出力です.今回はその両方とも使用します.

    3. 使用するセンサー
    4. 今回行うことは室温と質量の同時計測です.室温の方はCMOS温度センサー(トランジスタ)をアナログ入力で,質量の方はデジタルロードセル(重量センサー)をデジタル入出力で使用します.

    5. HX711.h モジュールのインストール
    6. ロードセルはデジタル入出力ポートを使用しますが,それに付属している HX711 というA/D変換器を制御する必要がありますので,そのためのモジュールを Arduino IDE に組み込む必要があります.「スケッチ」メニューから「ライブラリをインクルード」を選択し,「ライブラリの管理」に進みます.

      表示されたライブラリのリストをスクロールして HX711 が見つかったらインストールします.

    7. 温度センサの較正
    8. 使用する温度センサの S-8100B というトランジスタは添付の書類にあるように,以下の温度と電圧の関係が分かっています.

      温度(℃)出力電圧(V)
      -201.908
      301.508
      801.095

      上の値をグラフににして近似式を求めると,以下のように数式が求められるので,これをArduino IDE の中に記述することになります.次回の作業で実際に行います.

  5. 予備実験
    1. Arduino と HX711 の接続
    2. Web 上の以下の情報を参考にA/D変換器の HX711 と Arduino を接続します.

    3. HX711 制御用 IDE プログラム
    4. HX711は Arduino IDE でライブラリを読み込むことで必要な機能を使用できます.今回は以下のプログラムでまずは質量計測ができるようにしてみましょう.

      #include "HX711.h"
      
      const int DT_PIN = 2;
      const int SCK_PIN = 3;
      
      HX711 scale;
      
      void setup() {
        // put your setup code here, to run once:
        Serial.begin(9600);
        Serial.println("start");
        scale.begin(DT_PIN, SCK_PIN);
      
        Serial.print("read:");
        Serial.println(scale.read());
      
        scale.set_scale();
        scale.tare();
      
        Serial.print("calibrating ... ");
        delay(5000);
        Serial.println(scale.get_units(10));
      
        scale.set_scale(375.00);
        scale.tare();
      
        Serial.print("read (calibrated): ");
        Serial.println(scale.get_units(10));
      
      }
      
      void loop() {
        // put your main code here, to run repeatedly:
        Serial.println(scale.get_units(10) * 100 / 103.5, 1);
      
        scale.power_down();
        delay(500);
        scale.power_up();
      }
      

      ソースの中によく出てくる print と println ですが,出力後に改行しないのが print で,改行するのが println です.

    5. 質量測定テスト
    6. 上のソースを適当な名前で保存したら実際に動作せてみましょう.


Back to index page