LCDディスプレイArduinoとは何ですか?
LCDテクノロジーの詳細については、こちらをご覧ください。
Arduinoとは何ですか?
- – Arduinoは、エレクトロニクスプロジェクトの構築に使用されるオープンソースプラットフォームです。 Arduinoは、物理的にプログラム可能なマイクロコントローラーと、コンピューター上で実行されるIDE(統合開発環境)の両方で構成され、コンピューターコードを記述して物理ボードにアップロードするために使用されます。
- – 以前のほとんどのプログラマブル回路基板とは異なり、Arduinoプラットフォーム、Arduinoは、ボードに新しいコードをロードするために別のプログラマーを必要としません—USBケーブルを使用するだけです。 さらに、ArduinoIDEはC++の簡略化されたバージョンを使用しているため、プログラミングの学習が容易になります。
- – Arduinoは、マイクロコントローラーの機能をよりアクセスしやすいパッケージに分割する標準のフォームファクターを提供します。
Arduinoの利点
- –低コスト:マイクロが15ドルから、より強力な32ビット開発ボードが80ドル未満。
- –クロスプラットフォームの実行:Arduinoソフトウェアは、Windows、OSX、およびLinuxオペレーティングシステムで実行できます。
- –シンプルなプログラミング環境:初心者にとって使いやすく、上級ユーザーにとっても柔軟性があります。
- –オープンソースと拡張可能な言語:ArduinoIDEはオープンソースツールに基づいています。 使用されるプログラミング言語は、C ++ライブラリを介して拡張できます。
- –オープンソースで拡張可能なハードウェア:Arduinoは、AtmelのATMEGA8ビットマイクロコントローラーとそのSAM3X8EおよびSAMD21ビットマイクロコントローラーに基づいています。 開発ボードとモジュールは「クリエイティブ・コモンズ・ライセンス契約」に従うことを前提にリリースされる予定であるため、経験豊富な回路設計者は独自のモジュールを作成し、対応する拡張と改善を行うことができます。 比較的経験の浅いユーザーでも、基本的な宇野開発ボードの試用版を作成できます。これは、その動作原理を理解しやすく、コストを節約できます。
- – Arduinoのハードウェアとソフトウェアは、アーティスト、デザイナー、愛好家、ハッカー、初心者、およびインタラクティブなオブジェクトや環境の作成に関心のある人のために設計されました。 Arduinoは、ボタン、LED、モーター、スピーカー、GPSユニット、カメラ、インターネット、さらにはスマートフォンやテレビと対話できます。
Arduinoの種類
- Arduinoの宇野:Unoは最初のArduinoに最適です。
- リリーパッド Arduino:ウェアラブルe-テキスタイルに使用されます。
- Arduinoメガ:ArduinoMegaはUNOの兄のようなものです。 たくさんの(54!)デジタル入力/出力ピンがあります。
- Arduinoのレオナルド:USB内蔵のマイクロコントローラーをXNUMXつ使用したArduino初の開発ボード。 安くて簡単です。 コードライブラリを使用すると、ボードでコンピュータのキーボードやマウスなどをエミュレートできます。
LCDディスプレイArduinoとは何ですか?
LCDは液晶ディスプレイを意味します。 基本的に、Arduinoでは以下を含むすべてのディスプレイを使用できます 英数字LCDディスプレイ, モノクログラフィックLCDディスプレイ, カラーTFT液晶ディスプレイ、IPS液晶ディスプレイ。 次のような非LCDディスプレイにも使用できます。 PMOLEDディスプレイ、AMOLEDディスプレイ、E-ink(E-paper)ディスプレイ。 Orient Displayは、Arduinoで簡単に使用できるイージーインターフェイス(SPI、I2C)ディスプレイを開発しました。
LCDディスプレイの用途は何ですか?
LCDディスプレイは、時計や電卓に最初に使用されました。 今、 LCDディスプレイ技術がディスプレイの世界を支配している、ウェアラブル、スマートホーム、携帯電話、テレビ、ラップトップ、モニター、キオスク、航空機のコックピット、デジタルカメラ、実験器具、送電網などにあります。
LCDディスプレイモジュールとは何ですか?
LCD自体が発光することができます。 それは外部光源を利用しなければなりません。 LCDディスプレイモジュールには通常、LCDガラス(またはLCDパネル)、LCD駆動回路(COG、COB、またはTAB)、およびバックライトが含まれます。
LCDディスプレイ16×2とは何ですか?
LCDディスプレイ16 * 2は、実際には基本的で使いやすいLCDモジュールです。 LCDガラス、COB(Chip on PCB Board)LCD制御ボード、バックライト、LCDガラスと制御ボードを接続するゼブラ、およびすべてをまとめるためのベゼルが含まれています。 16×2LCDディスプレイは16行あたり5文字を表示でき、7行あります。 各文字には、16×2のドットマトリックスピクセルとその下のカーソルがあります。 すべての44780×44780LCDディスプレイは、元々標準のHitachiHD16ドライバーを使用していました。 もちろん、伝説的なHD2コントローラーにはずっと前にEOLがありました。 すべての44780×XNUMXLCDディスプレイは、HDXNUMX互換のLCDコントローラーを使用しています。 それらのいくつかはドロップ置換であり、それらのいくつかは初期化コードを少し変更する必要があります。
16×2LCDディスプレイのピン配列の定義:
ピン1(グランド/ソースピン):これはディスプレイのGNDピンであり、マイクロコントローラユニットまたは電源のGND端子を接続するために使用されます。
ピン2(VCC /ソースピン):これはディスプレイの電圧供給ピンであり、電源の供給ピンを接続するために使用されます。
ピン3(V0 / VEE /制御ピン):このピンはディスプレイの差を調整し、0〜5Vを供給できる変更可能なPOTを接続するために使用されます。
ピン4(RSピンまたはレジスタ選択/制御ピン):このピンは、マイクロコントローラユニットピンを接続するために使用されるコマンドまたはデータレジスタを切り替え、0または1のいずれかを取得します(0 =データモード、1 =コマンドモード)。
ピン5(読み取り/書き込み/制御ピン):このピンは、読み取りまたは書き込み操作の間で表示を切り替え、マイクロコントローラーユニットピンに接続して0または1を取得します(0 =書き込み操作、1 =読み取り操作)。
ピン6(イネーブルピン/制御ピン):このピンは、読み取り/書き込みプロセスを実行するためにハイに保持する必要があり、マイクロコントローラーユニットに接続され、常にハイに保持されます。
ピン7〜14(データピン):これらのピンは、ディスプレイにデータを送信するために使用されます。 これらのピンは、4ビットモードや8ビットモードなどの4線式モードで接続されます。 0線式モードでは、3〜8のように8本のピンのみがマイクロコントローラユニットに接続されますが、0線式モードでは、7本のピンがXNUMX〜XNUMXのようにマイクロコントローラユニットに接続されます。
ピン15(+ ve、またはAピンまたはLEDバックライトアノードピン):このピンは+ 5V電源に接続されています。
ピン16(-ve、またはKピンまたはLEDバックライトカソードピン):このピンはGNDに接続されています。
- 16×2LCDディスプレイレジスタ
16×2LCDには、データレジスタとコマンドレジスタのような0つのレジスタがあります。 RS(レジスタ選択)は、主に1つのレジスタから別のレジスタに変更するために使用されます。 レジスタセットが「XNUMX」の場合、それはコマンドレジスタと呼ばれます。 同様に、レジスタセットが「XNUMX」の場合、それはデータレジスタと呼ばれます。
コマンドレジスタ:コマンドレジスタの主な機能は、ディスプレイに表示されるコマンドの命令を格納することです。 表示のクリア、初期化、カーソル位置の設定、表示制御など、事前定義されたタスクを実行できるようにします。 ここで、コマンド処理はレジスタ内で発生する可能性があります。
データレジスタ:データレジスタの主な機能は、LCD画面に表示される情報を保存することです。 ここで、文字のASCII値は、LCDの画面に表示される情報です。 LCDに情報を送信するたびに、データレジスタに送信され、そこでプロセスが開始されます。 レジスタセット= 1の場合、データレジスタが選択されます。
- LCDコマンド
16×2LCDディスプレイArduino
必要なハードウェア:
- Arduino Board
- LCD画面(Hitachi HD44780ドライバーと互換性があります)
- LCDディスプレイピンにコネクタとしてはんだ付けするためのピンヘッダー
- 10kオームポテンショメータ
- 220オーム抵抗
- フックアップワイヤー
- ブレッドボード
LCDをArduinoに接続します(必ずデータシートを確認するか、特定のLCDのラベルを探してください)
または回路図付き
上の図の抵抗は、LEDバックライトの明るさを設定します。 一般的な値は220オームの抵抗ですが、他の値でも機能します。 抵抗を小さくすると、バックライトが明るくなります。 ポテンショメータは、画面のコントラストを調整するために使用されます。 私は通常10Kオームのポテンショメータを使用しますが、他の値でも機能します。
Arduinoのプログラミング
以下のすべてのコードは、ArduinoIDEにプリインストールされているLiquidCrystalライブラリを使用しています。 ライブラリは、省略形でプログラムに簡単に追加できる関数のセットです。 ライブラリを使用するには、ライブラリがプログラムに含まれている必要があります。 以下のコードの1行目は、コマンド#includeを使用してこれを実行します。 プログラムにライブラリを含めると、ライブラリ内のすべてのコードがプログラムのコードとともにArduinoにアップロードされます。
これで、プログラミングに取り掛かる準備ができました。 すぐにできるもっと面白いことを見ていきますが、とりあえず簡単なテストプログラムを実行してみましょう。 このプログラムは「hello、world!」を出力します。 画面に。 このコードをArduinoIDEに入力し、ボードにアップロードします。
#含む
LiquidCrystal lcd(12、11、5、4、3、2);
voidセットアップ(){
lcd.begin(16、2);
lcd.print(“ Hello、world!”);
}
voidループ(){
}
以下のようなディスプレイがあります、乾杯!
LCDディスプレイオプション:
LiquidCrystalライブラリには19種類の関数があります。 これらの関数は、テキストの位置の変更、画面上でのテキストの移動、またはディスプレイのオンとオフの切り替えなどを行います。 以下は、各関数の簡単な説明と、プログラムでの使用方法です。
液晶()
LiquidCrystal()関数は、ArduinoがLCDに接続するために使用するピンを設定します。 Arduinoのデジタルピンのいずれかを使用してLCDを制御できます。 Arduinoのピン番号を括弧内に次の順序で入力するだけです。
LiquidCrystal(RS、E、D4、D5、D6、D7)
RS、E、D4、D5、D6、D7はLCDピンです。
たとえば、LCDピンD7をArduinoピン12に接続するとします。次のような関数でD12の代わりに「7」を入力するだけです。
LiquidCrystal(RS、E、D4、D5、D6、12)
この関数は、プログラムのvoid setup()セクションの前に配置する必要があります。
lcd.begin()
この関数は、LCDの寸法を設定します。 プログラムのvoidsetup()セクションで、他のLiquidCrystal関数の前に配置する必要があります。 行数と列数はlcd.begin(columns、rows)として指定されます。 16×2LCDの場合はlcd.begin(16、2)を使用し、20×4LCDの場合はlcd.begin(20、4)を使用します。
lcd.clear()
この機能は、LCDにすでに表示されているテキストまたはデータをすべてクリアします。 lcd.print()とともにlcd.clear()を使用し、void loop()セクションでdelay()関数を使用すると、単純な点滅テキストプログラムを作成できます。
lcd.setCursor()
同様ですが、lcd.home()よりも便利なのはlcd.setCursor()です。 この関数は、カーソル(および印刷されたテキスト)を画面上の任意の位置に配置します。 これは、プログラムのvoid setup()またはvoid loop()セクションで使用できます。
カーソル位置はlcd.setCursor(column、row)で定義されます。 列と行の座標はゼロから始まります(それぞれ0-15と0-1)。 たとえば、「hello、world!」のvoid setup()セクションでlcd.setCursor(2、1)を使用します。 上記のプログラムは「hello、world!」を出力します下の行に移動し、右のXNUMXつのスペースに移動します。
#含む//ライブラリを初期化します
液晶液晶(12、11、5、4、3、2);
void setup(){
lcd.begin(16、2);
lcd.setCursor(2、1);
lcd.print(“ Hello、world!”);
}
ボイドループ(){
}
lcd.blink()
この関数は、サイクルごとに約500ミリ秒で点滅するブロックスタイルのカーソルを作成します。 void loop()セクションで使用してください。 関数lcd.noBlink()は、点滅しているブロックカーソルを無効にします。
lcd.display()
この機能は、LCD画面に印刷されたテキストまたはカーソルをオンにします。 関数lcd.noDisplay()は、LCDのメモリからクリアせずに、LCDに出力されたテキストまたはカーソルをオフにします。
これらのXNUMXつの関数をvoidloop()セクションで一緒に使用して、点滅するテキスト効果を作成できます。 このコードは「Hello、World!」になります。 テキストが点滅します。
lcd.scrollDisplayLeft()
この関数は、LCDに印刷されたものをすべて受け取り、それを左に移動します。 void loop()セクションで使用し、その後にdelayコマンドを続ける必要があります。 この関数は、最初の文字にループバックする前に、テキストを40スペース左に移動します。 このコードは「Hello、World!」を動かします左側のテキスト、XNUMX文字あたりXNUMX秒の割合。
lcd.scrollDisplayRight()
この関数はlcd.scrollDisplayLeft()のように動作しますが、テキストを右に移動します。
lcd.autoscroll()
この関数は、テキストの文字列を受け取り、文字列の文字数の増分で右から左にスクロールします。 たとえば、3文字の長さのテキストの文字列がある場合、各ステップでテキストが3スペース左にシフトします。
lcd.noAutoscroll()
lcd.noAutoscroll()は、lcd.autoscroll()関数をオフにします。 void loop()セクションのlcd.autoscroll()の前後にこの関数を使用して、スクロールするテキストまたはアニメーションのシーケンスを作成します。
lcd.rightToLeft()
この関数は、テキストが画面に印刷される方向を設定します。 デフォルトのモードは、コマンドlcd.leftToRight()を使用して左から右になりますが、テキストを逆方向に出力すると便利な場合があります。
lcd.createChar()
このコマンドを使用すると、独自のカスタム文字を作成できます。 16×2LCDの各文字には、5ピクセルの幅と8ピクセルの高さがあります。 8つのプログラムで最大XNUMXつの異なるカスタム文字を定義できます。 独自のキャラクターをデザインするには、カスタムキャラクターのバイナリマトリックスを作成する必要があります。 LCDキャラクタージェネレーター または自分でマップします。 このコードは度記号(°)を作成します。
詳細なLCDチュートリアルは、記事にあります。 ARDUINOLCDセットアップおよびプログラミングガイド またはhttps://github.com/arduino-libraries/LiquidCrystalを確認してください
の違いは何ですか LCDディスプレイArduino と LCDディスプレイラズベリーパイ?
シンプルにする:ArduinoにはOS(オペレーティングシステム)がありませんが、RaspberryPiにはLinuxベースのOSがあります。 以下のようにRespberryPiを探してください。