Skip to main content

Grove - LCD RGB バックライト

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

pir

単色バックライトに飽きていませんか?この Grove モジュールを使用すると、シンプルで簡潔な Grove インターフェースを介して好きな色に設定できます。このモジュールは、マイクロコントローラーとの通信方法として I2C を採用しています。そのため、データ交換とバックライト制御に必要なピン数が約10本から2本に減少し、他の複雑なタスクのために IO を解放します。さらに、Grove - LCD RGB バックライトはユーザー定義の文字をサポートしています。ハート型やその他の外国語の文字を表示したいですか?この機能を活用してデザインしてください!この製品は Grove - Serial LCD の代替品です。もし基本的な16x2 LCDモジュールを探している場合は、緑黄色バックライトバージョンや青色バックライトバージョンも販売しています。

note

Grove-LCD RGB バックライトは V4.0 から V5.0 に更新され、コードも互換性のためにアップグレードされました。これで、新しい互換コードを使用して、より強力な Grove-LCD RGB バックライト V5.0 を駆動できます。

以下は変更履歴です:

  • 新しい 5V/3.3V 互換性。
  • RGB I2C アドレスが 0x62 から 0x30 に変更。
  • RGB ドライバーチップが PCA9632 から SGM31323 に更新。
  • PCB シルクスクリーンが "Grove-LCD RGB Backlight V4.0" から "Grove-LCD RGB Backlight V5.0" に更新。
  • その他の既知の問題を修正。

新しいコード(v4.0 と v5.0 の両方に互換性あり):https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/

バージョン

製品バージョン変更点リリース日
Grove-LCD RGB Backlight V1.0初期版2012年6月
Grove-LCD RGB Backlight V2.0PCB レイアウトの最適化2013年11月
Grove-LCD RGB Backlight V4.0PCB レイアウトの最適化2016年9月

特徴

  • RGB バックライト
  • I2C 通信
  • 内蔵英語フォント
  • 16x2 LCD
tip
Grove モジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/) を参照してください。

仕様

項目
入力電圧5V
動作電流<60mA
CGROM10880 ビット
CGRAM64x8 ビット
LCD I2C アドレス0X3E
RGB I2C アドレス0X62
note
I2C アドレスは4つあり、LCD と RGB に2つの I2C アドレスを使用します。

対応プラットフォーム

ArduinoRaspberry Pi

pir

pir

caution
上記で対応していると記載されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム用のソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォームに対してソフトウェアライブラリやデモコードを提供することはできません。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。

アプリケーションアイデア

  • ヒューマンマシンインターフェース
  • スマートハウス
  • センサーハブ

以下は参考になるプロジェクトの例です。

Edison Wi-Fi アドレスWiFi対応温室Grove ラッキーダンプリング

pir

pir

pir

今すぐ作る!今すぐ作る!今すぐ作る!
歯磨きインストラクターLinkIt ONE ページャーLinkIt ONE IoT デモ

pir

pir

pir

今すぐ作る!今すぐ作る!今すぐ作る!

はじめに

note
Arduinoを初めて使用する場合は、開始する前に[Arduinoの使い方](https://wiki.seeedstudio.com/ja/Getting_Started_with_Arduino/)をご覧になることを強くお勧めします。

Arduinoで遊ぶ

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Seeeduino V4.2Base ShieldGrove-LCD RGB Backlight

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. Grove-LCD RGB BacklightをGrove-Base ShieldのI2Cポートに接続します。
  • ステップ 3. Grove - Base ShieldをSeeeduinoに差し込みます。
  • ステップ 4. USBケーブルを使用してSeeeduinoをPCに接続します。

pir

note
Grove Base Shieldがない場合でも、以下のようにGrove-LCD RGB BacklightをSeeeduinoに直接接続することができます。
SeeeduinoGrove-LCD RGB Backlight
5V
GND
SDA
SCL

ソフトウェア

  • ステップ 1. Grove-LCD RGB BacklightライブラリをGithubからダウンロードします。

  • ステップ 2. ライブラリのインストール方法を参照して、Arduino用のライブラリをインストールします。

  • ステップ 3. ライブラリには以下の12の例があります。

    • Autoscroll
    • Blink
    • Cursor
    • CustomCharacter
    • Display
    • fade
    • HelloWorld
    • Scroll
    • SerialDisplay
    • setColor
    • setCursor
    • TextDirection
  • ステップ 4. 以下の画像を参考にして、例「HelloWorld」を選択し、Arduinoにアップロードしてください。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。

pir

以下はHelloWorld.inoのコードです。

#include <Wire.h>
#include "rgb_lcd.h"

rgb_lcd lcd;

const int colorR = 255;
const int colorG = 0;
const int colorB = 0;

void setup()
{
// LCDの列数と行数を設定
lcd.begin(16, 2);

lcd.setRGB(colorR, colorG, colorB);

// LCDにメッセージを表示
lcd.print("hello, world!");

delay(1000);
}

void loop()
{
// カーソルを列0、行1に設定
// (注意: 行1は2行目を指します。カウントは0から始まります)
lcd.setCursor(0, 1);
// リセットからの経過秒数を表示
lcd.print(millis()/1000);

delay(100);
}
  • ステップ 4. LCDに「hello world」が表示されます。

Codecraftで遊ぶ

ハードウェア

ステップ 1. Groveケーブルを使用して、Grove - LCD RGB BacklightをSeeeduinoのI2Cポートに接続します。Arduinoを使用している場合は、Base Shieldを利用してください。

ステップ 2. USBケーブルを使用してSeeeduino/ArduinoをPCに接続します。

ソフトウェア

ステップ 1. Codecraftを開き、Arduinoサポートを追加し、メイン手順を作業エリアにドラッグします。

note
Codecraftを初めて使用する場合は、[CodecraftでArduinoを使用するガイド](https://wiki.seeedstudio.com/ja/Guide_for_Codecraft_using_Arduino/)も参照してください。

ステップ 2. 以下の画像のようにブロックをドラッグするか、このページの最後からダウンロードできるcdcファイルを開いてください。

pir

プログラムをArduino/Seeeduinoにアップロードします。

tip
コードのアップロードが完了すると、LCDに「hello, world!」とシステムの稼働時間が表示されます。

Raspberry Piで遊ぶ

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Raspberry piGrovePi_PlusGrove-LCD RGB Backlight

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. GrovePi_PlusをRaspberryに差し込みます。
  • ステップ 3. Grove-LCD RGB BacklightをGrovePi_PlusのI2Cポートに接続します。
  • ステップ 4. USBケーブルを使用してRaspberryをPCに接続します。

pir

ソフトウェア

note
 **Raspberry Pi OS >= Bullseye**を使用している場合は、**Python3**でのみ以下のコマンドラインを使用してください。
  • ステップ 1. Setting Software に従って開発環境を設定します。
  • ステップ 2. GitHub リポジトリをクローンします。
cd ~
git clone https://github.com/DexterInd/GrovePi.git
  • ステップ 3. 以下のコマンドを実行して、Grove-LCD RGB Backlight を使用して表示を行います。
cd ~/GrovePi/Software/Python/grove_rgb_lcd
python3 grove_rgb_lcd.py

以下は grove_rgb_lcd.py のコードです。

import time,sys

if sys.platform == 'uwp':
import winrt_smbus as smbus
bus = smbus.SMBus(1)
else:
import smbus
import RPi.GPIO as GPIO
rev = GPIO.RPI_REVISION
if rev == 2 or rev == 3:
bus = smbus.SMBus(1)
else:
bus = smbus.SMBus(0)

# このデバイスには2つのI2Cアドレスがあります
DISPLAY_RGB_ADDR = 0x62
DISPLAY_TEXT_ADDR = 0x3e

# バックライトを (R,G,B) に設定 (各値は0..255)
def setRGB(r,g,b):
bus.write_byte_data(DISPLAY_RGB_ADDR,0,0)
bus.write_byte_data(DISPLAY_RGB_ADDR,1,0)
bus.write_byte_data(DISPLAY_RGB_ADDR,0x08,0xaa)
bus.write_byte_data(DISPLAY_RGB_ADDR,4,r)
bus.write_byte_data(DISPLAY_RGB_ADDR,3,g)
bus.write_byte_data(DISPLAY_RGB_ADDR,2,b)

# ディスプレイにコマンドを送信 (外部使用は不要)
def textCommand(cmd):
bus.write_byte_data(DISPLAY_TEXT_ADDR,0x80,cmd)

# ディスプレイテキストを設定 (\nで2行目または自動折り返し)
def setText(text):
textCommand(0x01) # ディスプレイをクリア
time.sleep(.05)
textCommand(0x08 | 0x04) # ディスプレイオン、カーソルなし
textCommand(0x28) # 2行
time.sleep(.05)
count = 0
row = 0
for c in text:
if c == '\n' or count == 16:
count = 0
row += 1
if row == 2:
break
textCommand(0xc0)
if c == '\n':
continue
count += 1
bus.write_byte_data(DISPLAY_TEXT_ADDR,0x40,ord(c))

# ディスプレイを消去せずに更新
def setText_norefresh(text):
textCommand(0x02) # ホームに戻る
time.sleep(.05)
textCommand(0x08 | 0x04) # ディスプレイオン、カーソルなし
textCommand(0x28) # 2行
time.sleep(.05)
count = 0
row = 0
while len(text) < 32: # 残りの画面をクリア
text += ' '
for c in text:
if c == '\n' or count == 16:
count = 0
row += 1
if row == 2:
break
textCommand(0xc0)
if c == '\n':
continue
count += 1
bus.write_byte_data(DISPLAY_TEXT_ADDR,0x40,ord(c))

# サンプルコード
if __name__=="__main__":
setText("Hello world\nThis is an LCD test")
setRGB(0,128,64)
time.sleep(2)
for c in range(0,255):
setText_norefresh("Going to sleep in {}...".format(str(c)))
setRGB(c,255-c,0)
time.sleep(0.1)
setRGB(0,255,0)
setText("Bye bye, this should wrap onto next line")
  • ステップ 4. Grove-LCD RGB Backlight に「Going to sleep in 1...」のように表示されるのを確認します。

FAQ

  • Q1: 複数の Grove-LCD RGB Backlight を使用するにはどうすればよいですか?

  • Q2: ボタンを使用して Grove RGB LCD に異なるページを表示するにはどうすればよいですか?

    • A2: 以下のコードを参照してください。
#include <Wire.h>
#include "rgb_lcd.h"

rgb_lcd lcd;
const int switchPin = 2;
static int hits = 0;
int switchState = 0;
int prevSwitchState = 0;

void setup() {
lcd.begin(16, 2);
pinMode(switchPin,INPUT);
Serial.begin(9600);
lcd.setCursor(0, 0);
lcd.print("Page 1");
}

void loop() {
switchState = digitalRead(switchPin);
Serial.print("switchState:");Serial.println(switchState);
if (switchState != prevSwitchState) {
if (switchState == HIGH) {
hits = hits + 1;
delay(10);
}
}

Serial.print("hits:");Serial.println(hits);
if(hits==1)
{
Serial.println("Page 1");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Page 1");
}else
if(hits==2)
{
Serial.println("Page 2");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Page 2");
}else

if(hits==3)
{
Serial.println("Page 3");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Page 3");
}else

if ( hits>=4)
{
hits = 0;
Serial.println("couter is reset");
Serial.println("Page 1");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Page 1");
}
delay(500);
}

リソース

プロジェクト

Particle + Grove LCD RGB Backlight = リアルタイムクロック: Grove LCD RGB BacklightをI2Cを使用してParticleに接続し、時間を表示します。

LCD RGB Groveモジュール:

技術サポート & 製品ディスカッション

弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートを提供しております。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。

Loading Comments...