注釈

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

参加する理由は?

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

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

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

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

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

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

1.1.7 I2C LCD1602

はじめに

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

必要な部品

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

../_images/list_i2c_lcd.png

全体のキットを購入するのは間違いなく便利です。以下がリンクです:

名前

このキットのアイテム

リンク

Raphael Kit

337

Raphael Kit

以下のリンクから別々に購入することもできます。

コンポーネントの紹介

購入リンク

GPIO拡張ボード

購入

ブレッドボード

購入

ジャンパーワイヤー

購入

I2C LCD1602

購入

回路図

T-Board Name

physical

SDA1

Pin 3

SCL1

Pin 5

../_images/schematic_i2c_lcd.png

実験手順

ステップ1: 回路を作成します。

../_images/image96.png

ステップ2: I2Cの設定をします( I²C 設定 を参照。もしすでにI2Cを設定している場合は、このステップをスキップしてください。)

ステップ3: ディレクトリを変更します。

cd ~/raphael-kit/c/1.1.7/

ステップ4: コードをコンパイルします。

gcc 1.1.7_Lcd1602.c -lwiringPi

ステップ5: 実行ファイルを実行します。

sudo ./a.out

コードを実行した後、LCDに Greetings!, From SunFounder と表示されます。

注釈

  • 実行後に動作しない、またはエラーメッセージ wiringPi.h: No such file or directory が表示された場合、 WiringPiのインストールと確認 を参照してください。

  • Unable to open I2C device: No such file or directory というエラーが表示された場合、 I²C 設定 でI2Cを有効にし、配線が正しいか確認してください。

  • コードと配線が正しくてもLCDに内容が表示されない場合は、背面のポテンショメータを回してコントラストを上げることができます。

コード

コード説明

void write_word(int data){……}
void send_command(int comm){……}
void send_data(int data){……}
void init(){……}
void clear(){……}
void write(int x, int y, char data[]){……}

これらの関数は、I2C LCD1602のオープンソースコードを制御するために使用されます。これにより、I2C LCD1602の使用が容易になります。 これらの関数の中で、 init() は初期化用、 clear() は画面をクリアするためのもの、 write() は表示するものを書き込むためのものであり、他の関数は上記の関数をサポートするためのものです。

fd = wiringPiI2CSetup(LCDAddr);

この関数は、指定されたデバイス記号でI2Cシステムを初期化します。関数のプロトタイプ:

int wiringPiI2CSetup(int devId);

パラメータdevIdは、I2Cデバイスのアドレスで、i2cdetectコマンド(参考文献参照)を使用して見つけることができます。I2C LCD1602のdevIdは通常0x27です。

void write(int x, int y, char data[]){}

この関数の中で、 data[] はLCDに印刷される文字であり、パラメータxとyは印刷位置を決定します(行y+1、列x+1が印刷される文字の開始位置です)。

現象の画像

../_images/image97.jpeg