注釈

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

参加する理由は?

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

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

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

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

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

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

3.4 - 液晶ディスプレイ

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

ご存知のように、LCDやその他のディスプレイは人間と機械とのインタラクションを大いに豊かにしていますが、一つ共通の弱点があります。 それは、コントローラーに接続すると、多数のI/Oポートを占有し、コントローラーの他の機能に制限をかけてしまうことです。 そのため、この問題を解決するためにI2Cバスを備えたLCD1602が開発されました。

pin_i2c

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

必要な部品

このプロジェクトには、以下の部品が必要です。

全体のキットを購入するのが便利です。リンクはこちら:

名前

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

購入リンク

ケプラーキット

450以上

Kepler Ultimate Kit

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

SN

部品紹介

個数

購入リンク

1

Pico Wを知る

1

購入

2

Micro USBケーブル

1

3

ブレッドボード

1

購入

4

ジャンパーワイヤー

数本

購入

5

I2C LCD1602

1

購入

回路図

sch_lcd_ar

配線

wiring_lcd_ar

コード

注釈

  • ファイル 3.4_liquid_crystal_display.ino は、 kepler-kit-main/arduino/3.4_liquid_crystal_display のパスで開くことができます。

  • または、このコードを Arduino IDE にコピーペーストしてください。

  • アップロード ボタンをクリックする前に、ボード(Raspberry Pi Pico)と正確なポートを選択してください。

  • LiquidCrystal I2C ライブラリがここで使用されます。このライブラリは Library Manager からインストールできます。

    ../_images/lib_i2c_lcd.png

コードが正常にアップロードされると、I2C LCD1602に「SunFounder」と「Hello World」が表示されます。

注釈

コードと配線が正しくても、LCDが内容を表示しない場合は、背面のポテンショメータを回してコントラストを上げてみてください。

どのように動作するか?

ライブラリ LiquidCrystal_I2C.h を呼び出すことで、LCDを簡単に制御できます。

#include "LiquidCrystal_I2C.h"

ライブラリ関数

LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows)

Arduinoボードに接続された特定のLCDを表す LiquidCrystal_I2C クラスの新しいインスタンスを作成します。

  • lcd_Addr : LCDのアドレスはデフォルトで0x27です。

  • lcd_cols : LCD1602は16列です。

  • lcd_rows : LCD1602は2行です。

void init()

LCDを初期化します。

void backlight()

(オプションの)バックライトをオンにします。

void nobacklight()

(オプションの)バックライトをオフにします。

void display()

LCDディスプレイをオンにします。

void nodisplay()

LCDディスプレイを素早くオフにします。

void clear()

ディスプレイをクリアし、カーソル位置をゼロに設定します。

void setCursor(uint8_t col,uint8_t row)

カーソル位置をcol,rowに設定します。

void print(data,BASE)

テキストをLCDに出力します。

  • data: 出力するデータ(char、byte、int、long、またはstring)。

  • BASE(オプション): 数値を出力する際の基数:BIN(2進数)、DEC(10進数)、OCT(8進数)、HEX(16進数)。

詳しくは

Pico Wにコードをアップロードすると、シリアルモニターで入力した内容がLCDに表示されます。

注釈

  • ファイル 3.4_liquid_crystal_display_2.ino は、 kepler-kit-main/arduino/3.4_liquid_crystal_display_2 のパスで開くことができます。

  • または、このコードを Arduino IDE にコピーペーストしてください。

  • アップロード ボタンをクリックする前に、ボード(Raspberry Pi Pico)と正確なポートを選択してください。

Pico Wは、電子部品からのデータを読み取るだけでなく、シリアルポートモニターで入力されたデータも読み取れます。 そのため、 Serial.read() を回路実験のコントローラーとして使用できます。

setup() でシリアル通信を実行し、データレートを9600に設定します。

Serial.begin(9600);

loop() でシリアルポートモニターの状態を判断し、データが受信された場合のみ情報処理が行われます。

if (Serial.available() > 0){}

画面をクリアします。

lcd.clear();

シリアルポートモニターで入力値を読み取り、それを変数incomingByteに格納します。

char incomingByte = Serial.read();

各文字をLCDに表示し、改行文字はスキップします。

while (Serial.available() > 0) {
    char incomingByte=Serial.read();
    if(incomingByte==10){break;}// 改行文字をスキップ
    lcd.print(incomingByte);// 各文字をLCDに表示
}