これは、一連のチュートリアルの3番目のチュートリアルであり、EnergiaIDEを使用してMSP430G2LaunchPadをプログラムする方法を学習しています。前のチュートリアルでは、MSPボードのデジタル入力ピンとデジタル出力ピンを制御する方法を学びました。このチュートリアルでは、有用な情報を表示できるようにLCDをボードに接続する方法を学習します。
このプロジェクトで使用しているLCDは、最も一般的に使用されている16×2ドットマトリックスLCDディスプレイ、別名英数字ディスプレイです。私たちのほとんどは、公共のPCOまたは他の電子機器プロジェクトのいずれかを通じてこれに遭遇したでしょう。このような表示は、データやその他のデバッグ情報を表示するための今後のチュートリアルに非常に役立ちます。利用可能なライブラリのおかげで、このLCDとMSP430のインターフェースは非常に簡単です。さあ、飛び込みましょう!
必要な材料:
- TexasInstrumentsのMSP430G2LaunchPad
- 16×2ドットマトリックスLCDディスプレイ
- 接続線
- Energia IDE
16×2ドットマトリックスLCDディスプレイの簡単な紹介:
先に述べたように、Energia IDEは、インターフェイスを簡単にする美しいライブラリを提供するため、ディスプレイモジュールについて何も知る必要はありません。しかし、私たちが何を使っているかを示すのは面白くなかったでしょう!
16×2という名前は、ディスプレイに16列と2行があり、これらを合わせて(16 * 2)32ボックスを形成することを意味します。下の写真では、1つのボックスは次のようになります。
1つのボックスには40ピクセル(ドット)があり、マトリックスの順序は5行8列で、これらの40ピクセルが一緒になって1つの文字を形成します。同様に、すべてのボックスを使用して32文字を表示できます。次に、ピン配置を見てみましょう。
LCDには、上記のように合計16個のピンがあり、次のように4つのグループに分類できます。
ソースピン(1、2、および3): これらのピンは、ディスプレイの電力およびコントラストレベルを供給します。
制御ピン(4、5、および6):これらのピンは、LCDインターフェイスICのレジスタを設定/制御します(詳細については、以下のリンクを参照してください)。
データ/コマンドピン(7〜14):これらのピンは、LCDに表示する情報のデータを提供します。
LEDピン(15および16):これらのピンは、必要に応じてLCDのバックライトを点灯させるために使用されます(オプション)。
これらすべての16ピンのうち、これらのLCDディスプレイについて詳しく知りたい場合は、LCDの適切な動作に必須の10ピンのみを使用してください。このLCDの記事にジャンプしてください。
回路図と接続:
16×2ドットマトリックスLCDディスプレイをMSP430G2とインターフェースするための完全な回路図を以下に示します。
これら2つをインターフェースする際の1つの主要な制約は、それらの動作電圧です。LCDディスプレイの動作電圧は+ 5Vですが、MSPは3.6Vでのみ動作します。私たちにとって幸運なことに、LCDインターフェースIC(HD44780U)のデータピンは2.7Vから5.5Vの広い動作電圧を持っています。したがって、LCDのVdd(ピン2)についてのみ心配する必要がありますが、データピンは3.6Vでも機能します。
MSP430G2ボードは、デフォルトでは+ 5Vピンを提供しませんが、USBポートを使用してMSP430から+ 5Vを取得するための小さなハックを行うことができます。USBポートの近くをよく見ると、TP1という端末があります。この端末は+ 5vを提供します。以下に示すように、小さなオスのヘッダーピンをはんだ付けして、LCDディスプレイに接続できるようにするだけです。
注:50mAを超える負荷をこの5Vピンに接続しないでください。USBポートが破損する可能性があります。
はんだ付けに興味がない場合は、+ 5V安定化電源を使用してLCDに電力を供給します。その場合は、電源のアースをMSPボードのアースに接続してください。
+ 5Vピンの接続が完了したら、他のピンの接続は非常に簡単です。ハードウェアの準備ができたので、ソフトウェアの部分に移りましょう。
Energiaを使用したLCD用MSP430のプログラミング:
MSP430G2553をLCDディスプレイとインターフェースするための完全なプログラムは、このページの最後にあります。コードは、コンパイル、アップロード、およびそのまま使用できます。次の段落では、プログラムがどのように機能するかを説明します。
説明を進める前に、使用しているピンをメモしておく必要があります。上の回路図と下のMSP430ピン配置図を見てください。
次の表に従って、LCDを接続したと結論付けることができます。
LCDピン名 |
に接続されています |
対 |
接地 |
Vdd |
+ 5VUSBピン |
Rs |
MSPのピン2 |
R / W |
接地 |
有効にする |
MSPのピン3 |
D4 |
MSPのピン4 |
D5 |
MSPのピン5 |
D6 |
MSPのピン6 |
D7 |
MSPのピン7 |
これを念頭に置いて、プログラムで使用するLCDピンの定義を始めましょう。後で簡単に使用できるように、各ピンにわかりやすい名前を付けます。
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
これは単に、ピン2を呼び出す代わりに、6つのピンすべてについて同様に、以降RSと呼ぶことができることを意味します。
次のステップは、LCDライブラリを含めることです。このライブラリは、EnergiaIDEをインストールしたときに自動的にインストールされます。したがって、次の行を使用して追加するだけです
#include
次のステップは、LCDが接続されているピンについて言及することです。これは、すでに #define を使用して名前を付けているため、LCDピンの名前について簡単に言及できるようになりました。同じ順序に従っていることを確認してください。
LiquidCrystal lcd(RS、EN、D4、D5、D6、D7);
それでは、 void setup() 関数に移りましょう。LCDディスプレイにはサイズや性質が異なる種類がたくさんありますが、使用しているのは16 * 2なので、プログラムで指定しましょう。
lcd.begin(16、2);
LCDに何かを印刷するには、プログラムで2つのことを言及する必要があります。1つは、 lcd.setCursor() 行を使用して言及できるテキストの位置であり、もう1つは、 lcd.print() で言及できる印刷するコンテンツ です。 この行では、我々は、1にカーソルを設定番目の行と1番目のカラム。
lcd.setCursor(0,0);
同様に、
lcd.setCursor(0、1); //カーソルを1列目2行目に設定します
ホワイトボードに書き込んだ後に消去するのと同じように、何かが書き込まれたらLCDも消去する必要があります。これは、以下の行を使用して行うことができます
lcd.clear();
したがって、完全な void setup() 関数は次のようになります。
void setup(){lcd.begin(16、2); // 16 * 2 LCDディスプレイを使用していますlcd.setCursor(0,0); //カーソルを1行1列に置きますlcd.print( "MSP430G2553"); //紹介メッセージを表示しますlcd.setCursor(0、1); //カーソルを1列目2行目に設定しますlcd.print( "-CircuitDigest"); //イントロメッセージを表示しますdelay(2000); //情報が表示されるのを待ちますlcd.clear(); //次にそれをきれいにします}
次に、 void loop() 関数内で、500ミリ秒ごとに数値をインクリメントし続け、LCDに数値を表示しましょう。この番号はテストされ、以下に示すように1に初期化されます。
int test = 1;
遅延を作成するには、組み込み関数 delay()を 使用できます 。 遅延が発生するのにどれだけの時間が必要かについて言及する必要があります。私たちの場合、以下に示すように500msを使用しました
delay(500);
変数のインクリメントはtest ++で実行できますが、残りはすべてすでに説明されています。 voidループ 内の完全なコードを以下に示します
void loop(){lcd.print( "LCD with MSP"); //紹介メッセージを表示しますlcd.setCursor(0、1); //カーソルを列0、行1に設定しますlcd.print(test); //イントロメッセージを表示しますdelay(500); lcd.clear(); //次にそれをきれいにしますtest ++; }
MSP430G2を備えた16x2LCD:
ハードウェアとコードの準備ができたら、チュートリアル1で行ったように、ボードをコンピューターに接続してコードをアップロードするだけです。コードがアップロードされると、次のような画面が表示されます。
2秒後、表示画面がセットアップからループに変わり、変数の増分が開始され、次の図に示すように画面に表示されます。
完全な作業は、ビデオで見つけることができます以下。LCDに表示されているものを変更して、試してみてください。チュートリアルを理解し、それから何か役立つことを学んだことを願っています。疑問がある場合は、下のコメントセクションに残すか、フォーラムを使用してください。別のチュートリアルで会いましょう。