- 必要な材料:
- シフトレジスタ:
- シフトレジスタを使用せずにLCDをESP12とインターフェイスさせる:
- コード:
- シフトレジスタSN74HC595Nを使用したESP12とのインターフェイスLCD:
- コード:
このチュートリアルでは、I2C通信を使用せずにNodeMCUを16x2LCDとインターフェースする方法を説明します。ここでは、シフトレジスタSN74HC595を使用して16x2LCDをインターフェイスします。シフトレジスタを使用しなくてもインターフェースできます。このチュートリアルでは、両方の種類のインターフェースについて説明します。両方のインターフェースの主な違いは、NodeMCUで使用されるピンの数です。
必要な材料:
- NodeMCU ESP12E
- SN74HC595シフトレジスタIC
- 16x2LCDモジュール
- ポテンショメータ
- オス-メスワイヤー
- ブレッドボード
シフトレジスタ:
デジタルシステムでは、 シフトレジスタ は、直列にカスケード接続され、同じクロックを共有するフリップフロップの組み合わせです。このカスケードパッケージでは、1つのフリップフロップからのデータ出力が次のフリップフロップのデータ入力として機能し、その結果、回路に格納されているビット配列が1つの位置だけシフトします。
使用するICはSN74HC595Nです。シンプルな8ビットシリアル入力パラレル出力シフトレジスタICです。簡単に言うと、このICを使用すると、データをパラレル形式とシリアル形式の間で変換することにより、マイクロコントローラーに追加の入力または出力を追加できます。当社のマイクロコントローラーは、このICの3ピンを使用してデータをシリアルに送信します。実際には、入力ピンから8ビット情報を取得した後、8ビット出力は8ピンになります。シフトレジスタの詳細については、こちらをご覧ください。
ICSN74HC595NのPIN図とPIN機能を以下に示します。
74HC595NとArduinoおよびRaspberrypiとのインターフェースはここにあります。
シフトレジスタを使用せずにLCDをESP12とインターフェイスさせる:
Arduinoボードで16x2LCDを使用したことがある場合は、非常に簡単です。Arduinoボードで行ったのと同じように、NodeMCUにピンを接続するだけです。
NodeMCUには16個のGPIOピンがあり、6個のピンとgnd、vccが必要です。以下の回路図に従ってピンを接続します。
次のように接続された4つのデータピンとLCDのRS、ENを使用します。
LCDのd7ピン== NodeMCUのD8ピン
LCDのd6ピン== NodeMCUのD7ピン
LCDのd5ピン== NodeMCUのD6ピン
LCDのd4ピン== NodeMCUのD5ピン
LCDのRSピン== NodeMCUのD2ピン
LCDのEnピン== NodeMCUのD3ピン
これらの接続には任意のGPIOを使用できます。
ここで、前に説明したように、ArduinoIDEを使用してコードをアップロードします。コードは、Liquidcrystalの例にあるArduinoボードの場合と同じです。プログラムについて詳しく知りたい場合は、プログラムはシンプルで簡単に理解できます。ArduinoプログラムとのLCDインターフェイスを確認してください。
コード:
#include
ご覧のとおり、NodeMCUの6ピンをすでに使用しています。この小さなボードで使用できるピンはすでに少なく、他のセンサーと接続するためのピンはほとんど残っていません。
したがって、この問題を克服するために、シフトレジスタICを使用します。NodeMCUで使用されるピンの数。
シフトレジスタSN74HC595Nを使用したESP12とのインターフェイスLCD:
シフトレジスタICには8つの出力ピンと3つの入力ピンがあります。6つの出力ピンを使用してLCDに接続し、3つの入力ピンを使用してNodeMCUに接続します。
LCDとICの接続は次のようになります。
LCDのD7ピン== ICのピン1
LCDのD6ピン== ICのピン2
LCDのD5ピン== ICのピン3
LCDのD4ピン== ICのピン4
LCDのRSピン== ICのピン7
LCDのEnピン== ICのピン15
NodeMCUとICの接続:
NodeMCUのD6ピン== ICのピン14、ICのデータピン
NodeMCUのD7ピン== ICのピン12、ICのラッチピン
NodeMCUのD8ピン== ICのピン11、ICのクロックピン
ICのPIN16とPIN10をVccに接続します。
ICのPIN8とPIN13をGNDに接続します。
下の図に従って慎重に回路を作成します。
これで、ハードウェアをプログラムする準備が整いました。
ここで、次の手順に従ってこのリンクhttps://github.com/tehniq3/LiquidCrystal595からダウンロードできるライブラリ「 LiquidCrystal595 」が必要です。
1. ArduinoIDEの Sketch メニューに移動します。
2. [ライブラリ を 含める]を クリックし ます 。
3.次に、[。zipライブラリの追加]をクリックします。指定されたリンクからダウンロードしたzipファイルを選択して完了します。
次に、以下のコードをアップロードすると、LCDを印刷するメッセージが表示されます。
コード:
#include
LiquidCrystal595 lcd()の引数としてデータピン、ラッチピン、クロックピンを指定するだけなので、コードは単純です。 残りのコードは以前と同じです。
このようにして、シフトレジスタを使用してNodeMCUの3つのピンを保存しました。
また、他のマイクロコントローラーとの16x2LCDインターフェースを確認してください。
- PICマイクロコントローラーとのLCDインターフェース
- Pythonを使用したRaspberryPiとの16x2LCDインターフェース
- LCDとATmega32マイクロコントローラーのインターフェース
- 8051マイクロコントローラーとのLCDインターフェース