💭

Grove LCD RGB Backlightの動作確認

2024/11/26に公開

使ったもの

ライブラリのインストール

ライブラリマネージャーで「grove lcd」で検索

試してみた

HelloWorldがあったので、実行してみる

ソースコード

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

rgb_lcd lcd;

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

void setup() {
    // set up the LCD's number of columns and rows:
    lcd.begin(16, 2);

    lcd.setRGB(colorR, colorG, colorB);

    // Print a message to the LCD.
    lcd.print("hello, world!");

    delay(1000);
}

void loop() {
    // set the cursor to column 0, line 1
    // (note: line 1 is the second row, since counting begins with 0):
    lcd.setCursor(0, 1);
    // print the number of seconds since reset:
    lcd.print(millis() / 1000);

    delay(100);
}

/*********************************************************************************************************
    END FILE
*********************************************************************************************************/

背景が赤くなり、一行目に"hello, world!"、二行目はカウントになった
カーソルで位置を指定し、そこに文字を表示させる動作になっている

// LCDにメッセージを行管理付きで表示
void updateLCD(rgb_lcd &lcd, const String &message) {
    Serial.println(message);
    static String line1 = ""; // 1行目の内容を記録
    static String line2 = ""; // 2行目の内容を記録

    // 1行目に2行目を移動
    line1 = line2;
    // 2行目に新しいメッセージをセット
    line2 = message;

    // 表示を更新
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(line1);
    lcd.setCursor(0, 1);
    lcd.print(line2);
}

こんな関数を作ってみた
この関数でメッセージを送れば、シリアルモニタみたいに新しい文字が二行目に表示され、一つ前に表示した文字が一行目に表示される

Discussion