しなぷすのハード製作記

122X32モノクログラフィックLCDシールドサポートページ(4)

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ
122X32モノクログラフィックLCDシールド 商品名 122X32モノクログラフィックLCDシールド
税抜き小売価格 3333円
販売店 スイッチサイエンス 妙楽堂
2015年06月09日 元々1ページだったサポートページを7ページに分割。
2016年01月13日 7ページ構成から8ページ構成に変更。

9.ハードウェアシリアルを用いて"Hello, world!"と表示する

注:Arduino Pro 328 5V 16MHzをお使いの方は、ハードウェアシリアルを使えませんから、次の章にお進みください。

次に示すスケッチで、ハードウェアシリアルを用いて画面に"Hello, world!"と表示できます。

#include <mglcd.h> // この行はMGLCDライブラリを呼び出すために必要

mglcd_serial MGLCD(&Serial,500000); // Leonardoユーザーは&Serialを&Serial1に書き換える必要あり

void setup()
{
  while(MGLCD.Reset()); // LCDの初期化が終わるまで待つ
  MGLCD.print("Hello, world!");
}

void loop()
{
}

最初の#include <mglcd.h>は、MGLCDライブラリを使う場合に必ず書かなければならない行です。グラフィックLCDシールドもMDLCDライブラリを使いますから、この行をスケッチの最初に書いてください。

次のmglcd_serial MGLCD(&Serial,500000);は、ハードウェアシリアルを使う場合に必要になる行です。Arduino Leonardoをお使いの方は、&Serialを&Serial1に書き換えてください。Arduino Leonardo以外のArduinoでは、0番と1番のピンに割当てられているハードウェアシリアルの変数名がSerialであるのに対して、Arduino LeonardoではSerial1となっているからです。(Arduino LeonardoではSerialはパソコンとの通信に使う) もしArduino Leonardoでも、それ以外のArduinoでも動作するようにスケッチを書きたければ、次の様にしてください。

#ifdef USBCON // Leonardo
mglcd_serial MGLCD(&Serial1,500000);
#else // Not Leonardo
mglcd_serial MGLCD(&Serial,500000);
#endif

こうすることで、Arduino Leonardoの場合はmglcd_serial MGLCD(&Serial1,500000);が、他のArduinoの場合はmglcd_serial MGLCD(&Serial,500000);がコンパイルに使われます。

&Serealの後の500000という数字はシリアル通信の速度を表わしています。この場合は500000bps(500kbps)ですが、使用できる通信速度は、300bps、600bps、1200bps、2400bps、4800bps、9600bps、14400bps、19200bps、28800bps、38400bps、57600bps、115200bps、250000bps、そして500000bpsです。

mglcd_serial型の変数(この場合はMGLCD)を宣言する事で、その変数を用いてLCDにアクセス(表示や情報取得など)をします。

while(MGLCD.Reset());は、LCDの初期化をし、その初期化が終わるのを待つために必要です。他のMGLCDライブラリの関数を呼び出す前に実行してください。

MGLCD.print("Hello, World!");でHello, World!の文字列をLCD画面に表示します。

それでは、このスケッチを実際に実行しましょう。次の手順に従って実行してください。

【手順1】 Arduino IDEを起動し、先ほどのスケッチを入力する。
図17、Hello worldスケッチを入力
図17、Hello worldスケッチを入力
【手順2】 Arduino Leonardoを使う場合はグラフィックLCDシールドのSW5をINT側に切り替える。他のArduinoの場合はSW5をEXT側に切り替える。
写真10(再掲)、Arduino Leonardoの場合
↑ 画像をクリックすると拡大
写真10(再掲)、Arduino Leonardoの場合
SW5をINT側に切り替える
写真6(再掲)、Arduino Leonardo以外の場合 SW5をEXT側に切り替える
↑ 画像をクリックすると拡大
写真6(再掲)、Arduino Leonardo以外の場合
SW5をEXT側に切り替える
【手順3】 ArduinoにグラフィックLCDシールドを装着し、USBケーブルでArduinoとパソコンを接続する
写真7(再掲)、ArduinoにグラフィックLCDシールドを装着し、USBケーブルでArduinoとパソコンを接続する
↑ 画像をクリックすると拡大
写真7(再掲)、ArduinoにグラフィックLCDシールドを装着し、USBケーブルでArduinoとパソコンを接続する
【手順4】 ツール→マイコンボードメニューから、使用するArduinoを選択する
図18、Arduinoの種類の選択
図18、Arduinoの種類の選択

注:上の例ではArduino Unoを選択していますが、ご自分のお使いのArduinoに合わせて選択してください

【手順5】 ツール→シリアルポートメニューから、使用するArduinoに割当てられているシリアルポートのCOM番号を選択する
図19、シリアルポートの選択
図19、シリアルポートの選択

注:上の例ではCOM15を選択していますが、ご自分の環境に応じたCOM番号を選択してください

【手順6】 スケッチをArduinoに書き込む

右矢印ボタンをクリックして、スケッチをArduinoに書き込みます。

図20、スケッチを書き込む
図20、スケッチを書き込む

しばらくすると、次の様なメッセージが出て、スケッチの書き込みが終了します。

図21、書き込み終了時のメッセージ
図21、書き込み終了時のメッセージ
【手順7】 Arduino Leonardo以外のArduinoを使っている場合は、グラフィックLCDシールドのSW5をINT側に切り替える

以上の手順でスケッチを実行すると、次の様に画面にHello, world!が表示されるはずです。

写真16、スケッチの実行結果
写真16、スケッチの実行結果

スケッチを書き換えて、再び実行する時は、Arduino Leonardoを使っている場合、単に右矢印のアイコンをクリックしてスケッチを書き込む(手順6を実行する)だけでOKです。

Arduino Leonardo以外のArduinoをお使いの場合は、SW5をEXT側に切り替えた後にスケッチを書き込み、SW5をINT側に戻すという操作が必要になります。Arduino Leonardo以外のArduinoの場合、一つのUSARTをシールドとのシリアル通信と、パソコンとのシリアル通信に共用しています。そのため、パソコンからスケッチを書き込む場合、シールドをつないだままでは混線してしまい、うまくスケッチがうまく書き込めません。ハードウェアシリアルを使うシールドを利用する時は、スケッチの書き込み時には一旦シールドを取り外すというのが原則なのですが、グラフィックLCDシールドの場合は、SW5をEXT側に切り替えるだけで、Arduinoとは電気的に切り離されます。

次のページでは、ソフトウェアシリアルでグラフィックLCDシールドを使う方法を説明します。

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ

関連ページ

関連製品

128×64モノクログラフィックLCDシールド 商品名 128×64モノクログラフィックLCDシールド
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ
GLCD学習シールドキット 商品名 GLCD学習シールドキット
税抜き小売価格 1410円
販売店 スイッチサイエンス 妙楽堂 三月兎
サポートページ
S12232ZA 商品名 S12232ZA
税抜き小売価格 400円
販売店 スイッチサイエンス
サポートページ
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
サイトマッププライバシーポリシーお問い合わせ用語集
しなぷすのハード製作記