記事

I2CインターフェースLCDモジュール用のライブラリを作る (1) ライブラリの構成

ライブラリの作り方
 ライブラリの作り方は、Arduinoの公式ホームページにも説明があります。Arduinoのホームページ(https://www.arduino.cc/)のメニューバー、

  LEARNING > TUTORIALS


を選択すると、次に示すようにTutorialsのウィンドウになります

 

 Tutorials on Arduino Project Hubには、Arduinoを用いたユニークで面白い作品が数多く紹介されています。
 Built-in Exampleには Arduino IDEに組み込まれているサンプルの使用方法が説明されています。
 Examples from Librariesには、Arduino IDEに組み込まれているライブラリの使用例が示されています。

 Foundations and moreでは、マイクロコントローラ、ソフトウェアなどについて基礎的な説明があります。
 Hacking ここにライブラリの作り方が、ディジタル・ポート13に接続されたLEDを、モールス信号のSOSで点滅させる例で説明されています。

 

 ここで示されているサンプル・ライブラリは、Arduinoのボード上のLEDを点滅してモールス信号を表示するためのものです。ここで説明されているライブラリのヘッダ・ファイルは次のようになります。

ヘッダ・ファイル  Morse.h

/*
Morse.h - Library for flashing Morse code.
Created by David A. Mellis, November 2, 2007.
Released into the public domain.
*/
#ifndef Morse_h
#define Morse_h
#include "Arduino.h"
class Morse
{
public:
Morse(int pin);
void dot();
void dash();
private:
int _pin;
};
#endif


 関数、変数などのグローバル(Public)の設定でこのライブラリ外からもアクセスできるように設定するか、ライブラリ内からのアクセスしか許さないローカル(private)設定なのか、このヘッダ・ファイル内で設定しています。
 cppファイルは、具体的な処理手順のプログラムが記述されている関数などをまとめています。サンプルのcppファイルは次のようになります。Morse::Morse(int pin)はMorseのオブジェクトを実体化するためのコンストラクタでプログラムの初めのほうで設定します。この例では、

 Morse morse(13)


と記述し、クラスMorseでモールス信号作成のオブジェクトmorseを作成し、ディジタル・ポート13を使用することを設定します。

cppファイル

/*
Morse.cpp - Library for flashing Morse code.
Created by David A. Mellis, November 2, 2007.
Released into the public domain.
*/
#include "Arduino.h"
#include "Morse.h"

Morse::Morse(int pin)
{
pinMode(pin, OUTPUT);
_pin = pin;
}

void Morse::dot()
{
digitalWrite(_pin, HIGH);
delay(250);
digitalWrite(_pin, LOW);
delay(250);
}

void Morse::dash()
{
digitalWrite(_pin, HIGH);
delay(1000);
digitalWrite(_pin, LOW);
delay(250);
}


 関数dot()は、点灯時間250ms、関数dash()は1000msの点灯時間の手順となります。
 これらのソース・プログラムは次のページのGet Codeをクリックし、テキスト画面となるのでコード全体をコピーしメモ帳に貼り付け、morseのフォルダに保存します。

 

 morse.cppのソース・プログラムも同様にmorseのフォルダに保存します。

 

 今回コピーして用意したライブラリのソース・プログラムは、次に示すように保存しました。

このライブラリを利用できるようにする
 このライブラリを利用できるようにするには、次のような手順で行いました。次に示すように、Arduino IDEのメニューバーの、

  スケッチ>ライブラリのインクルード>ZIP形式のライブラリをインストール…


を選択します。

 

 ZIP形式のライブラリをインストール…を選択すると、インストールするソースを指定する次のウィンドウが表示されます。
 この指定は、ソース・ファイルが含まれたzipファイルまたはフォルダを指定します。
 ソース・ファイルはフォルダmorseに格納されているので、次に示すようにmorseを指定します。

 

 フォルダを指定して開く をクリックするとライブラリがインストールされ、次に示すように、

  スケッチ>ライブラリのインクルード


で表示される利用できるライブラリのリストの最後にmorseが表示されています。その上に表示されているi2clcdは、i2cインターフェースのLCDのライブラリのテスト中のものです。

 

 インストールされたライブラリは次に示すように、
   ドキュメント¥Arduino\librariesのフォルダの下にmorseのフォルダが作られ、その中にインストールされています。

 Morseのサンプルとして用意されたプログラムを動かしてみました。Morse morse(13)でSOSを繰り返し発信しています。

 シンプルなArduinoライブラリの作り方を確認しました。次回からこの手順に従いi2cインターフェースのLCDのライブラリの作成を行います。

(2017/9/16 V1.0)

<神崎康宏>

Arduino I2CインターフェースLCDモジュール用のライブラリを作る

(1) ライブラリの構成

(2) 基本形を作成

(3) ライブラリ化(2)

(4) ライブラリ化(3)

(5) ライブラリ化(4)

(6) 機能の動作確認

(7) ライブラリ完成