注釈

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!

3.4 液晶ディスプレイ

LCD1602は、キャラクタ型の液晶ディスプレイで、同時に32(16×2)文字を表示することができます。

ご存知のように、LCDやその他のディスプレイは人間とマシンの対話を大いに豊かにしていますが、一つの弱点があります。 それは、コントローラに接続すると、多くのIOポートが占有されてしまうことです。特に、外部ポートの少ないコントローラではこの問題は顕著です。 そのため、この問題を解決するためにI2Cバスを備えたLCD1602が開発されました。

pin_i2c

このセクションでは、I2C0インターフェースを使用してLCD1602を制御し、テキストを表示します。

必要なコンポーネント

このプロジェクトには、以下のコンポーネントが必要です。

一式を購入する方が便利です、リンクはこちら:

名前

このキットに含まれるアイテム

リンク

ケプラーキット

450以上

Kepler Ultimate Kit

以下のリンクから個別にも購入できます。

SN

コンポーネント

数量

リンク

1

Pico Wを知る

1

購入

2

マイクロUSBケーブル

1

3

ブレッドボード

1

購入

4

ジャンパーワイヤー

数本

購入

5

I2C LCD1602

1

購入

回路図

sch_lcd

配線

wiring_lcd

コード

注釈

  • kepler-kit-main/micropython フォルダ内の 3.4_liquid_crystal_display.py ファイルを開くか、このコードをThonnyにコピーしてから「Run Current Script」をクリック、または単にF5キーを押して実行してください。

  • 右下隅にある「MicroPython(Raspberry Pi Pico)」インタープリタをクリックするのを忘れないでください。

  • 詳細なチュートリアルは コードを直接開いて実行する を参照してください。

  • ここでは lcd1602.py というライブラリが必要です。Pico Wにアップロードされているか確認してください。詳細なチュートリアルは 1.4 Picoにライブラリをアップロード を参照してください。

from lcd1602 import LCD
import utime

from machine import I2C, Pin
from lcd1602 import LCD
import time

# Initialize I2C communication;
i2c = I2C(1, sda=Pin(6), scl=Pin(7), freq=400000)

# Create an LCD object for interfacing with the LCD1602 display
lcd = LCD(i2c)

# Display the first message on the LCD
# Use '\n' to create a new line.
string = "SunFounder\n    LCD Tutorial"
lcd.message(string)
# Wait for 2 seconds
time.sleep(2)
# Clear the display
lcd.clear()

# Display the second message on the LCD
string = "Hello\n  World!"
lcd.message(string)
# Wait for 5 seconds
time.sleep(5)
# Clear the display before exiting
lcd.clear()

プログラムを実行すると、LCDには順番に2行のテキストが表示され、その後消えます。

注釈

コードが実行されているときに画面が真っ白な場合、背面のポテンショメータを回してコントラストを調整できます。

動作原理は?

  1. I2C通信の設定

    machine モジュールはI2C通信を設定するために使用されます。 SDA(シリアルデータ)とSCL(シリアルクロック)ピン(それぞれピン20と21)が定義され、I2Cの周波数(400kHz)も設定されます。

    from machine import I2C, Pin
    i2c = I2C(1, sda=Pin(6), scl=Pin(7), freq=400000)
    
  2. LCDディスプレイの初期化

    lcd1602 モジュールの LCD クラスがインスタンス化されます。このクラスは、I2Cを介してLCDディスプレイとの通信を処理します。 i2c オブジェクトを使用して LCD オブジェクトが作成されます。

    lcd1602 ライブラリの詳細な使用方法については、 lcd1602.py を参照してください。

    from lcd1602 import LCD
    lcd = LCD(i2c)
    
  3. LCDにメッセージを表示

    LCD``オブジェクトの ``message メソッドは、画面にテキストを表示するために使用されます。 \n 文字はLCD上に新しい行を作成します。 time.sleep() 関数は、指定された秒数だけ実行を一時停止します。

    string = "SunFounder\n    LCD Tutorial"
    lcd.message(string)
    time.sleep(2)
    lcd.clear()
    
  4. ディスプレイのクリア

    LCD オブジェクトの clear メソッドが呼び出され、ディスプレイからテキストが消去されます。

    lcd.clear()
    
  5. 2つ目のメッセージの表示

    新しいメッセージが表示され、その後遅延が発生し、画面が再びクリアされます。

    string = "Hello\n  World!"
    lcd.message(string)
    time.sleep(5)
    lcd.clear()