注釈
こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。
なぜ参加するのか?
専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。
学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。
限定プレビュー:新製品発表や予告編に早期アクセス。
特別割引:最新製品の特別割引を楽しむ。
フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。
👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!
レッスン26: I2C LCD 1602
このレッスンでは、Raspberry Pi Pico WにI2C LCD 1602ディスプレイを接続する方法を学びます。I2C通信の設定方法、MicroPythonを使用してLCDにメッセージを表示およびクリアする方法を理解します。
必要な部品
このプロジェクトでは、以下の部品が必要です。
キット全体を購入すると便利です。リンクはこちら:
Name |
ITEMS IN THIS KIT |
LINK |
|---|---|---|
Universal Maker Sensor Kit |
94 |
以下のリンクから個別に購入することもできます。
Component Introduction |
Purchase Link |
|---|---|
Raspberry Pi Pico W |
|
配線
注釈
LCDモジュールが正常に動作するようにするために、PicoのVBUSピンを使用して電源を供給してください。
コード
注釈
universal-maker-sensor-kit-main/pico/Lesson_26_I2C_LCD1602_Moduleのパスにある26_lcd1602_module.pyファイルを開くか、このコードを Thonny にコピーし、「現在のスクリプトを実行」をクリックするか、F5 キーを押して実行します。詳細なチュートリアルについては コードを直接開いて実行する を参照してください。ここでは
lcd1602.pyを使用する必要があります。Pico W にアップロードされているか確認してください。詳細なチュートリアルについては ライブラリをPicoにアップロードする を参照してください。右下隅にある「MicroPython (Raspberry Pi Pico)」インタープリタをクリックするのを忘れないでください。
from machine import I2C, Pin
from lcd1602 import LCD
import time
# Initialize I2C communication;
# Set SDA to pin 20, SCL to pin 21, and frequency to 400kHz
i2c = I2C(0, sda=Pin(20), scl=Pin(21), 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()
コード解析
I2C通信の設定
machineモジュールを使用してI2C通信を設定します。SDA(シリアルデータ)ピンとSCL(シリアルクロック)ピン(それぞれピン20と21)が定義され、I2Cの周波数(400kHz)が設定されます。from machine import I2C, Pin i2c = I2C(0, sda=Pin(20), scl=Pin(21), freq=400000)
LCDディスプレイの初期化
lcd1602モジュールのLCDクラスをインスタンス化します。このクラスはI2Cを介してLCDディスプレイとの通信を処理します。i2cオブジェクトを使用してLCDオブジェクトが作成されます。lcd1602ライブラリの使用法については、lcd1602.pyを参照してください。from lcd1602 import LCD lcd = LCD(i2c)
LCDへのメッセージ表示
LCDオブジェクトのmessageメソッドを使用して、画面にテキストを表示します。\n文字はLCD上で改行を作成します。time.sleep()関数は、指定された秒数だけ実行を一時停止します。string = "SunFounder\n LCD Tutorial" lcd.message(string) time.sleep(2) lcd.clear()
ディスプレイのクリア
LCDオブジェクトのclearメソッドを呼び出して、ディスプレイからテキストを消去します。lcd.clear()
2つ目のメッセージ表示
新しいメッセージが表示され、遅延の後、再度画面がクリアされます。
string = "Hello\n World!" lcd.message(string) time.sleep(5) lcd.clear()