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以外の場合
↑ 画像をクリックすると拡大
写真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シールド
税抜き小売価格 3600円
販売店 スイッチサイエンス
サポートページ
GLCD学習シールドキット 商品名 GLCD学習シールドキット
税抜き小売価格 1410円
販売店 スイッチサイエンス
サポートページ
S12232ZA 商品名 S12232ZA
税抜き小売価格 400円
販売店 スイッチサイエンス
サポートページ
PCBgogoのバナー
Arduino 電子工作
このサイトの記事が本になりました
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
電子工作で学ぶ論理回路入門
このサイトの中の人が書いた本です。
ISBN:978-4-7775-2280-4
工学社の書籍の内容の紹介ページ
この本の紹介記事
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。