.. note::
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
**参加する理由は?**
- **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
- **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。
- **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。
- **特別割引**:最新製品の独占割引をお楽しみください。
- **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!
.. _ar_lcd1602:
2.6 文字の表示
===============================
ここでは、I2C LCD1602モジュールを使用した文字表示の魅力的な世界について探求します。
このプロジェクトを通じて、LCDモジュールの初期化、希望の表示パラメータの設定、画面に表示する文字データの送信方法を学びます。カスタムメッセージのショーケース、センサーの読み取りの表示、インタラクティブなメニューの作成などが可能です。可能性は無限大です!
I2C LCD1602で文字表示の技術を習得することにより、プロジェクトでの通信と情報表示の新たな道が開けます。このワクワクする旅に飛び込んで、LCDスクリーンにキャラクターを生き生きと表示しましょう。
**必要な部品**
このプロジェクトには、以下のコンポーネントが必要です。
一式を購入するのが便利ですが、こちらがリンクです:
.. list-table::
:widths: 20 20 20
:header-rows: 1
* - 名前
- このキットのアイテム
- リンク
* - ESP32 Starter Kit
- 320+
- |link_esp32_starter_kit|
以下のリンクから個別に購入することもできます。
.. list-table::
:widths: 30 20
:header-rows: 1
* - コンポーネントの紹介
- 購入リンク
* - :ref:`cpn_esp32_wroom_32e`
- |link_esp32_wroom_32e_buy|
* - :ref:`cpn_esp32_camera_extension`
- |link_esp32_extension_board|
* - :ref:`cpn_wires`
- |link_wires_buy|
* - :ref:`cpn_lcd`
- |link_i2clcd1602_buy|
**利用可能なピン**
こちらは、このプロジェクトにおけるESP32ボードの利用可能なピンのリストです。
.. list-table::
:widths: 5 15
:header-rows: 1
* - 利用可能なピン
- 使用説明
* - IO21
- SDA
* - IO22
- SCL
**回路図**
.. image:: ../../img/circuit/circuit_2.6_lcd.png
**配線図**
.. image:: ../../img/wiring/2.6_i2clcd1602_bb.png
:width: 800
**コード**
.. note::
* ``esp32-starter-kit-main\c\codes\2.6_lcd1602`` のパスの下にある ``2.6_lcd1602.ino`` ファイルを開きます。
* ボード(ESP32 Dev Module)と適切なポートを選択した後、 **アップロード** ボタンをクリックします。
* :ref:`unknown_com_port`
* ここでは ``LiquidCrystal I2C`` ライブラリを使用しています。 **Library Manager** からインストールできます。
.. image:: img/lcd_lib.png
.. raw:: html
このプログラムをアップロードすると、I2C LCD1602は「Hello, Sunfounder!」という歓迎メッセージを3秒間表示します。その後、画面には「COUNT:」というラベルと、1秒ごとにインクリメントされるカウント値が表示されます。
.. note::
コードと配疚が正しくてもLCDに何も表示されない場合は、背面のポテンショメータを調整してコントラストを上げてください。
**どのように動作するのか?**
``LiquidCrystal_I2C.h`` ライブラリを呼び出すことで、LCDを簡単に操作できます。
.. code-block:: arduino
#include
ライブラリ関数:
* Arduinoボードに接続された特定のLCDを表す ``LiquidCrystal_I2C`` クラスの新しいインスタンスを作成します。
.. code-block:: arduino
LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows)
* ``lcd_AddR``: The address of the LCD defaults to 0x27.
* ``lcd_cols``: The LCD1602 has 16 columns.
* ``lcd_rows``: The LCD1602 has 2 rows.
* LCDを初期化します。
.. code-block:: arduino
void init()
* (オプションの)バックライトを点灯します。
.. code-block:: arduino
void backlight()
* (オプションの)バックライトを消灯します。
.. code-block:: arduino
void nobacklight()
* LCDディスプレイを点灯します。
.. code-block:: arduino
void display()
* LCDディスプレイをすばやく消灯します。
.. code-block:: arduino
void nodisplay()
* ディスプレイをクリアし、カーソル位置をゼロに設定します。
.. code-block:: arduino
void clear()
* カーソル位置をcol,rowに設定します。
.. code-block:: arduino
void setCursor(uint8_t col,uint8_t row)
* テキストをLCDに表示します。
.. code-block:: arduino
void print(data,BASE)
* ``data``: 表示するデータ(char, byte, int, long, string)。
* ``BASE (オプション)``: 数字を表示する基数。
* ``BIN`` はバイナリ(基数2)
* ``DEC`` は10進数(基数10)
* ``OCT`` は8進数(基数8)
* ``HEX`` は16進数(基数16)。