Grove - LCD RGB バックライト
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
単色バックライトに飽きていませんか?この Grove モジュールを使用すると、シンプルで簡潔な Grove インターフェースを介して好きな色に設定できます。このモジュールは、マイクロコントローラーとの通信方法として I2C を採用しています。そのため、データ交換とバックライト制御に必要なピン数が約10本から2本に減少し、他の複雑なタスクのために IO を解放します。さらに、Grove - LCD RGB バックライトはユーザー定義の文字をサポートしています。ハート型やその他の外国語の文字を表示したいですか?この機能を活用してデザインしてください!この製品は Grove - Serial LCD の代替品です。もし基本的な16x2 LCDモジュールを探している場合は、緑黄色バックライトバージョンや青色バックライトバージョンも販売しています。
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.0 | PCB レイアウトの最適化 | 2013年11月 |
Grove-LCD RGB Backlight V4.0 | PCB レイアウトの最適化 | 2016年9月 |
特徴
- RGB バックライト
- I2C 通信
- 内蔵英語フォント
- 16x2 LCD
Grove モジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/) を参照してください。
仕様
項目 | 値 |
---|---|
入力電圧 | 5V |
動作電流 | <60mA |
CGROM | 10880 ビット |
CGRAM | 64x8 ビット |
LCD I2C アドレス | 0X3E |
RGB I2C アドレス | 0X62 |
I2C アドレスは4つあり、LCD と RGB に2つの I2C アドレスを使用します。
対応プラットフォーム
Arduino | Raspberry Pi |
---|---|
上記で対応していると記載されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム用のソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォームに対してソフトウェアライブラリやデモコードを提供することはできません。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。
アプリケーションアイデア
- ヒューマンマシンインターフェース
- スマートハウス
- センサーハブ
以下は参考になるプロジェクトの例です。
Edison Wi-Fi アドレス | WiFi対応温室 | Grove ラッキーダンプリング |
---|---|---|
今すぐ作る! | 今すぐ作る! | 今すぐ作る! |
歯磨きインストラクター | LinkIt ONE ページャー | LinkIt ONE IoT デモ |
---|---|---|
今すぐ作る! | 今すぐ作る! | 今すぐ作る! |
はじめに
Arduinoを初めて使用する場合は、開始する前に[Arduinoの使い方](https://wiki.seeedstudio.com/ja/Getting_Started_with_Arduino/)をご覧になることを強くお勧めします。
Arduinoで遊ぶ
ハードウェア
- ステップ 1. 以下のものを準備してください:
Seeeduino V4.2 | Base Shield | Grove-LCD RGB Backlight |
---|---|---|
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
- ステップ 2. Grove-LCD RGB BacklightをGrove-Base ShieldのI2Cポートに接続します。
- ステップ 3. Grove - Base ShieldをSeeeduinoに差し込みます。
- ステップ 4. USBケーブルを使用してSeeeduinoをPCに接続します。
Grove Base Shieldがない場合でも、以下のようにGrove-LCD RGB BacklightをSeeeduinoに直接接続することができます。
Seeeduino | Grove-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にアップロードしてください。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。
以下は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サポートを追加し、メイン手順を作業エリアにドラッグします。
Codecraftを初めて使用する場合は、[CodecraftでArduinoを使用するガイド](https://wiki.seeedstudio.com/ja/Guide_for_Codecraft_using_Arduino/)も参照してください。
ステップ 2. 以下の画像のようにブロックをドラッグするか、このページの最後からダウンロードできるcdcファイルを開いてください。
プログラムをArduino/Seeeduinoにアップロードします。
コードのアップロードが完了すると、LCDに「hello, world!」とシステムの稼働時間が表示されます。
Raspberry Piで遊ぶ
ハードウェア
- ステップ 1. 以下のものを準備してください:
Raspberry pi | GrovePi_Plus | Grove-LCD RGB Backlight |
---|---|---|
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
- ステップ 2. GrovePi_PlusをRaspberryに差し込みます。
- ステップ 3. Grove-LCD RGB BacklightをGrovePi_PlusのI2Cポートに接続します。
- ステップ 4. USBケーブルを使用してRaspberryをPCに接続します。
ソフトウェア
**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 を使用するにはどうすればよいですか?
- A1: Arduino Software I2C user guide を参照してください。
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);
}
リソース
- [ライブラリ] ソフトウェアライブラリ
- [ドキュメント] このドキュメントのGithubページ
- [Codecraft] CDCファイル
- [データシート] PCA9633
- [データシート] JHD1313
プロジェクト
Particle + Grove LCD RGB Backlight = リアルタイムクロック: Grove LCD RGB BacklightをI2Cを使用してParticleに接続し、時間を表示します。
LCD RGB Groveモジュール:
技術サポート & 製品ディスカッション
弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートを提供しております。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。